racket/collects/games/gobblet/sig.rkt
2010-04-27 16:50:15 -06:00

44 lines
892 B
Racket

(module sig mzscheme
(require mzlib/unitsig)
(provide config^
heuristics^ explore^
model^ restart^)
(define-signature config^
(BOARD-SIZE))
(define-signature heuristics^
(make-3x3-rate-board
make-3x3-canned-moves
make-3x3-no-canned-moves
make-4x4-rate-board
make-4x4-canned-moves))
(define-signature explore^
(make-search
apply-play ; a play is (list piece from-i from-j to-i to-j)
(struct plan (size from-i from-j to-i to-j xform))))
(define-signature model^
(move
winner? 3-in-a-row?
red-pieces yellow-pieces
piece-color piece-size
empty-board
board-ref
fold-board
fold-rowcol
other
available-off-board
compact-board
make-canonicalize
apply-xform unapply-xform
board->string))
(define-signature restart^
(new-game
show-gobblet-help)))