;;;; Programer: Kevin Rosenberg based on code by Peter Norvig
;;;; Date Started: 1 Nov 2001
;;;;
-;;;; $Id: strategies.lisp,v 1.2 2002/10/25 09:23:39 kevin Exp $
+;;;; $Id: strategies.lisp,v 1.5 2003/05/06 15:51:20 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1998-2002 Peter Norvig
;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
;;;;***************************************************************************
-(in-package :reversi)
-(declaim (optimize (safety 1) (debug 3) (speed 3) (compilation-speed 0)))
+(in-package #:reversi)
+(eval-when (:compile-toplevel)
+ (declaim (optimize (safety 1) (space 0) (speed 3) (compilation-speed 0))))
(defun random-strategy (player board)
"Make any legal move."
(make-move move player
(copy-board board))))
moves))
- (best (apply #'max scores)))
- (declare (fixnum moves best))
+ (best (apply #'max scores)))
+ (declare (fixnum best))
(elt moves (position best scores)))))
(eval-when (:compile-toplevel :load-toplevel :execute)
(defstruct (node)
- (square nil :type square)
- (board nil :type board)
- (value nil :type integer))
+ (square(missing-argument) :type square)
+ (board (missing-argument) :type board)
+ (value (missing-argument) :type integer))
(defun alpha-beta-searcher2 (depth eval-fn)
"Return a strategy that does A-B search with sorted moves."
'(random ab3-df ab3-wt ab3-md-wt iago)))
+(defun text-reversi ()
+ "Sets up a text game between player and computer"
+ )