r5105: Auto commit for Debian build
authorKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 12 Jun 2003 13:08:43 +0000 (13:08 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 12 Jun 2003 13:08:43 +0000 (13:08 +0000)
base.lisp
debian/changelog
strategies.lisp
utils.lisp

index bbcd87209a1b349a8d46e9712d395c3f090b8156..cffba2edf75124612bd90cbffc3812830ad14337 100644 (file)
--- a/base.lisp
+++ b/base.lisp
@@ -8,7 +8,7 @@
 ;;;;  Programer:      Kevin Rosenberg based on code by Peter Norvig
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
 ;;;;  Programer:      Kevin Rosenberg based on code by Peter Norvig
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
-;;;; $Id: base.lisp,v 1.4 2003/06/12 12:42:13 kevin Exp $
+;;;; $Id: base.lisp,v 1.5 2003/06/12 13:08:43 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg 
 ;;;; and Copyright (c) 1998-2002 Peter Norvig
 ;;;;
 ;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg 
 ;;;; and Copyright (c) 1998-2002 Peter Norvig
     :clock (make-clock +default-max-minutes+)))
 
 
     :clock (make-clock +default-max-minutes+)))
 
 
-(defun name-of (piece) (char ".@O?" piece))
-(defun title-of (piece) (nth (1- piece) '("Black" "White")) )
+(defun name-of (piece) (schar ".@O?" piece))
+(defun title-of (piece)
+  (declare (fixnum piece))
+  (nth (the fixnum (1- piece)) '("Black" "White")) )
        
 (defmacro opponent (player) 
   `(if (= ,player black) white black))
        
 (defmacro opponent (player) 
   `(if (= ,player black) white black))
   `(the piece (aref (the board ,board) (the square ,square))))
 
 (defparameter all-squares
   `(the piece (aref (the board ,board) (the square ,square))))
 
 (defparameter all-squares
-    (loop for i fixum from 11 to 88 when (<= 1 (mod i 10) 8) collect i)
+    (loop for i fixnum from 11 to 88
+         when (<= 1 (the fixnum (mod i 10)) 8)
+         collect i)
   "A list of all squares")
 
 (defun initial-board ()
   "A list of all squares")
 
 (defun initial-board ()
index 77378cfdd21757d166252dca2c66cdccaf099c5f..f02f03242ad979e352c99fa5c51041d8e0e763ea 100644 (file)
@@ -1,3 +1,9 @@
+cl-reversi (1.0.6-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Thu, 12 Jun 2003 07:08:34 -0600
+
 cl-reversi (1.0.5-1) unstable; urgency=low
 
   * Improve .asd file
 cl-reversi (1.0.5-1) unstable; urgency=low
 
   * Improve .asd file
index c2cade730dbc034d99bba3498b72fec6842ff592..e0e108d1d0ed1320b3c9d25b392570cc6bc82421 100644 (file)
@@ -8,7 +8,7 @@
 ;;;;  Programer:      Kevin Rosenberg based on code by Peter Norvig
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
 ;;;;  Programer:      Kevin Rosenberg based on code by Peter Norvig
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
-;;;; $Id: strategies.lisp,v 1.6 2003/06/12 12:42:13 kevin Exp $
+;;;; $Id: strategies.lisp,v 1.7 2003/06/12 13:08:43 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg 
 ;;;; and Copyright (c) 1998-2002 Peter Norvig
 ;;;;
 ;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg 
 ;;;; and Copyright (c) 1998-2002 Peter Norvig
@@ -24,8 +24,7 @@
   "Make any legal move."
   (declare (type player player)
           (type board board))
   "Make any legal move."
   (declare (type player player)
           (type board board))
-  (random-elt (legal-moves player board)))
-
+  (random-nth (legal-moves player board)))
 
 (defun maximize-difference (player board)
   "A strategy that maximizes the difference in pieces."
 
 (defun maximize-difference (player board)
   "A strategy that maximizes the difference in pieces."
 (defun negate-value (node)
   "Set the value of a node to its negative."
   (declare (fixnum node)
 (defun negate-value (node)
   "Set the value of a node to its negative."
   (declare (fixnum node)
-          (speed 3) (safety 0) (space 0))
+          (optimize (speed 3) (safety 0) (space 0)))
   (setf (node-value node) (- (node-value node)))
   node)
 
   (setf (node-value node) (- (node-value node)))
   node)
 
 
 (defun alpha-beta-searcher3w (depth eval-fn)
   "Return a strategy that does A-B search with killer moves."
 
 (defun alpha-beta-searcher3w (depth eval-fn)
   "Return a strategy that does A-B search with killer moves."
+  (declare (fixnum depth))
   #'(lambda (player board)
       (multiple-value-bind (value move)
           (alpha-beta3w player board losing-value winning-value
   #'(lambda (player board)
       (multiple-value-bind (value move)
           (alpha-beta3w player board losing-value winning-value
   "Total edge evaluation for player to move on board."
   (declare (type board board)
           (type player player)
   "Total edge evaluation for player to move on board."
   (declare (type board board)
           (type player player)
-          (optimize (speed 3) (safety 0) (space 0))
-  (loop for edge-list in *edge-and-x-lists*
-        sum (aref *edge-table*
-                  (edge-index player board edge-list))))
+          (optimize (speed 3) (safety 0) (space 0)))
+  (loop for edge-list of-type (simple-array fixnum (*)) in *edge-and-x-lists*
+      sum (aref *edge-table* (edge-index player board edge-list))))
 
 (defun iago-eval (player board)
   "Combine edge-stability, current mobility and
 
 (defun iago-eval (player board)
   "Combine edge-stability, current mobility and
index 8a3ac40577d047ad9180359642a13ebdab05ab51..8cd387dc1063b78b36cafaa73789a1c40bb94a73 100644 (file)
@@ -7,7 +7,7 @@
 ;;;;  Programer:      Kevin M. Rosenberg
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
 ;;;;  Programer:      Kevin M. Rosenberg
 ;;;;  Date Started:   1 Nov 2001
 ;;;;
-;;;; $Id: utils.lisp,v 1.5 2003/06/12 12:42:13 kevin Exp $
+;;;; $Id: utils.lisp,v 1.6 2003/06/12 13:08:43 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg 
 ;;;;
 ;;;;
 ;;;; This file is Copyright (c) 2001-2003 by Kevin M. Rosenberg 
 ;;;;
   Like mapcon, but uses append instead of nconc."
   (apply #'append (mapcar fn list)))
 
   Like mapcon, but uses append instead of nconc."
   (apply #'append (mapcar fn list)))
 
-(defun random-elt (seq) 
+(defun random-nth (seq)
+  (declare (list seq))
   "Pick a random element out of a sequence."
   "Pick a random element out of a sequence."
-  (elt seq (random (length seq))))
+  (nth (random (length seq)) nth))
 
 (defun concat-symbol (&rest args)
   "Concatenate symbols or strings to form an interned symbol"
 
 (defun concat-symbol (&rest args)
   "Concatenate symbols or strings to form an interned symbol"