<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=ZH-CN link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>Hi, Gustavo:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>Great to hear that you are
thinking of working on this project later on.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>It’s fun to practice
my lisp with this project.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>What’s your plan to
make it a network/web-based multi-user game?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>Further, I modify the graphics/graphics.lisp
slightly to make clearer display: (in red below)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>(in-package
:the-feebs-war)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'> (defun
print-direction (dir)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>  (case dir<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>    </span></font><font
size=1 color=navy face=Arial><span lang=DE style='font-size:9.0pt;font-family:
Arial;color:navy'>(0 #\N)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>    (1 #\E)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>    (2 #\S)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>    (3
#\W)))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>(defun print-map ()<o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'> 
(format t "~%")  ;add this line<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>  </span></font><font
size=1 color=navy face=Arial><span lang=EN-US style='font-size:9.0pt;
font-family:Arial;color:navy'>(dotimes (y *maze-y-size*)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>   
(dotimes (x *maze-x-size*)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>     
(let ((elt (aref *maze* x y)))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>       
(apply 'format t<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>              
(cond<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
((wallp elt) <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                 
(list " XX"))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
((feeb-p (car elt))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                 
(list " F~a"<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                       
(print-direction (feeb-facing (car elt)))))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
((fireball-p (car elt))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                 
(list " *~a" (print-direction (fireball-direction (car elt)))))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
((eq (car elt) :mushroom)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                 
(list " mm"))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
((eq (car elt) :carcass)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                 
(list " cc"))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>                
</span></font><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>(t (list
"   "))))))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=DE
style='font-size:9.0pt;font-family:Arial;color:navy'>    (format
t "~%"))<o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'> 
(format t "~%")) ;add this line<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>(defun simple-play
(&optional layout)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>  (if layout<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>     
(change-layout layout))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>  (make-auto-feebs (-
10 (length *feebs-to-be*)))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>  (initialize-feebs)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>  (start-round)<o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'> 
(loop until (finish-game-p)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>    
do<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>      
(play-one-turn)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>  
    (print-map)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>      
(sleep 0.7))<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'> 
(format t "Game Over!!~%~%Scores:~%~%")<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'> 
(let ((scores nil))<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>   
(dolist (feeb *feebs*)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>     
(push (list (feeb-name feeb) (feeb-score feeb)) scores)) ;collect living feebs'
scores<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>   
(dolist (feeb *dead-feebs*)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>     
(push (list (feeb-name feeb) (feeb-score feeb)) scores)) ;collect dead feebs'
scores<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>   
(sort scores #'> :key
#'second)                              
;sort the scores in decreasing order<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>   
(dolist (score scores)<o:p></o:p></span></font></b></p>

<p class=MsoNormal><b><font size=1 color=red face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:red;font-weight:bold'>     
(format t "~30@<~a:~> ~@d~%" (first score) (second
score)))))  ;print out scores<o:p></o:p></span></font></b></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>Please check if there are
helpful when you have time.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>Best regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'>XIE Wensheng<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=1 color=navy face=Arial><span lang=EN-US
style='font-size:9.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma'>
Gustavo [mailto:gugamilare@gmail.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, August 04, 2010
8:55 AM<br>
<b><span style='font-weight:bold'>To:</span></b>
the-feebs-war-devel@common-lisp.net<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [the-feebs-war-devel]
document reviewed</span></font><span lang=EN-US><o:p></o:p></span></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=1 face=Arial><span lang=EN-US style='font-size:
9.0pt;font-family:Arial'>Hello, XIE Wensheng,<br>
<br>
I'm sorry for not approving your post, but it's been so much time that I've
lost the admin password.<br>
<br>
As you can see, the project is a little dead :S<br>
<br>
I might work on it again at the end of this year or beginning of the next one,
but no promises.</span></font><span lang=EN-US><o:p></o:p></span></p>

<div link=blue vlink=purple>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3 face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'>The
document file has been reviewed and some spelling errors are corrected.</span></font><span
lang=EN-US><o:p></o:p></span></p>

</div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt'><br>
</span></font><font size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;
font-family:Arial'>Thank you for reviewing the .tex file, I'll take a look at
it and commit later, and sorry for the spell mistakes.</span></font><span
lang=EN-US> <o:p></o:p></span></p>

</div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-right:0cm'>

<div link=blue vlink=purple>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'> </span></font><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'>One
question:</span></font><span lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'> </span></font><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'>Why
the parameter ‘fireball-guaranteed-lifetime is not used in the program?</span></font><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;font-family:Arial'>How
to use it?</span></font><span lang=EN-US><o:p></o:p></span></p>

</div>

</div>

</blockquote>

<p class=MsoNormal><font size=1 face=Arial><span lang=EN-US style='font-size:
9.0pt;font-family:Arial'><br>
It's a bug, I missed it, thanks for reporting. Now it is (hopefully) fixed and
committed (fortunately I remember the svn password :)</span></font><span
lang=EN-US><br>
</span><font size=1 face=Arial><span lang=EN-US style='font-size:9.0pt;
font-family:Arial'><br>
In case you wonder, these are the changes: in systems.lisp, create a slot named
lifetime:<br>
<br>
</span></font><font size=1 face="Courier New"><span lang=EN-US
style='font-size:9.0pt;font-family:"Courier New"'>(defclass object ()<br>
  ((direction  :accessor object-direction  :initarg :direction)<br>
   (x-position :accessor object-x-position :initarg :x-position)<br>
   (y-position :accessor object-y-position :initarg :y-position)<br>
   (lifetime   :accessor object-lifetime  
:initarg :lifetime :initform 0)))</span></font><font size=1 face=Arial><span
lang=EN-US style='font-size:9.0pt;font-family:Arial'><br>
<br>
<br>
add a method for make-move:<br>
<br>
</span></font><font size=1 face="Courier New"><span lang=EN-US
style='font-size:9.0pt;font-family:"Courier New"'>(defmethod make-move :after
(object move)<br>
  (incf (object-lifetime object)))</span></font><font size=1 face=Arial><span
lang=EN-US style='font-size:9.0pt;font-family:Arial'><br>
<br>
<br>
and, in definitions/rules.lisp, make these changes:<br>
<br>
</span></font><font size=1 face="Courier New"><span lang=EN-US
style='font-size:9.0pt;font-family:"Courier New"'>(def-feeb-parm
'fireball-guaranteed-lifetime 3<br>
  "Number of turns that a fireball is guaranteed not to dissipate,<br>
unless it encounters a wall.")<br>
<br>
(defmethod make-move-choice ((fireball fireball))<br>
  (cond<br>
   ((wallp (get-forward-pos fireball))<br>
    (if (chance (get-feeb-parm
'fireball-reflection-probability))<br>
        :turn-around<br>
        :dissipate))<br>
   ((and (>= (object-lifetime fireball)<br>
            
(get-feeb-parm 'fireball-guaranteed-lifetime))<br>
         (chance (get-feeb-parm
'fireball-dissipation-probability)))<br>
    :dissipate)<br>
   (t :move-forward)))</span></font><font size=1 face=Arial><span
lang=EN-US style='font-size:9.0pt;font-family:Arial'><br>
<br>
<br>
Regards,<br>
Gustavo.</span></font><span lang=EN-US> <o:p></o:p></span></p>

</div>

</body>

</html>