;;;; 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.3 2002/10/25 12:39:15 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1998-2002 Peter Norvig
(in-package :reversi)
(declaim (optimize (safety 1) (debug 3) (speed 3) (compilation-speed 0)))
-
(defun random-strategy (player board)
"Make any legal move."
(declare (type player player)
(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."