[the-feebs-war-cvs] r14 - definitions documentation graphics

gmilare at common-lisp.net gmilare at common-lisp.net
Sat Feb 16 19:59:51 UTC 2008


Author: gmilare
Date: Sat Feb 16 14:59:50 2008
New Revision: 14

Added:
   definitions/
   documentation/
   graphics/
   the-feebs-war.asd   (contents, props changed)
Removed:
   brains.lisp
   extra.lisp
   feebs.asd
   feebs.tex
   graphics.lisp
   mazes.lisp
   rules.lisp
Modified:
   images.lisp
   main.lisp
   package.lisp
   system.lisp
Log:


Modified: images.lisp
==============================================================================
--- images.lisp	(original)
+++ images.lisp	Sat Feb 16 14:59:50 2008
@@ -1,6 +1,6 @@
 ;;; -*- Common Lisp -*-
 
-#|  Copyright (c) 2007 Gustavo Henrique Milaré
+#|  Copyright (c) 2007,2008 Gustavo Henrique Milar�
 
     This file is part of The Feebs War.
 
@@ -19,7 +19,7 @@
 |#
 
 
-(in-package :feebs)
+(in-package :the-feebs-war)
 
 ;;; This file is an extension of system.lisp which handles vision
 

Modified: main.lisp
==============================================================================
--- main.lisp	(original)
+++ main.lisp	Sat Feb 16 14:59:50 2008
@@ -1,6 +1,6 @@
 ;;; -*- Common Lisp -*-
 
-#|  Copyright (c) 2007 Gustavo Henrique Milaré
+#|  Copyright (c) 2007,2008 Gustavo Henrique Milaré
 
     This file is part of The Feebs War.
 
@@ -19,7 +19,7 @@
 |#
 
 
-(in-package :feebs)
+(in-package :the-feebs-war)
 
 
 

Modified: package.lisp
==============================================================================
--- package.lisp	(original)
+++ package.lisp	Sat Feb 16 14:59:50 2008
@@ -1,6 +1,6 @@
 ;;; -*- Common Lisp -*-
 
-#|  Copyright (c) 2007 Gustavo Henrique Milaré
+#|  Copyright (c) 2007,2008 Gustavo Henrique Milaré
 
     This file is part of The Feebs War.
 
@@ -30,95 +30,96 @@
 ;; Graphics ported to X11 by Fred Gilham 8-FEB-1998.
 
 
-(defpackage :feebs
+(defpackage :the-feebs-war
+  (:nicknames :feebs)
   (:use :common-lisp)
   ;; Export everything we want the players to get their hands on.
   (:export ;; Slots accessors
-	   name facing
-	   x-position y-position peeking line-of-sight
-	   energy-reserve
-	   score kills
-	   ready-to-fire
-	   aborted last-move
-	   
-	   my-square left-square right-square rear-square
-	   
-	   ;; Images
-	   feeb-image-p feeb-image-name
-	   feeb-image-facing feeb-image-peeking
-	   fireball-image-p fireball-image-direction
-
-	   ;; Parameters
-	   get-feeb-parm change-feeb-parm
-	   list-parameter-settings
-
-	   game-length
-
-	   ;; Pontuation
-	   points-for-killing points-for-dying
-	   points-for-slow-down
-
-	   ;; Energy
-	   flame-energy mushroom-energy carcass-energy
-	   maximum-energy 
-	   starting-energy
-	   carcass-rot-probability
-	   carcass-guaranteed-lifetime
-	   
-	   ;; Game quantities
-	   maze-x-size
-	   maze-y-size
-	   number-of-mushrooms
-
-	   ;; Probabilities
-	   fireball-guaranteed-lifetime
-	   fireball-dissipation-probability
-	   fireball-reflection-probability
-	   flame-no-recovery-time
-	   flame-recovery-probability
-	   
-	   ;; Difficulty variables
-	   slow-feeb-noop-switch
-	   slow-feeb-noop-factor
-	   reference-time
-	   sense-location-p
-	   may-get-maze-map-p
-
-	   ;; Settings
-	   define-feeb delete-feeb
-	   feebs
-	   change-layout
-	   get-maze-map
-
-	   ;; Constants
-	   north south east west
-
-	   ;; Some layouts (can be find in mazes.lisp)
-	   *maze-0* *maze-1* *maze-2*
-	   *maze-3* *maze-4* *maze-5*
-	   make-template generate-maze
-
-	   ;; Graphics
-	   create-graphics
-
-	   ;; Extras
-
-	   ;; Directional arithmetic
-	   left-of right-of behind-of
-	   relative-facing
-	   
-	   forward-dx forward-dy
-	   left-dx left-dy
-	   right-dx right-dy
-	   behind-dx behind-dy
+    name facing
+    x-position y-position peeking line-of-sight
+    energy-reserve
+    score kills
+    ready-to-fire
+    aborted last-move
+    
+    my-square left-square right-square rear-square
+    
+    ;; Images
+    feeb-image-p feeb-image-name
+    feeb-image-facing feeb-image-peeking
+    fireball-image-p fireball-image-direction
+    
+    ;; Parameters
+    get-feeb-parm change-feeb-parm
+    list-parameter-settings
+    
+    game-length
+    
+    ;; Pontuation
+    points-for-killing points-for-dying
+    points-for-slow-down
+
+    ;; Energy
+    flame-energy mushroom-energy carcass-energy
+    maximum-energy 
+    starting-energy
+    carcass-rot-probability
+    carcass-guaranteed-lifetime
+    
+    ;; Game quantities
+    maze-x-size
+    maze-y-size
+    number-of-mushrooms
+    
+    ;; Probabilities
+    fireball-guaranteed-lifetime
+    fireball-dissipation-probability
+    fireball-reflection-probability
+    flame-no-recovery-time
+    flame-recovery-probability
+    
+    ;; Difficulty variables
+    slow-feeb-noop-switch
+    slow-feeb-noop-factor
+    reference-time
+    sense-location-p
+    may-get-maze-map-p
+    
+    ;; Settings
+    define-feeb delete-feeb
+    feebs
+    change-layout
+    get-maze-map
+    
+    ;; Constants
+    north south east west
+    
+    ;; Mazes
+    *maze-0* *maze-1* *maze-2*
+    *maze-3* *maze-4* *maze-5*
+    make-template generate-maze
+    
+    ;; Graphics
+    create-graphics
+    
+    ;; Extras
+    
+    ;; Directional arithmetic
+    left-of right-of behind-of
+    relative-facing
+    
+    forward-dx forward-dy
+    left-dx left-dy
+    right-dx right-dy
+    behind-dx behind-dy
+    
+    ;; Others
+    wallp chance
+    
+    ;; Graphics for alpha release
+    simple-play))
 
-	   ;; Others
-	   wallp chance
-
-	   ;; Graphics for alpha release
-	   simple-play))
-
-(in-package :feebs)
+(in-package :the-feebs-war)
 
 
 ;;; Directions
@@ -207,13 +208,6 @@
 
 
 ;;; Current feeb playing
+
 (defvar *playing-feeb* nil)
 (defvar *feebs-to-be* ())
-
-(defmacro aif (test then &optional else)
-  `(let ((it ,test))
-     (if it ,then ,else)))
-
-(defmacro awhen (test &rest body)
-  `(let ((it ,test))
-     (when it , at body)))

Modified: system.lisp
==============================================================================
--- system.lisp	(original)
+++ system.lisp	Sat Feb 16 14:59:50 2008
@@ -1,6 +1,6 @@
 ;;; -*- Common Lisp -*-
 
-#|  Copyright (c) 2007 Gustavo Henrique Milaré
+#|  Copyright (c) 2007,2008 Gustavo Henrique Milaré
 
     This file is part of The Feebs War.
 
@@ -19,7 +19,7 @@
 |#
 
 
-(in-package :feebs)
+(in-package :the-feebs-war)
 
 
 ;;; We start defining the main system rules by defining the classes
@@ -39,13 +39,13 @@
    (x-position :reader x-position :accessor feeb-x-position)
    (y-position :reader y-position :accessor feeb-y-position)
    (line-of-sight :accessor feeb-line-of-sight :reader line-of-sight
-		  :initform 0)
+                  :initform 0)
    (energy-reserve :accessor feeb-energy-reserve :reader energy-reserve)
    (ready-to-fire :accessor feeb-ready-to-fire :reader ready-to-fire
-		  :initform t)
+                  :initform t)
    (aborted :accessor feeb-aborted :reader aborted)
    (last-move :accessor feeb-last-move :reader last-move
-	      :initform :dead)
+              :initform :dead)
 
    ;; These are available for the system
    (brain :accessor feeb-brain :initarg :brain)
@@ -57,11 +57,11 @@
    (turns-since-flamed :accessor feeb-turns-since-flamed :initform 0)
    (proximity :accessor feeb-proximity :initform (make-proximity))
    (vision :accessor feeb-vision
-	   :initform (make-array (list (max *maze-y-size* *maze-x-size*))))
+           :initform (make-array (list (max *maze-y-size* *maze-x-size*))))
    (vision-left :accessor feeb-vision-left
-	   :initform (make-array (list (max *maze-y-size* *maze-x-size*))))
+           :initform (make-array (list (max *maze-y-size* *maze-x-size*))))
    (vision-right :accessor feeb-vision-right
-	   :initform (make-array (list (max *maze-y-size* *maze-x-size*))))))
+           :initform (make-array (list (max *maze-y-size* *maze-x-size*))))))
 
 (defclass fireball (object)
   ((owner :accessor fireball-owner :initarg :owner)
@@ -89,23 +89,23 @@
 
 (defun delete-object (thing x y)
   (setf (aref *maze* x y)
-	(delete thing (aref *maze* x y))))
+        (delete thing (aref *maze* x y))))
 
 (defun place-object (thing x j)
   (push thing (aref *maze* x j)))
 
 (defun change-object-pos (obj x y)
   (delete-object obj (object-x-position obj)
-		 (object-y-position obj))
+                 (object-y-position obj))
   (place-object obj x y)
   (setf (object-x-position obj) x
-	(object-y-position obj) y))
+        (object-y-position obj) y))
 
 (defun get-forward-pos (object)
   (let ((new-x (+ (forward-dx (object-direction object))
-		  (object-x-position object)))
-	(new-y (+ (forward-dy (object-direction object))
-		  (object-y-position object))))
+                  (object-x-position object)))
+        (new-y (+ (forward-dy (object-direction object))
+                  (object-y-position object))))
     (values (aref *maze* new-x new-y) new-x new-y)))
 
 
@@ -124,7 +124,7 @@
   (:method (object x-pos y-pos)
     (place-object object x-pos y-pos)
     (setf (object-x-position object) x-pos
-	  (object-y-position object) y-pos))
+          (object-y-position object) y-pos))
 
   (:method ((feeb feeb) x-pos y-pos)
     (setf (feeb-last-move feeb) :dead)
@@ -134,7 +134,7 @@
   (:method ((fireball fireball) x-pos y-pos)
     (push fireball *fireballs-flying*)
     (setf (object-x-position object) x-pos
-	  (object-y-position object) y-pos))) ; don't place it yet, only after first move
+          (object-y-position object) y-pos))) ; don't place it yet, only after first move
 
 ;;; Reincarnating
 
@@ -150,18 +150,18 @@
 or :dissipate (for fireballs)."
   (:method (object cause)
     (delete-object object (object-x-position object)
-		   (object-y-position object)))
+                   (object-y-position object)))
 
   (:method ((fireball fireball) cause)
     (setf *fireballs-flying*
-	  (delete fireball *fireballs-flying*))
+          (delete fireball *fireballs-flying*))
     (call-next-method))
 
   (:method ((feeb feeb) cause)
     (setf *dead-feebs* (nconc *dead-feebs* (list feeb))
-	  *feebs* (delete feeb *feebs*))
+          *feebs* (delete feeb *feebs*))
     (let* ((x (feeb-x-position feeb))
-	   (y (feeb-y-position feeb)))
+           (y (feeb-y-position feeb)))
       (push (list 0 x y) *carcasses*)
       (place-object :carcass x y))
     (call-next-method)))
@@ -176,11 +176,11 @@
   (:documentation "Lets object make its move choice.")
   (:method ((feeb feeb))
     (funcall (feeb-brain feeb)
-	     feeb
-	     (feeb-proximity feeb)
-	     (feeb-vision feeb)
-	     (feeb-vision-left feeb)
-	     (feeb-vision-right feeb))))
+             feeb
+             (feeb-proximity feeb)
+             (feeb-vision feeb)
+             (feeb-vision-left feeb)
+             (feeb-vision-right feeb))))
 
 
 
@@ -195,21 +195,21 @@
 
   (:method (object (move (eql :turn-right)))
     (setf (object-direction object)
-	  (right-of (object-direction object))))
+          (right-of (object-direction object))))
 
   (:method (object (move (eql :turn-left)))
     (setf (object-direction object)
-	  (left-of (object-direction object))))
+          (left-of (object-direction object))))
 
   (:method (object (move (eql :turn-around)))
     (setf (object-direction object)
-	  (behind (object-direction object))))
+          (behind (object-direction object))))
 
   (:method (object (move (eql :move-forward)))
     (multiple-value-bind (stuff new-x new-y)
-	(get-forward-pos object)
+        (get-forward-pos object)
       (unless (wallp stuff)
-	(change-object-pos object new-x new-y))))
+        (change-object-pos object new-x new-y))))
 
   (:method ((fireball fireball) (move (eql :dissipate)))
     (destroy-object fireball :dissipate))
@@ -218,19 +218,19 @@
     (setf (feeb-turns-since-flamed feeb) 0)
     (create-object
      (make-instance 'fireball :direction (feeb-facing feeb)
-		    :owner feeb)
+                    :owner feeb)
      (feeb-x-position feeb) (feeb-y-position feeb)))
 
   (:method ((feeb feeb) (move (eql :eat-mushroom)))
     (let ((x (feeb-x-position feeb))
-	  (y (feeb-y-position feeb)))
+          (y (feeb-y-position feeb)))
       (when (find :mushroom (aref *maze* x y))
-	(delete-object :mushroom x y)
-	t)))
+        (delete-object :mushroom x y)
+        t)))
 
   (:method ((feeb feeb) (move (eql :eat-carcass)))
     (when (find :carcass (aref *maze* (feeb-x-position feeb)
-			       (feeb-y-position feeb)))
+                               (feeb-y-position feeb)))
       t))
 
   (:method ((feeb feeb) (move (eql :peek-left)))
@@ -242,3 +242,4 @@
       (setf (feeb-peeking feeb) move)))
 
   ) ; end of make-move generic function
+

Added: the-feebs-war.asd
==============================================================================
--- (empty file)
+++ the-feebs-war.asd	Sat Feb 16 14:59:50 2008
@@ -0,0 +1,39 @@
+;;; -*- Common Lisp -*-
+
+(defpackage :feebs-system
+  (:use :cl :asdf))
+
+(in-package :feebs-system)
+
+(defsystem the-feebs-war
+  :description "The Feebs War is a continuation of Planet of the Feebs."
+  :version "0.1"
+  :author "Gustavo Henrique Milaré <gugamilare at gmail.com>"
+  :licence "GPL"
+; :depends-on (lispbuilder-sdl lispbuilder-sdl-image lispbuilder-sdl-gfx)
+    
+  :components
+   (:cl-source-file "package")
+   (:cl-source-file "system" :depends-on ("package"))
+   (:cl-source-file "images" :depends-on ("system"))
+   (:cl-source-file "main"   :depends-on ("images" "system"))
+
+   (:module "definitions"
+     :components
+     (:cl-source-file "utils")
+     (:cl-source-file "rules"  :depends-on ("main"))
+     (:cl-source-file "mazes" :depends-on ("package" "utils"))
+     (:cl-source-file "extra" :depends-on ("package"))
+     (:cl-source-file "brains" :depends-on ("package")))
+     
+   (:module "graphics"
+     :components
+     (:file "graphics"    :depends-on ("main")))
+     
+   ;; GPL
+   (:doc-file "licence")
+     
+   ;; documentation
+   (:module "documentation"
+     :components
+     (:doc-file "feebs.tex")))



More information about the The-feebs-war-cvs mailing list