;;;; Programer: Kevin M. Rosenberg
;;;; Date Started: 1 Nov 2001
;;;;
-;;;; $Id: io-clim.lisp,v 1.2 2002/10/25 09:23:39 kevin Exp $
+;;;; $Id: io-clim.lisp,v 1.12 2003/05/06 15:53:47 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2001-2002 by Kevin M. Rosenberg
;;;;
;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
;;;;***************************************************************************
-(in-package :reversi)
+(in-package #:reversi)
+
+#+mcclim (shadowing-import 'clim-internals::stream-set-cursor-position)
(defparameter cell-inner-width 40)
(defparameter cell-inner-height 40)
id name searcher eval ply strategy start-time
searcher-id eval-id)
-(defun make-gui-player (&key id name strategy searcher-id eval-id ply)
+(defun make-gui-player (&key id name strategy searcher-id eval-id (ply 0))
(let ((p (make-gui-player-struct :id id :ply ply
:name name :strategy strategy
:searcher-id searcher-id :eval-id eval-id))
reversi-help-table)
:menu (("Game"
:menu reversi-game-table
- :mnemonic #\G
+ :keystroke #\G
:documentation "Game commands")
("Help"
:menu reversi-help-table
- :mnemonic #\H
+ :keystroke #\H
:documentation "Help Commands"))))
(:menu-bar t)
(:layouts
record stream state)
state
(multiple-value-bind (xoff yoff)
- (convert-from-relative-to-absolute-coordinates
+ (clim::convert-from-relative-to-absolute-coordinates
stream (output-record-parent record))
(with-bounding-rectangle* (left top right bottom) record
(draw-rectangle* stream
(format stream "Valid Moves~%~A"
(list-to-delimited-string legal-moves #\space)))))
(when (null (player game))
- (if (plusp (final-result game))
- (format stream "Black wins by ~d!" (final-result game))
- (format stream "White wins by ~d!" (- 0 (final-result game)))))))))
+ (cond
+ ((zerop (final-result game))
+ (format stream "It's a draw!"))
+ ((plusp (final-result game))
+ (format stream "Black wins by ~d!" (final-result game)))
+ (t
+ (format stream "White wins by ~d!" (- 0 (final-result game))))))))))
#-(and os-threads microsoft-32)
nil))
-(defun g ()
- (greversi))
-
-(defun greversi ()
+(defun clim-reversi ()
(unless (or *force* (null *reversi-frame*))
(setq *reversi-frame* (make-application-frame 'reversi)))
(setq *reversi-frame* (run-frame 'reversi *reversi-frame*)))