<- Back to Main Doc Page
Original Lisp Implementation
Functions
initialize()
game-play()
clickedon(piece x y)
decide()
ai1()
ai2()
validate-move(x y who)
validate-wall(piece x y)
check-path(xtry ytry who)
find-best-path(xtry ytry who)
find-recursive-path (xtry ytry who right ox oy)
happy-trail(path-keeper xtry ytry)
num-moves(player)
put-wall()
refresh-board(piece x y)
setpics()
Full Code
(in-package :common-graphics-user)
(defvar p1x) (defvar p1y) (defvar p2y) (defvar opy)
(defvar px) (defvar py) (defvar opx) (defvar turny)
(defvar i) (defvar j) (defvar xbest) (defvar yattempt)
(defvar time-left) (defvar dvwalls) (defvar dhwalls) (defvar xattempt)
(defvar vwalls) (defvar hwalls) (defvar stackx) (defvar valid-v-array)
(defvar stacky) (defvar stackz) (defvar player-done) (defvar move-counter)
(defvar turn) (defvar piece) (defvar number-walls) (defvar foo)
(defvar losses) (defvar p2-moves) (defvar p1-moves) (defvar usex)
(defvar tempv) (defvar temph) (defvar path-keeper) (defvar usey)
(defvar valid) (defvar good-move) (defvar valid-wall) (defvar useai)
(defvar counter) (defvar done) (defvar valid-h-array) (defvar do-num-moves)
(defvar placer) (defvar rand-num) (defvar current-num) (defvar num-right)
(defvar our-move) (defvar path-keeper2) (defvar num-left) (defvar pme-moves)
(defvar do-wall) (defvar ybest) (defvar current-best) (defvar cx)
(defvar count) (defvar counter2) (defvar counter3) (defvar cy)
(defvar xtest) (defvar ytest) (defvar biggest-num) (defvar current-wall)
(defvar foo1) (defvar wall-type) (defvar human1) (defvar human2)
(defvar counter9) (defvar turnme) (defvar turnhim) (defvar phim-moves)
(defvar goodihope) (defvar myrand) (defvar p2x) (defvar vwalls-bu)
(defvar z-six) (defvar z-six2) (defvar hwalls-bu) (defvar ppx)
(defvar ppy) (defvar pwent) (defvar nump1walls) (defvar nump2walls)
(defvar start-game) (defvar ppath) (defvar howmany)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This is performed when the button "player vs computer" is clicked
View C++ Equivalent
(defun form1-start-p-vs-c-on-click (dialog widget)
(declare (ignore-if-unused dialog widget))
(setf human1 1 human2 nil)
(initialize)
(game-play)
t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This is performed when the button "player vs player" is clicked
View C++ Equivalent
(defun form1-start-p-vs-p-on-click (dialog widget)
(declare (ignore-if-unused dialog widget))
(setf human1 1 human2 1)
(initialize)
(game-play)
t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; initialize ;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;;
(defun initialize()
(setq start-game 1)
(setq turn 1)
(setf vwalls (make-array '(8 7) :initial-element 0))
(setf hwalls (make-array '(7 8) :initial-element 0))
(setq p1x 7 p1y 3)
(setq p2x 0 p2y 4)
(setq current-wall 46)
(setq nump1walls 9)
(setq nump2walls 9)
(setf pwent nil)
(setf valid-wall 0)
(if (not (boundp 'losses))
(setf losses 0))
(setf useai 1)
(setpics)
) ;end initialize
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; game-play ;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;;
(defun game-play()
(prog()
loopagain
(cond ((and (= turn 1) human1 (not pwent)) ;we need to wait for human to click
(set-dialog-item-value (widget ':display ':form1) "Please move")
(set-dialog-item-value (widget ':pdisplay ':form1) "White token's turn")
(return)))
(cond ((and (= turn 2) human2 (not pwent)) ;we need to wait for human to click
(set-dialog-item-value (widget ':pdisplay ':form1) "Black token's turn")
(set-dialog-item-value (widget ':display ':form1) "Please move")
(return)))
(if (and (= turn 1) (not human1)) ;the computer will play
(decide))
(if (and (= turn 2) (not human2)) ;the computer will play
(decide))
;determine if there's a winner
(case turn
(1 (cond ((= p1x 0)
(setq start-game 0)
(set-dialog-item-value (widget ':pdisplay ':form1) "White token wins!!")
(set-dialog-item-value (widget ':display ':form1) "Please choose a new game")
(return))))
(2 (cond ((= p2x 7)
(setq start-game 0)
(set-dialog-item-value (widget ':pdisplay ':form1) "Black token wins!!")
(set-dialog-item-value (widget ':display ':form1) "Please choose a new game")
(return)))))
(if (and (= turn 1) pwent)
(setf turn 2 pwent nil)
(setf turn 1 pwent nil))
(go loopagain)
) ;end prog
) ;end game-play
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; clickedon ;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;;
(defun clickedon(piece x y)
(prog ()
(if (not (= start-game 1)) (return)) ;Don't let them start if new game wasn't clicked yet
(setf good-move 0 valid-wall 0)
;this determines if player clicked a wall or square and calls an appropriate function
(princ '"I will evaluate : ")(princ piece)(princ '" ")(princ x)(princ '" ")(princ y)(terpri)
(case piece
("M" (validate-move x y turn))
(t (validate-wall piece x y)))
(if (= valid-wall 1)(setf good-move 1))
(princ '"good-move = ")(princ good-move)(terpri)
;draw the new pieces if valid
(case good-move
(1 (cond ((not (string= piece "M"))
(setf current-wall (+ current-wall 3))
(if (= turn 1)(setf nump1walls (1- nump1walls))
(setf nump2walls (1- nump2walls)))
(if (string= piece "H")
(progn
(setf (aref hwalls x y) current-wall)
(setf (aref hwalls x (1+ y)) current-wall))
(progn
(setf (aref vwalls x y) current-wall)
(setf (aref vwalls (1- x) y) current-wall)))))
(refresh-board piece x y))
(0 (set-dialog-item-value (widget ':display ':form1) "You must enter a valid move")(return)))
(setf pwent 1) ;show that the human made a valid move
(if (and (= turn 1)(string= piece "M")) ;set where we want to go to where we are
(setf p1x x p1y y))
(if (and (= turn 2)(string= piece "M"))
(setf p2x x p2y y))
(game-play)
) ;end prog
) ;end function clickedon
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;; decide ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; This function is called by game-driver, which passes in Danny's wall arrays,
;; the player's coordinates, and our remaining time.
;; Decide calls convert-from-danny, which converts his coordinates (vwalls, hwalls, and player
;; positions) into ours.
;; If our current number of losses is a multiple of 5, we increment ai (use the other one).
;; If we have lost 40 times, we try our desperation-ai. If it fails five times, the program will
;; go back to using the other ai's.
;; Decide calls convert-to-danny, which converts our prepared move into Danny's coordinate system.
;;
;; Preconditions: Danny has passed us player's coordinates, walls, and time-left.
;; intialized has been called.
;;
;; Post-conditions: An AI has been chosen.
;; A valid move has been chosen and converted back to Danny's coordinate system.
;;
;; Returns: Nothing.
;;
(defun decide()
(prog ()
(set-dialog-item-value (widget ':display ':form1) "The Computer is Thinking...")
;this decides what AI to use based on our number of losses
(if (= (mod losses 5) 0)
(setf useai (1+ useai)))
(if (= useai 3)
(setf useai 1))
(case useai
(1 (ai1))
(2 (ai2)))
(refresh-board piece xbest ybest) ;reset the board to update our move
(if (and (= turn 1)(string= piece "M")) ;set where we want to go to where we are
(setf p1x xbest p1y ybest))
(if (and (= turn 2)(string= piece "M"))
(setf p2x xbest p2y ybest))
;this goes after we figured out our best move
;(setf our-move (list piece xbest ybest))
) ;ends prog
) ;end decide
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;; ai1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; This function checks to see if the opponent has an advantage (can
;; win in less moves). If so, calls put-wall to place a wall to block
;; opponent. If not, moves player.
;;
(defun ai1 ()
(if (= turn 1) (setf turnme 1 turnhim 2)(setf turnme 2 turnhim 1))
(setf phim-moves (num-moves turnhim))
(setf pme-moves (num-moves turnme))
(cond ((and (> pme-moves (1- phim-moves))(or (and (= turn 2)(< p1x 4))(and (= turn 1)(> p2x 3))))
(put-wall)
(cond ((= valid-wall 0)
(setf piece "M")
(num-moves turnme))))
(t
(setf piece "M")))
) ;end ai1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;; ai2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; (it does artificially intelligent things)
;; This function determines the number of moves each player needs to make to win.
;; If the opponent is within 2 moves of its goal, ai1 calls put-wall. If a valid
;; wall was found, it is placed. If not, the player moves.
;;
(defun ai2 ()
(prog (p-moves turnme turnhim)
(if (= turn 1) (setf turnme 1 turnhim 2)(setf turnme 2 turnhim 1))
(if (or (and (= turn 1)(> p2x 4))(and (= turn 2)(< p1x 3)))
(setf p-moves (num-moves turnhim))
(setf p-moves 25))
(if (< p-moves 3)
(setf do-wall 1)
(setf do-wall nil))
(cond ((not do-wall)
(setf piece "M")
(num-moves turnme)
(return))
(t (put-wall)
(if (= valid-wall 1)
(return)
(progn (setf piece "M")(num-moves turnme)))))
) ;end prog
) ;end ai2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;; validate-move ;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; This function will find all valid moves around player 'who' and set
;; an array called 'valid' to the list of valid moves. It then checks that
;; array to see if the coordiantes that we passed in are indeed valid coordinates.
;; It returns 'good-move', if good-move = 1 then your the move is valid
;; if good-move = 0 then your move is not valid
;;
;; Pre-conditions: Hwalls and vwalls are initiated with numbers.
;; P1x, p1y, p2x, p2y contain the players current positions.
;;
;; Post-conditions: Valid contains an array of all possible moves from x,y.
;; Good-move contains either a 1 or 0.
;;
;; Returns: returns good-move, if a 1 then move is valid, if a zero move is invalid
;;
(defun validate-move(x y who)
;set varibles depending if it is player 1's turn or player 2's turn
(setf good-move 0)
(case who
(1 (setf px p1x py p1y opx p2x opy p2y))
(2 (setf px p2x py p2y opx p1x opy p1y)))
;create array of valid moves
(setf valid (make-array '(2 13) :initial-element 9))
;check for walls
(cond ((and (>= (- px 1) 0) (= (aref hwalls (- px 1) py) 0)) ;check above
(setf (aref valid 0 0) (1- px))
(setf (aref valid 1 0) py)))
(cond ((and (< px 7) (= (aref hwalls px py) 0)) ;check below
(setf (aref valid 0 1) (1+ px))
(setf (aref valid 1 1) py)))
(cond ((and (< py 7) (= (aref vwalls px py) 0)) ;check right
(setf (aref valid 0 2) px)
(setf (aref valid 1 2) (1+ py))))
(cond ((and (>= (- py 1) 0) (= (aref vwalls px (- py 1)) 0)) ;check left
(setf (aref valid 0 3) px)
(setf (aref valid 1 3) (1- py))))
;to check if can jump up
(cond ((and (>= (- px 2) 0) (>= (1- px) 0) ;won't read out of the array
(= (1- px) opx) (= py opy) ;if opponent in square above me
(= (aref hwalls (1- px) py) 0) ;no wall above me
(= (aref hwalls (- px 2) py) 0)) ;no wall above opponent
(setf (aref valid 0 4) (- px 2))
(setf (aref valid 1 4) py)))
(cond ((and (>= (- px 2) 0) (>= (1- py) 0) ;won't read out of the array
(= (1- px) opx) (= py opy) ;if opponent in square above me
(= (aref hwalls (1- px) py) 0) ;no wall above me
(> (aref hwalls (- px 2) py) 0) ;wall blocking above opponent
(= (aref vwalls (1- px) (1- py)) 0)) ;no wall to left of opponent
(setf (aref valid 0 5) (1- px))
(setf (aref valid 1 5) (1- py))))
(cond ((and (>= (- px 2) 0) (< (1+ py) 8) ;won't read out of the array
(= (1- px) opx) (= py opy) ;if opponent in square above me
(= (aref hwalls (1- px) py) 0) ;no wall above me
(> (aref hwalls (- px 2) py) 0) ;wall blocking above opponent
(= (aref vwalls (1- px) py) 0)) ;no wall to right of opponent
(setf (aref valid 0 6) (1- px))
(setf (aref valid 1 6) (1+ py))))
;to check if can jump down
(cond ((and (<= (+ px 2) 7) (<= (1+ px) 7) ;won't read out of the array
(= (1+ px) opx) (= py opy) ;if opponent in square below me
(= (aref hwalls px py) 0) ;no wall below me
(= (aref hwalls (1+ px) py) 0)) ;no wall below opponent
(setf (aref valid 0 4) (+ px 2))
(setf (aref valid 1 4) py)))
(cond ((and (<= (1+ px) 7) (>= (1- py) 0) ;won't read out of the array
(= (1+ px) opx) (= py opy) ;if opponent in square below me
(= (aref hwalls px py) 0) ;no wall below me
(> (aref hwalls (1+ px) py) 0) ;wall blocking below opponent
(= (aref vwalls (1+ px) (1- py)) 0)) ;no wall to left of opponent
(setf (aref valid 0 5) (1+ px))
(setf (aref valid 1 5) (1- py))))
(cond ((and (<= (1+ px) 7) (< (1+ py) 8) ;won't read out of the array
(= (1+ px) opx) (= py opy) ;if opponent in square below me
(= (aref hwalls px py) 0) ;no wall below me
(> (aref hwalls (1+ px) py) 0) ;wall blocking below opponent
(= (aref vwalls (1+ px) py) 0)) ;no wall to right of opponent
(setf (aref valid 0 6) (1+ px))
(setf (aref valid 1 6) (1+ py))))
;to check if can jump left
(cond ((and (>= (- py 2) 0) (>= (- py 2) 0) ;won't read out of the array
(= px opx)(= (1- py) opy) ;if opponent in square on left
(= (aref vwalls px (1- py)) 0) ;no wall to left of me
(= (aref vwalls px (- py 2)) 0)) ;no wall to left of opponent
(setf (aref valid 0 7) px)
(setf (aref valid 1 7) (- py 2))))
(cond ((and (>= (1- px) 0) (>= (- py 2) 0) ;won't read out of the array
(= px opx) (= (1- py) opy) ;if opponent in square on eft
(= (aref vwalls px (1- py)) 0) ;no wall to left of me
(> (aref vwalls px (- py 2)) 0) ;wall blocking to left of opponent
(= (aref hwalls (1- px) (1- py)) 0)) ;no wall above opponent
(setf (aref valid 0 8) (1- px))
(setf (aref valid 1 8) (1- py))))
(cond ((and (<= (1+ px) 7) (>= (- py 2) 0) ;won't read out of the array
(= px opx) (= (1- py) opy) ;if opponent in square on left
(= (aref vwalls px (1- py)) 0) ;no wall to left of me
(> (aref vwalls px (- py 2)) 0) ;wall blocking to left of opponent
(= (aref hwalls opx opy) 0)) ;no wall below opponent
(setf (aref valid 0 9) (1+ px))
(setf (aref valid 1 9) (1- py))))
;to check if can jump right
(cond ((and (<= (+ py 2) 7) (< (1+ py) 7) ;won't read out of the array
(= (1+ py) opy) (= px opx) ;if opponent in square on right
(= (aref vwalls px py) 0) ;no wall to right of me
(= (aref vwalls px (1+ py)) 0)) ;no wall to right of opponent
(setf (aref valid 0 10) px)
(setf (aref valid 1 10) (+ py 2))))
(cond ((and (>= (1- px) 0) (< (1+ py) 7) ;won't read out of the array
(= (1+ py) opy) (= px opx) ;if opponent in square on right
(= (aref vwalls px py) 0) ;no wall to right of me
(> (aref vwalls px (1+ py)) 0) ;wall blocking to right of opponent
(= (aref hwalls (1- px) (1+ py)) 0)) ;no wall above opponent
(setf (aref valid 0 11) (1- px))
(setf (aref valid 1 11) (1+ py))))
(cond ((and (<= (1+ px) 7) (< (1+ py) 7) ;won't read out of the array
(= (1+ py) opy) (= px opx) ;if opponent in square on right
(= (aref vwalls px py) 0) ;no wall to right of me
(> (aref vwalls px (1+ py)) 0) ;wall blocking to right of opponent
(= (aref hwalls opx opy) 0)) ;no wall below opponent
(setf (aref valid 0 12) (1+ px))
(setf (aref valid 1 12) (1+ py))))
;this loop rules out jumping on ourselves
(prog ()
(setf foo 0)
loopvalid
(if (and (= (aref valid '0 foo) opx) (= (aref valid '1 foo) opy))
(setf (aref valid '0 foo) 9 (aref valid '1 foo) 9 good-move 0))
(setf foo (1+ foo))
(if (< foo 13)
(go loopvalid)))
;check to see if player made a valid move
(prog ()
(setf foo 0)
loop
(if (and (= x (aref valid '0 foo)) (= y (aref valid '1 foo)))
(setf good-move 1))
(setf foo (1+ foo))
(if (< foo 13)
(go loop)))
(eval good-move)
) ;end function validate-move
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;; validate-wall ;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; Validate-wall will check the coordiantes you pass in and determine if that
;; is a valid wall. It does NOT actually place a wall when it is finished.
;;
;; Pre-conditions: Hwalls and vwalls must be filled with numbers.
;; P1x, p1y, p2x, p2y contain the coordinates for each player.
;;
;; Post-conditions: valid-wall will contain a -> 0 = piece,x,y is not a valid wall
;; -> 1 = piece,x,y is a valid wall.
;;
;; Returns: Nothing.
;;
(defun validate-wall (piece x y)
(prog ()
(if (= turn 1)
(setf number-walls nump1walls)
(setf number-walls nump2walls))
(setf valid-wall 0)
(case piece
("V" (if (or (> y 6)(< y 0) (<= x 0)(> x 7)(= number-walls 0)) ;if we're putting a wall at the edge of the board
(return)))
("H" (if (or (> y 6)(< y 0) (< x 0)(> x 6)(= number-walls 0)) ;if we're putting a wall at the edge of the board
(return))))
(cond ((string= piece "V")
(cond ((or (> (aref vwalls x y) 0) ;if there is a wall already there
(> (aref vwalls (1- x) y) 0) ;if there is a wall already there
(and (> (aref hwalls (1- x) y) 0) ;if we're trying to put a wall in-between walls
(= (aref hwalls (1- x) y) (aref hwalls (1- x) (1+ y)))))
(return)))
(setf (aref vwalls x y) 899) ;let's put a test wall in
(setf (aref vwalls (1- x) y) 899) ;then, we'll check if it's valid
(check-path p1x p1y 1) ;checking if our wall is valid
(cond ((= valid-wall 0) ;if that wall is not valid,
(setf (aref vwalls x y) 0) ;remove our test walls and return
(setf (aref vwalls (1- x) y) 0)
(return)))
(check-path p2x p2y 2) ;check if our wall is valid for player 2
(setf (aref vwalls x y) 0) ;remove our test walls
(setf (aref vwalls (1- x) y) 0))
((string= piece "H")
(cond ((or (> (aref hwalls x y) 0) ;if there is a wall already there
(> (aref hwalls x (1+ y)) 0) ;if there is a wall already there
(and (> (aref vwalls x y) 0) ;if we're trying to put a wall in-between walls
(= (aref vwalls x y) (aref vwalls (1+ x) y))))
(return)))
(setf (aref hwalls x y) 899) ;let's put a test wall in
(setf (aref hwalls x (1+ y)) 899) ;then we'll check if it's valid
(check-path p1x p1y 1) ;check if our wall is valid for player 1
(cond ((= valid-wall 0) ;if that wall is not valid,
(setf (aref hwalls x y) 0) ;remove our test walls and return
(setf (aref hwalls x (1+ y)) 0)
(return)))
(check-path p2x p2y 2) ;check if our wall is valid for player 2
(setf (aref hwalls x y) 0) ;remove our test walls
(setf (aref hwalls x (1+ y)) 0)))
) ;end prog
) ;end function validate-wall
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;; check-path ;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; This function checks for a valid path from (xtry, ytry) for player
;; who. If one exists, valid-wall is set to 1, and 1 is returned.
;;
(defun check-path (xtry ytry who)
(prog (stackx stacky stackz path-keeper placer)
(setf path-keeper (make-array '(8 8)))
(setf placer 1)
(setf valid-wall 0)
(setf stackx nil)
(setf stacky nil)
(setf stackz nil)
begin-loop
(cond ((not (aref path-keeper xtry ytry)) (setf (aref path-keeper xtry ytry) 1)))
(case who
(1 (if (= xtry 0) (setf valid-wall 1)))
(2 (if (= xtry 7) (setf valid-wall 1))))
(cond ((= valid-wall 1)
(return)))
(case placer
(2 (go placer2))
(3 (go placer3))
(4 (go placer4)))
(setf placer (1+ placer))
(if (not (= xtry 0))
(cond ((and (= (aref hwalls (1- xtry) ytry) 0) (not (aref path-keeper (1- xtry) ytry)))
(setf stackx (cons xtry stackx))
(setf stacky (cons ytry stacky))
(setf stackz (cons placer stackz))
(setf xtry (1- xtry))
(setf placer 1)
(go begin-loop))))
(if (= valid-wall 1) (return))
placer2
(setf placer (1+ placer))
(if (not (= ytry 7))
(cond ((and (= (aref vwalls xtry ytry) 0) (not (aref path-keeper xtry (1+ ytry))))
(setf stackx (cons xtry stackx))
(setf stacky (cons ytry stacky))
(setf stackz (cons placer stackz))
(setf ytry (1+ ytry))
(setf placer 1)
(go begin-loop))))
placer3
(setf placer (1+ placer))
(if (not (= ytry 0))
(cond ((and (= (aref vwalls xtry (- ytry 1)) 0) (not (aref path-keeper xtry (1- ytry))))
(setf stackx (cons xtry stackx))
(setf stacky (cons ytry stacky))
(setf stackz (cons placer stackz))
(setf ytry (1- ytry))
(setf placer 1)
(go begin-loop))))
placer4
(setf placer (1+ placer))
(if (not (= xtry 7))
(cond ((and (= (aref hwalls xtry ytry) 0) (not (aref path-keeper (1+ xtry) ytry)))
(setf stackx (cons xtry stackx))
(setf stacky (cons ytry stacky))
(setf stackz (cons placer stackz))
(setf xtry (1+ xtry))
(setf placer 1)
(go begin-loop))))
(cond ((not (not (car stackx)))
(setf xtry (car stackx))
(setf stackx (cdr stackx))
(setf ytry (car stacky))
(setf stacky (cdr stacky))
(setf placer (car stackz))
(setf stackz (cdr stackz))
(go begin-loop)))
) ;end prog
) ;end check-path
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;; find-best-path ;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; find-best-path uses values in path-keeper to map out the
;; best path from position (xtry, ytry) for
;; player 'who- if 'right is 1, function prefers
;; to go to the right, else goes left
;;
;; Preconditions: Vwalls and hwalls contain a valid wall configuration.
;; Find-recursive-path has been run.
;; Postconditions: The appropriate array (pk-p1-right, pk-p1-left, pk-p2-right, pk-p2-left)
;; contains the best path possible for player 'who from (xtry, ytry) to goal.
;; Returns: The number of moves in the best possible path.
;;
(defun find-best-path (xtry ytry who)
(setf path-keeper2 (make-array '(8 8))) ;;resets path-keeper2 with nils
(setf count 0) ;;resets count, used to prevent infinite loops (not that they ever happen)
(setf move-counter 0) ;;resets the move-counter
(setf player-done 0) ;;resets flag-variable, set to 1 when player has finished
(prog ()
begin-loop ;;label used to imitate a structured programming loop
(setf done 0) ;;resets flag-variable done to 0, "not done"
(setf count (1+ count)) ;;begins counting iterations to prevent infinite loop
(cond ((= count 38) (return move-counter))) ;;if the player isn't done in 38 moves (worst possible board)
;;returns whatever the move-counter currently is
(setf (aref path-keeper2 xtry ytry) 1) ;;mark this move in path-keeper2 (contains the best path)
(setf move-counter (1+ move-counter)) ;;increments move-counter (because player just moved)
;;if a player has won, trips flag to end this loopy function
(case who
(1 (if (= xtry 0) (setf player-done 1)))
(2 (if (= xtry 7) (setf player-done 1))))
(setf placer (aref path-keeper xtry ytry))
;;if player is done, saves the created path in the appropriate array (for debugging reference)
;;and returns move-counter
(cond ((= player-done 1)
(return move-counter)))
;;uses placer to move the correct direction
(case placer
(1 (go placer1))
(2 (go placer2))
(3 (go placer3))
(4 (go placer4)))
;;move up for either player
placer1
(if (not (= xtry 0))
(cond ((= (aref hwalls (1- xtry) ytry) 0)
(setf xtry (1- xtry))
(go begin-loop))))
;;will move right
placer2
(if (not (= ytry 7))
(cond ((= (aref vwalls xtry ytry) 0)
(setf ytry (1+ ytry))
(go begin-loop))))
;;will move left
placer3
(if (not (= ytry 0))
(cond ((= (aref vwalls xtry (- ytry 1)) 0)
(setf ytry (1- ytry))
(go begin-loop))))
;;will move down for either player
placer4
(if (not (= xtry 7))
(cond ((= (aref hwalls xtry ytry) 0)
(setf xtry (1+ xtry))
(go begin-loop))))
) ;end prog
(eval move-counter)
) ;end find-best-path
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;; find-recursive-path ;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent (named FindPath)
;;
;; find-recursive-path will iteratively imitate recursion
;; (using stacks) to find a path from (xtry, ytry) to the
;; the goal of player 'who. If right is 1 (true) this
;; function will attempt to go right before attempting
;; to go left, else it will go left before right. ox and oy contain
;; the position the player is actually residing in, and prevents
;; the path from returning to that position.
;;
;; Preconditions: vwalls and hwalls contain valid wall configurations.
;;
;; Postconditions: path-keeper contains a record of the function's search
;; to find a path (values for each square indicate the
;; direction last traveled from the square.
;;
;; Returns: Nothing.
;;
(defun find-recursive-path (xtry ytry who right ox oy)
(prog (stackx stacky stackz placer)
(setf placer 1) ;;defaults to move forward first
(setf stackx nil) ;;initializes stack to contain x coordinates
(setf stacky nil) ;;initializes stack to contain y coordinates
(setf stackz nil) ;;initializes stack to contain placers (imitates recursion
;;by performing subsequent move after returning from previous)
(setf player-done 0) ;;sets player-done flag to 0 (player isn't done yet, after all)
(setf path-keeper (make-array '(8 8))) ;;initializes path-keeper with wonderful nils
(setf (aref path-keeper ox oy) 1) ;;prevents player from returning to square he or she is actually in
;;(nils, nils everywhere, but not a drop to drink... yet)
begin-loop ;;little label to imitate structured looping
(setf path-keeper (happy-trail path-keeper xtry ytry))
(cond ((not (aref path-keeper xtry ytry))
(if (= who 1)
(setf (aref path-keeper xtry ytry) 1)) ;;if square hasn't been occupied yet
(setf (aref path-keeper xtry ytry) 4)))
;;if player has reached their goal, trips player-done to 1 (true)
(case who
(1 (cond ((= xtry 0) (setf player-done 1) (return 1))))
(2 (cond ((= xtry 7) (setf player-done 1) (return 1)))))
;;checks placer to move the correct direction
(case placer
(1 (go placer1))
(2 (go placer2))
(3 (go placer3))
(4 (go placer4)))
placer1
(setf placer (1+ placer))
(case who
(1 (if (not (= xtry 0))
(cond ((and (= (aref hwalls (1- xtry) ytry) 0) (not (aref path-keeper (1- xtry) ytry)))
(setf stackx (cons xtry stackx)) ;;if there is no wall above player 1
(setf stacky (cons ytry stacky)) ;;pushes current coordinates onto stacks
(setf stackz (cons placer stackz)) ;;pushes placer onto stack
(setf xtry (1- xtry)) ;;sets xtry forward (up) one square
(setf placer 1) ;;sets placer to move forward first
(go begin-loop))))) ;;imitates structured looping
;(setf (aref path-keeper xtry ytry) (1+ (aref path-keeper xtry ytry))))) ;;I'm not positive, but I think
;;this code is pointless
(2 (if (not (= xtry 7))
(cond ((and (= (aref hwalls xtry ytry) 0) (not (aref path-keeper (1+ xtry) ytry)))
(setf stackx (cons xtry stackx)) ;;if there is no wall below player 2
(setf stacky (cons ytry stacky)) ;;pushes current coordinates onto stacks
(setf stackz (cons placer stackz)) ;;pushes placer onto stack
(setf xtry (1+ xtry)) ;;sets xtry forward (down) one square
(setf placer 1) ;;sets placer to move forward first
(go begin-loop)))))) ;;imitates structured looping
placer2
(setf placer (1+ placer))
(case right
(1 (if (not (= ytry 7))
(cond ((and (= (aref vwalls xtry ytry) 0) (not (aref path-keeper xtry (1+ ytry))))
(setf stackx (cons xtry stackx)) ;;if there is no wall to the right of
(setf stacky (cons ytry stacky)) ;;player 1, pushes current coordinates onto
(setf stackz (cons placer stackz)) ;;stacks, pushes placer onto stack,
(setf ytry (1+ ytry)) ;;moves player, resets placer, and loops
(setf placer 1)
(go begin-loop)))))
(2 (if (not (= ytry 0))
(cond ((and (= (aref vwalls xtry (- ytry 1)) 0) (not (aref path-keeper xtry (1- ytry))))
(setf stackx (cons xtry stackx)) ;;if there is no wall to the left of
(setf stacky (cons ytry stacky)) ;;player 2 (see above)
(setf stackz (cons placer stackz))
(setf ytry (1- ytry))
(setf placer 1)
(go begin-loop))))))
placer3
(setf placer (1+ placer))
(case right
(1 (if (not (= ytry 0))
(cond ((and (= (aref vwalls xtry (- ytry 1)) 0) (not (aref path-keeper xtry (1- ytry))))
(setf stackx (cons xtry stackx)) ;;if there is no wall to the left of
(setf stacky (cons ytry stacky)) ;;player 1
(setf stackz (cons placer stackz))
(setf ytry (1- ytry))
(setf placer 1)
(go begin-loop)))))
(2 (if (not (= ytry 7))
(cond ((and (= (aref vwalls xtry ytry) 0) (not (aref path-keeper xtry (1+ ytry))))
(setf stackx (cons xtry stackx)) ;;if there is no wall to the right of
(setf stacky (cons ytry stacky)) ;;player 2
(setf stackz (cons placer stackz))
(setf ytry (1+ ytry))
(setf placer 1)
(go begin-loop))))))
placer4
(setf placer (1+ placer))
(case who
(1 (if (not (= xtry 7))
(cond ((and (= (aref hwalls xtry ytry) 0) (not (aref path-keeper (1+ xtry) ytry)))
(setf stackx (cons xtry stackx)) ;;if there is no wall below (behind)
(setf stacky (cons ytry stacky)) ;;player 1
(setf stackz (cons placer stackz))
(setf xtry (1+ xtry))
(setf placer 1)
(go begin-loop)))))
(2 (if (not (= xtry 0))
(cond ((and (= (aref hwalls (1- xtry) ytry) 0) (not (aref path-keeper (1- xtry) ytry)))
(setf stackx (cons xtry stackx)) ;;if there is no wall to the left of
(setf stacky (cons ytry stacky)) ;;player 2
(setf stackz (cons placer stackz))
(setf xtry (1- xtry))
(setf placer 1)
(go begin-loop))))))
;;if all options have been tried, this position is exhausted, go away
;;if stacks still contain values, pop them all and begin the loop from
;;a previous position, trying the next move direction
(cond ((not (not (car stackx)))
(setf xtry (car stackx))
(setf stackx (cdr stackx))
(setf ytry (car stacky))
(setf stacky (cdr stacky))
(setf placer (car stackz))
(setf stackz (cdr stackz))
(go begin-loop))
((not (car stackx))
(return 0)))
) ;end prog
) ;end find-recursive-path
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;; happy-trail ;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;; I'm sure this does something cool, but I'm not really sure yet what it is.
;;
;;
(defun happy-trail (path-keeper xtry ytry)
(cond ((and (< xtry 7)
(numberp (aref path-keeper (1+ xtry) ytry))
(= (aref hwalls xtry ytry) 0))
(setf (aref path-keeper (1+ xtry) ytry) 1)))
(cond ((and (> xtry 0)
(numberp (aref path-keeper (1- xtry) ytry))
(= (aref hwalls (1- xtry) ytry) 0))
(setf (aref path-keeper (1- xtry) ytry) 4)))
(cond ((and (< ytry 7)
(numberp (aref path-keeper xtry (1+ ytry)))
(= (aref vwalls xtry ytry) 0))
(setf (aref path-keeper xtry (1+ ytry)) 3)))
(cond ((and (> ytry 0)
(numberp (aref path-keeper xtry (1- ytry)))
(= (aref vwalls xtry (1- ytry)) 0))
(setf (aref path-keeper xtry (1- ytry)) 2)))
(eval path-keeper)
) ;;ends happy-trail
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; num-moves ;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; num-moves finds the best-path number of moves for 'player.
;;
;; Preconditions: find-recursive-path and find-best-path have both been run.
;;
;; Postconditions: xbest contains the x coordinate for the best move.
;; ybest contains the y coordinate for the best move.
;;
;; Returns: Number of moves in 'player's best path.
;;
(defun num-moves (player)
(if (= player 1)(setf cx p1x cy p1y)(setf cx p2x cy p2y))
(prog ()
(setf current-best 1000)
(setf counter2 0)
(validate-move 0 0 player)
(loop
(if (> counter2 12)(return))
(setf xtest (aref valid 0 counter2))
(setf ytest (aref valid 1 counter2))
(setf counter2 (1+ counter2))
(cond ((not (= xtest 9))
(cond ((= (find-recursive-path xtest ytest player 1 cx cy) 1)
(setf num-right (find-best-path xtest ytest player))
(cond ((or (< num-right current-best)(= num-right current-best))
(setf current-best num-right)
(setf xbest xtest ybest ytest)))))
(cond ((= (find-recursive-path xtest ytest player 2 cx cy) 1)
(setf num-left (find-best-path xtest ytest player))
(cond ((or (< num-left current-best)(= num-left current-best))
(setf current-best num-left)
(setf xbest xtest ybest ytest))))))))
) ;end prog
(eval current-best)
) ;end num-moves
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; put-wall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;;
;; This function tries every possible wall and determines which
;; wall will hurt the opponent the most and hurt us the least.
;; It then places that wall.
;;
(defun put-wall ()
(prog (i j abest bbest me him me-moves him-moves most-moves org-him-moves org-me-moves)
(cond ((and (= turn 1)(= nump1walls 0)) (setf valid-wall 0) (return))
((and (= turn 2)(= nump2walls 0)) (setf valid-wall 0) (return)))
(if (= turn 1)(setf me 1 him 2)(setf me 2 him 1))
(setf i 0 j 0)
(setf org-me-moves (num-moves me))
(setf org-him-moves (num-moves him))
(setf most-moves -50)
(setq abest 9 bbest 9)
here
(validate-wall "V" i j)
(cond ((= valid-wall 1)
(aset vwalls i j 899)(aset vwalls (1- i) j 899)
(setf me-moves (num-moves me))
(setf him-moves (num-moves him))
(if (and (> (- him-moves org-him-moves)(- me-moves org-me-moves))(> him-moves most-moves))
(setf piece "V" abest i bbest j most-moves him-moves))
(aset vwalls i j 0)(aset vwalls (1- i) j 0)))
(validate-wall "H" i j)
(cond ((= valid-wall 1)
(aset hwalls i j 899)(aset hwalls i (1+ j) 899)
(setf me-moves (num-moves me))
(setf him-moves (num-moves him))
(if (and (> (- him-moves org-him-moves)(- me-moves org-me-moves))(> him-moves most-moves))
(setf piece "H" abest i bbest j most-moves him-moves))
(aset hwalls i j 0)(aset hwalls i (1+ j) 0)))
(if (< i 7)
(setf i (1+ i))
(setf i 0 j (1+ j)))
(if (< j 7)(go here))
(validate-wall piece abest bbest)
(cond ((= valid-wall 1)
(setf xbest abest ybest bbest)
(if (= turn 1)
(setf nump1walls (1- nump1walls))
(setf nump2walls (1- nump2walls)))
(cond ((string= piece "V")
(aset vwalls xbest ybest current-wall)
(aset vwalls (1- xbest) ybest current-wall))
((string= piece "H")
(aset hwalls xbest ybest current-wall)
(aset hwalls xbest (1+ ybest) current-wall)))))
) ;end prog
) ;end put-wall
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;; refresh-board ;;;;;;;;;;;;;;;;;;;;;;;;;
View C++ Equivalent
;; This function redraws the piece that was moved or placed.
;; It also updates the picture showing how many walls we have left.
;;
(defun refresh-board (piece x y)
(case nump1walls
(0 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls0.bmp"))
(1 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls1.bmp"))
(2 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls2.bmp"))
(3 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls3.bmp"))
(4 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls4.bmp"))
(5 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls5.bmp"))
(6 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls6.bmp"))
(7 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls7.bmp"))
(8 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls8.bmp"))
(9 (set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls9.bmp")))
(case nump2walls
(0 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls0.bmp"))
(1 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls1.bmp"))
(2 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls2.bmp"))
(3 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls3.bmp"))
(4 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls4.bmp"))
(5 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls5.bmp"))
(6 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls6.bmp"))
(7 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls7.bmp"))
(8 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls8.bmp"))
(9 (set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls9.bmp")))
(case turn
(1 (setq px p1x)(setq py p1y))
(2 (setq px p2x)(setq py p2y)))
(setq howmany 1)
(case piece
("M"
(prog ()
myloop
(case howmany
(1 (setq ppath "empty.bmp")
(setq ppx px ppy py))
(0 (if (= turn 1)
(setq ppath "p1.bmp")
(setq ppath "p2.bmp"))
(setq ppx x ppy y)))
(cond
((and (= ppx 0) (= ppy 0)) (set-dialog-item-value (widget ':pic0-0 ':form1) ppath))
((and (= ppx 0) (= ppy 1)) (set-dialog-item-value (widget ':pic0-1 ':form1) ppath))
((and (= ppx 0) (= ppy 2)) (set-dialog-item-value (widget ':pic0-2 ':form1) ppath))
((and (= ppx 0) (= ppy 3)) (set-dialog-item-value (widget ':pic0-3 ':form1) ppath))
((and (= ppx 0) (= ppy 4)) (set-dialog-item-value (widget ':pic0-4 ':form1) ppath))
((and (= ppx 0) (= ppy 5)) (set-dialog-item-value (widget ':pic0-5 ':form1) ppath))
((and (= ppx 0) (= ppy 6)) (set-dialog-item-value (widget ':pic0-6 ':form1) ppath))
((and (= ppx 0) (= ppy 7)) (set-dialog-item-value (widget ':pic0-7 ':form1) ppath))
((and (= ppx 1) (= ppy 0)) (set-dialog-item-value (widget ':pic1-0 ':form1) ppath))
((and (= ppx 1) (= ppy 1)) (set-dialog-item-value (widget ':pic1-1 ':form1) ppath))
((and (= ppx 1) (= ppy 2)) (set-dialog-item-value (widget ':pic1-2 ':form1) ppath))
((and (= ppx 1) (= ppy 3)) (set-dialog-item-value (widget ':pic1-3 ':form1) ppath))
((and (= ppx 1) (= ppy 4)) (set-dialog-item-value (widget ':pic1-4 ':form1) ppath))
((and (= ppx 1) (= ppy 5)) (set-dialog-item-value (widget ':pic1-5 ':form1) ppath))
((and (= ppx 1) (= ppy 6)) (set-dialog-item-value (widget ':pic1-6 ':form1) ppath))
((and (= ppx 1) (= ppy 7)) (set-dialog-item-value (widget ':pic1-7 ':form1) ppath))
((and (= ppx 2) (= ppy 0)) (set-dialog-item-value (widget ':pic2-0 ':form1) ppath))
((and (= ppx 2) (= ppy 1)) (set-dialog-item-value (widget ':pic2-1 ':form1) ppath))
((and (= ppx 2) (= ppy 2)) (set-dialog-item-value (widget ':pic2-2 ':form1) ppath))
((and (= ppx 2) (= ppy 3)) (set-dialog-item-value (widget ':pic2-3 ':form1) ppath))
((and (= ppx 2) (= ppy 4)) (set-dialog-item-value (widget ':pic2-4 ':form1) ppath))
((and (= ppx 2) (= ppy 5)) (set-dialog-item-value (widget ':pic2-5 ':form1) ppath))
((and (= ppx 2) (= ppy 6)) (set-dialog-item-value (widget ':pic2-6 ':form1) ppath))
((and (= ppx 2) (= ppy 7)) (set-dialog-item-value (widget ':pic2-7 ':form1) ppath))
((and (= ppx 3) (= ppy 0)) (set-dialog-item-value (widget ':pic3-0 ':form1) ppath))
((and (= ppx 3) (= ppy 1)) (set-dialog-item-value (widget ':pic3-1 ':form1) ppath))
((and (= ppx 3) (= ppy 2)) (set-dialog-item-value (widget ':pic3-2 ':form1) ppath))
((and (= ppx 3) (= ppy 3)) (set-dialog-item-value (widget ':pic3-3 ':form1) ppath))
((and (= ppx 3) (= ppy 4)) (set-dialog-item-value (widget ':pic3-4 ':form1) ppath))
((and (= ppx 3) (= ppy 5)) (set-dialog-item-value (widget ':pic3-5 ':form1) ppath))
((and (= ppx 3) (= ppy 6)) (set-dialog-item-value (widget ':pic3-6 ':form1) ppath))
((and (= ppx 3) (= ppy 7)) (set-dialog-item-value (widget ':pic3-7 ':form1) ppath))
((and (= ppx 4) (= ppy 0)) (set-dialog-item-value (widget ':pic4-0 ':form1) ppath))
((and (= ppx 4) (= ppy 1)) (set-dialog-item-value (widget ':pic4-1 ':form1) ppath))
((and (= ppx 4) (= ppy 2)) (set-dialog-item-value (widget ':pic4-2 ':form1) ppath))
((and (= ppx 4) (= ppy 3)) (set-dialog-item-value (widget ':pic4-3 ':form1) ppath))
((and (= ppx 4) (= ppy 4)) (set-dialog-item-value (widget ':pic4-4 ':form1) ppath))
((and (= ppx 4) (= ppy 5)) (set-dialog-item-value (widget ':pic4-5 ':form1) ppath))
((and (= ppx 4) (= ppy 6)) (set-dialog-item-value (widget ':pic4-6 ':form1) ppath))
((and (= ppx 4) (= ppy 7)) (set-dialog-item-value (widget ':pic4-7 ':form1) ppath))
((and (= ppx 5) (= ppy 0)) (set-dialog-item-value (widget ':pic5-0 ':form1) ppath))
((and (= ppx 5) (= ppy 1)) (set-dialog-item-value (widget ':pic5-1 ':form1) ppath))
((and (= ppx 5) (= ppy 2)) (set-dialog-item-value (widget ':pic5-2 ':form1) ppath))
((and (= ppx 5) (= ppy 3)) (set-dialog-item-value (widget ':pic5-3 ':form1) ppath))
((and (= ppx 5) (= ppy 4)) (set-dialog-item-value (widget ':pic5-4 ':form1) ppath))
((and (= ppx 5) (= ppy 5)) (set-dialog-item-value (widget ':pic5-5 ':form1) ppath))
((and (= ppx 5) (= ppy 6)) (set-dialog-item-value (widget ':pic5-6 ':form1) ppath))
((and (= ppx 5) (= ppy 7)) (set-dialog-item-value (widget ':pic5-7 ':form1) ppath))
((and (= ppx 6) (= ppy 0)) (set-dialog-item-value (widget ':pic6-0 ':form1) ppath))
((and (= ppx 6) (= ppy 1)) (set-dialog-item-value (widget ':pic6-1 ':form1) ppath))
((and (= ppx 6) (= ppy 2)) (set-dialog-item-value (widget ':pic6-2 ':form1) ppath))
((and (= ppx 6) (= ppy 3)) (set-dialog-item-value (widget ':pic6-3 ':form1) ppath))
((and (= ppx 6) (= ppy 4)) (set-dialog-item-value (widget ':pic6-4 ':form1) ppath))
((and (= ppx 6) (= ppy 5)) (set-dialog-item-value (widget ':pic6-5 ':form1) ppath))
((and (= ppx 6) (= ppy 6)) (set-dialog-item-value (widget ':pic6-6 ':form1) ppath))
((and (= ppx 6) (= ppy 7)) (set-dialog-item-value (widget ':pic6-7 ':form1) ppath))
((and (= ppx 7) (= ppy 0)) (set-dialog-item-value (widget ':pic7-0 ':form1) ppath))
((and (= ppx 7) (= ppy 1)) (set-dialog-item-value (widget ':pic7-1 ':form1) ppath))
((and (= ppx 7) (= ppy 2)) (set-dialog-item-value (widget ':pic7-2 ':form1) ppath))
((and (= ppx 7) (= ppy 3)) (set-dialog-item-value (widget ':pic7-3 ':form1) ppath))
((and (= ppx 7) (= ppy 4)) (set-dialog-item-value (widget ':pic7-4 ':form1) ppath))
((and (= ppx 7) (= ppy 5)) (set-dialog-item-value (widget ':pic7-5 ':form1) ppath))
((and (= ppx 7) (= ppy 6)) (set-dialog-item-value (widget ':pic7-6 ':form1) ppath))
((and (= ppx 7) (= ppy 7)) (set-dialog-item-value (widget ':pic7-7 ':form1) ppath))
(t "Error in processing, Formatting C: ..."))
(setq howmany (1- howmany))
(if (= howmany 0) (go myloop))))
("V"
(cond
((and (= x 0) (= y 0)) (set-dialog-item-value (widget ':v0-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-0 ':form1)))
((and (= x 0) (= y 1)) (set-dialog-item-value (widget ':v0-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-1 ':form1)))
((and (= x 0) (= y 2)) (set-dialog-item-value (widget ':v0-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-2 ':form1)))
((and (= x 0) (= y 3)) (set-dialog-item-value (widget ':v0-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-3 ':form1)))
((and (= x 0) (= y 4)) (set-dialog-item-value (widget ':v0-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-4 ':form1)))
((and (= x 0) (= y 5)) (set-dialog-item-value (widget ':v0-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-5 ':form1)))
((and (= x 0) (= y 6)) (set-dialog-item-value (widget ':v0-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v0-6 ':form1)))
((and (= x 1) (= y 0)) (set-dialog-item-value (widget ':v1-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-0 ':form1)))
((and (= x 1) (= y 1)) (set-dialog-item-value (widget ':v1-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-1 ':form1)))
((and (= x 1) (= y 2)) (set-dialog-item-value (widget ':v1-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-2 ':form1)))
((and (= x 1) (= y 3)) (set-dialog-item-value (widget ':v1-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-3 ':form1)))
((and (= x 1) (= y 4)) (set-dialog-item-value (widget ':v1-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-4 ':form1)))
((and (= x 1) (= y 5)) (set-dialog-item-value (widget ':v1-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-5 ':form1)))
((and (= x 1) (= y 6)) (set-dialog-item-value (widget ':v1-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v1-6 ':form1)))
((and (= x 2) (= y 0)) (set-dialog-item-value (widget ':v2-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-0 ':form1)))
((and (= x 2) (= y 1)) (set-dialog-item-value (widget ':v2-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-1 ':form1)))
((and (= x 2) (= y 2)) (set-dialog-item-value (widget ':v2-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-2 ':form1)))
((and (= x 2) (= y 3)) (set-dialog-item-value (widget ':v2-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-3 ':form1)))
((and (= x 2) (= y 4)) (set-dialog-item-value (widget ':v2-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-4 ':form1)))
((and (= x 2) (= y 5)) (set-dialog-item-value (widget ':v2-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-5 ':form1)))
((and (= x 2) (= y 6)) (set-dialog-item-value (widget ':v2-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v2-6 ':form1)))
((and (= x 3) (= y 0)) (set-dialog-item-value (widget ':v3-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-0 ':form1)))
((and (= x 3) (= y 1)) (set-dialog-item-value (widget ':v3-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-1 ':form1)))
((and (= x 3) (= y 2)) (set-dialog-item-value (widget ':v3-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-2 ':form1)))
((and (= x 3) (= y 3)) (set-dialog-item-value (widget ':v3-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-3 ':form1)))
((and (= x 3) (= y 4)) (set-dialog-item-value (widget ':v3-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-4 ':form1)))
((and (= x 3) (= y 5)) (set-dialog-item-value (widget ':v3-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-5 ':form1)))
((and (= x 3) (= y 6)) (set-dialog-item-value (widget ':v3-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v3-6 ':form1)))
((and (= x 4) (= y 0)) (set-dialog-item-value (widget ':v4-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-0 ':form1)))
((and (= x 4) (= y 1)) (set-dialog-item-value (widget ':v4-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-1 ':form1)))
((and (= x 4) (= y 2)) (set-dialog-item-value (widget ':v4-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-2 ':form1)))
((and (= x 4) (= y 3)) (set-dialog-item-value (widget ':v4-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-3 ':form1)))
((and (= x 4) (= y 4)) (set-dialog-item-value (widget ':v4-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-4 ':form1)))
((and (= x 4) (= y 5)) (set-dialog-item-value (widget ':v4-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-5 ':form1)))
((and (= x 4) (= y 6)) (set-dialog-item-value (widget ':v4-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v4-6 ':form1)))
((and (= x 5) (= y 0)) (set-dialog-item-value (widget ':v5-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-0 ':form1)))
((and (= x 5) (= y 1)) (set-dialog-item-value (widget ':v5-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-1 ':form1)))
((and (= x 5) (= y 2)) (set-dialog-item-value (widget ':v5-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-2 ':form1)))
((and (= x 5) (= y 3)) (set-dialog-item-value (widget ':v5-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-3 ':form1)))
((and (= x 5) (= y 4)) (set-dialog-item-value (widget ':v5-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-4 ':form1)))
((and (= x 5) (= y 5)) (set-dialog-item-value (widget ':v5-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-5 ':form1)))
((and (= x 5) (= y 6)) (set-dialog-item-value (widget ':v5-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v5-6 ':form1)))
((and (= x 6) (= y 0)) (set-dialog-item-value (widget ':v6-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-0 ':form1)))
((and (= x 6) (= y 1)) (set-dialog-item-value (widget ':v6-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-1 ':form1)))
((and (= x 6) (= y 2)) (set-dialog-item-value (widget ':v6-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-2 ':form1)))
((and (= x 6) (= y 3)) (set-dialog-item-value (widget ':v6-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-3 ':form1)))
((and (= x 6) (= y 4)) (set-dialog-item-value (widget ':v6-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-4 ':form1)))
((and (= x 6) (= y 5)) (set-dialog-item-value (widget ':v6-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-5 ':form1)))
((and (= x 6) (= y 6)) (set-dialog-item-value (widget ':v6-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v6-6 ':form1)))
((and (= x 7) (= y 0)) (set-dialog-item-value (widget ':v6-0 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-0 ':form1)))
((and (= x 7) (= y 1)) (set-dialog-item-value (widget ':v7-1 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-1 ':form1)))
((and (= x 7) (= y 2)) (set-dialog-item-value (widget ':v7-2 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-2 ':form1)))
((and (= x 7) (= y 3)) (set-dialog-item-value (widget ':v7-3 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-3 ':form1)))
((and (= x 7) (= y 4)) (set-dialog-item-value (widget ':v7-4 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-4 ':form1)))
((and (= x 7) (= y 5)) (set-dialog-item-value (widget ':v7-5 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-5 ':form1)))
((and (= x 7) (= y 6)) (set-dialog-item-value (widget ':v7-6 ':form1) '"vwall.bmp")
(expose-component (widget ':v7-6 ':form1)))))
("H"
(cond
((and (= x 0) (= y 0)) (set-dialog-item-value (widget ':h0-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-0 ':form1)))
((and (= x 0) (= y 1)) (set-dialog-item-value (widget ':h0-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-1 ':form1)))
((and (= x 0) (= y 2)) (set-dialog-item-value (widget ':h0-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-2 ':form1)))
((and (= x 0) (= y 3)) (set-dialog-item-value (widget ':h0-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-3 ':form1)))
((and (= x 0) (= y 4)) (set-dialog-item-value (widget ':h0-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-4 ':form1)))
((and (= x 0) (= y 5)) (set-dialog-item-value (widget ':h0-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-5 ':form1)))
((and (= x 0) (= y 6)) (set-dialog-item-value (widget ':h0-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h0-6 ':form1)))
((and (= x 1) (= y 0)) (set-dialog-item-value (widget ':h1-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-0 ':form1)))
((and (= x 1) (= y 1)) (set-dialog-item-value (widget ':h1-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-1 ':form1)))
((and (= x 1) (= y 2)) (set-dialog-item-value (widget ':h1-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-2 ':form1)))
((and (= x 1) (= y 3)) (set-dialog-item-value (widget ':h1-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-3 ':form1)))
((and (= x 1) (= y 4)) (set-dialog-item-value (widget ':h1-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-4 ':form1)))
((and (= x 1) (= y 5)) (set-dialog-item-value (widget ':h1-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-5 ':form1)))
((and (= x 1) (= y 6)) (set-dialog-item-value (widget ':h1-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h1-6 ':form1)))
((and (= x 2) (= y 0)) (set-dialog-item-value (widget ':h2-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-0 ':form1)))
((and (= x 2) (= y 1)) (set-dialog-item-value (widget ':h2-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-1 ':form1)))
((and (= x 2) (= y 2)) (set-dialog-item-value (widget ':h2-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-2 ':form1)))
((and (= x 2) (= y 3)) (set-dialog-item-value (widget ':h2-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-3 ':form1)))
((and (= x 2) (= y 4)) (set-dialog-item-value (widget ':h2-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-4 ':form1)))
((and (= x 2) (= y 5)) (set-dialog-item-value (widget ':h2-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-5 ':form1)))
((and (= x 2) (= y 6)) (set-dialog-item-value (widget ':h2-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h2-6 ':form1)))
((and (= x 3) (= y 0)) (set-dialog-item-value (widget ':h3-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-0 ':form1)))
((and (= x 3) (= y 1)) (set-dialog-item-value (widget ':h3-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-1 ':form1)))
((and (= x 3) (= y 2)) (set-dialog-item-value (widget ':h3-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-2 ':form1)))
((and (= x 3) (= y 3)) (set-dialog-item-value (widget ':h3-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-3 ':form1)))
((and (= x 3) (= y 4)) (set-dialog-item-value (widget ':h3-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-4 ':form1)))
((and (= x 3) (= y 5)) (set-dialog-item-value (widget ':h3-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-5 ':form1)))
((and (= x 3) (= y 6)) (set-dialog-item-value (widget ':h3-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h3-6 ':form1)))
((and (= x 4) (= y 0)) (set-dialog-item-value (widget ':h4-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-0 ':form1)))
((and (= x 4) (= y 1)) (set-dialog-item-value (widget ':h4-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-1 ':form1)))
((and (= x 4) (= y 2)) (set-dialog-item-value (widget ':h4-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-2 ':form1)))
((and (= x 4) (= y 3)) (set-dialog-item-value (widget ':h4-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-3 ':form1)))
((and (= x 4) (= y 4)) (set-dialog-item-value (widget ':h4-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-4 ':form1)))
((and (= x 4) (= y 5)) (set-dialog-item-value (widget ':h4-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-5 ':form1)))
((and (= x 4) (= y 6)) (set-dialog-item-value (widget ':h4-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h4-6 ':form1)))
((and (= x 5) (= y 0)) (set-dialog-item-value (widget ':h5-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-0 ':form1)))
((and (= x 5) (= y 1)) (set-dialog-item-value (widget ':h5-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-1 ':form1)))
((and (= x 5) (= y 2)) (set-dialog-item-value (widget ':h5-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-2 ':form1)))
((and (= x 5) (= y 3)) (set-dialog-item-value (widget ':h5-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-3 ':form1)))
((and (= x 5) (= y 4)) (set-dialog-item-value (widget ':h5-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-4 ':form1)))
((and (= x 5) (= y 5)) (set-dialog-item-value (widget ':h5-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-5 ':form1)))
((and (= x 5) (= y 6)) (set-dialog-item-value (widget ':h5-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h5-6 ':form1)))
((and (= x 6) (= y 0)) (set-dialog-item-value (widget ':h6-0 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-0 ':form1)))
((and (= x 6) (= y 1)) (set-dialog-item-value (widget ':h6-1 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-1 ':form1)))
((and (= x 6) (= y 2)) (set-dialog-item-value (widget ':h6-2 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-2 ':form1)))
((and (= x 6) (= y 3)) (set-dialog-item-value (widget ':h6-3 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-3 ':form1)))
((and (= x 6) (= y 4)) (set-dialog-item-value (widget ':h6-4 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-4 ':form1)))
((and (= x 6) (= y 5)) (set-dialog-item-value (widget ':h6-5 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-5 ':form1)))
((and (= x 6) (= y 6)) (set-dialog-item-value (widget ':h6-6 ':form1) '"hwall.bmp")
(expose-component (widget ':h6-6 ':form1))))))
) ;end function refresh-board
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun setpics()
View C++ Equivalent
(set-dialog-item-value (widget ':display ':form1) "Please move")
(set-dialog-item-value (widget ':pdisplay ':form1) "Player 1's turn")
(set-dialog-item-value (widget ':p1numwalls ':form1) '"pwalls9.bmp")
(set-dialog-item-value (widget ':p2numwalls ':form1) '"pwalls9.bmp")
(set-dialog-item-value (widget ':pic0-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic0-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic1-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic2-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic3-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic4-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic5-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-3 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic6-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-0 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-1 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-2 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-4 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-5 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-6 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':pic7-7 ':form1) '"empty.bmp")
(set-dialog-item-value (widget ':h0-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h0-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h1-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h2-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h3-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h4-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h5-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-0 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-1 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-2 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-3 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-4 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-5 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-6 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':h6-7 ':form1) '"hblank.bmp")
(set-dialog-item-value (widget ':v0-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v0-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v1-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v2-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v3-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v4-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v5-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v6-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-0 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-1 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-2 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-3 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-4 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-5 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':v7-6 ':form1) '"vblank.bmp")
(set-dialog-item-value (widget ':pic7-3 ':form1) '"p1.bmp")
(set-dialog-item-value (widget ':pic0-4 ':form1) '"p2.bmp")
(expose-component (widget ':v7-0 ':form1)) (expose-component (widget ':v7-1 ':form1))
(expose-component (widget ':v7-2 ':form1)) (expose-component (widget ':v7-3 ':form1))
(expose-component (widget ':v7-4 ':form1)) (expose-component (widget ':v7-5 ':form1))
(expose-component (widget ':v7-6 ':form1)) (expose-component (widget ':v6-0 ':form1))
(expose-component (widget ':v6-1 ':form1)) (expose-component (widget ':v6-2 ':form1))
(expose-component (widget ':v6-3 ':form1)) (expose-component (widget ':v6-4 ':form1))
(expose-component (widget ':v6-5 ':form1)) (expose-component (widget ':v6-6 ':form1))
(expose-component (widget ':v5-0 ':form1)) (expose-component (widget ':v5-1 ':form1))
(expose-component (widget ':v5-2 ':form1)) (expose-component (widget ':v5-3 ':form1))
(expose-component (widget ':v5-4 ':form1)) (expose-component (widget ':v5-5 ':form1))
(expose-component (widget ':v5-6 ':form1)) (expose-component (widget ':v4-0 ':form1))
(expose-component (widget ':v4-1 ':form1)) (expose-component (widget ':v4-2 ':form1))
(expose-component (widget ':v4-3 ':form1)) (expose-component (widget ':v4-4 ':form1))
(expose-component (widget ':v4-5 ':form1)) (expose-component (widget ':v4-6 ':form1))
(expose-component (widget ':v3-0 ':form1)) (expose-component (widget ':v3-1 ':form1))
(expose-component (widget ':v3-2 ':form1)) (expose-component (widget ':v3-3 ':form1))
(expose-component (widget ':v3-4 ':form1)) (expose-component (widget ':v3-5 ':form1))
(expose-component (widget ':v3-6 ':form1)) (expose-component (widget ':v2-0 ':form1))
(expose-component (widget ':v2-1 ':form1)) (expose-component (widget ':v2-2 ':form1))
(expose-component (widget ':v2-3 ':form1)) (expose-component (widget ':v2-4 ':form1))
(expose-component (widget ':v2-5 ':form1)) (expose-component (widget ':v2-6 ':form1))
(expose-component (widget ':v1-0 ':form1)) (expose-component (widget ':v1-1 ':form1))
(expose-component (widget ':v1-2 ':form1)) (expose-component (widget ':v1-3 ':form1))
(expose-component (widget ':v1-4 ':form1)) (expose-component (widget ':v1-5 ':form1))
(expose-component (widget ':v1-6 ':form1)) (expose-component (widget ':v1-0 ':form1))
(expose-component (widget ':v0-1 ':form1)) (expose-component (widget ':v0-2 ':form1))
(expose-component (widget ':v0-3 ':form1)) (expose-component (widget ':v0-4 ':form1))
(expose-component (widget ':v0-5 ':form1)) (expose-component (widget ':v0-6 ':form1))
(expose-component (widget ':h0-0 ':form1)) (expose-component (widget ':h1-0 ':form1))
(expose-component (widget ':h2-0 ':form1)) (expose-component (widget ':h3-0 ':form1))
(expose-component (widget ':h4-0 ':form1)) (expose-component (widget ':h5-0 ':form1))
(expose-component (widget ':h6-0 ':form1)) (expose-component (widget ':h0-1 ':form1))
(expose-component (widget ':h1-1 ':form1)) (expose-component (widget ':h2-1 ':form1))
(expose-component (widget ':h3-1 ':form1)) (expose-component (widget ':h4-1 ':form1))
(expose-component (widget ':h5-1 ':form1)) (expose-component (widget ':h6-1 ':form1))
(expose-component (widget ':h0-2 ':form1)) (expose-component (widget ':h1-2 ':form1))
(expose-component (widget ':h2-2 ':form1)) (expose-component (widget ':h3-2 ':form1))
(expose-component (widget ':h4-2 ':form1)) (expose-component (widget ':h5-2 ':form1))
(expose-component (widget ':h6-2 ':form1)) (expose-component (widget ':h0-3 ':form1))
(expose-component (widget ':h1-3 ':form1)) (expose-component (widget ':h2-3 ':form1))
(expose-component (widget ':h3-3 ':form1)) (expose-component (widget ':h4-3 ':form1))
(expose-component (widget ':h5-3 ':form1)) (expose-component (widget ':h6-3 ':form1))
(expose-component (widget ':h0-4 ':form1)) (expose-component (widget ':h1-4 ':form1))
(expose-component (widget ':h2-4 ':form1)) (expose-component (widget ':h3-4 ':form1))
(expose-component (widget ':h4-4 ':form1)) (expose-component (widget ':h5-4 ':form1))
(expose-component (widget ':h6-4 ':form1)) (expose-component (widget ':h0-5 ':form1))
(expose-component (widget ':h1-5 ':form1)) (expose-component (widget ':h2-5 ':form1))
(expose-component (widget ':h3-5 ':form1)) (expose-component (widget ':h4-5 ':form1))
(expose-component (widget ':h5-5 ':form1)) (expose-component (widget ':h6-5 ':form1))
(expose-component (widget ':h0-6 ':form1)) (expose-component (widget ':h1-6 ':form1))
(expose-component (widget ':h2-6 ':form1)) (expose-component (widget ':h3-6 ':form1))
(expose-component (widget ':h4-6 ':form1)) (expose-component (widget ':h5-6 ':form1))
(expose-component (widget ':h6-6 ':form1)) (expose-component (widget ':h0-7 ':form1))
(expose-component (widget ':h1-7 ':form1)) (expose-component (widget ':h2-7 ':form1))
(expose-component (widget ':h3-7 ':form1)) (expose-component (widget ':h4-7 ':form1))
(expose-component (widget ':h5-7 ':form1)) (expose-component (widget ':h6-7 ':form1))
) ;end setpics
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(DEFUN FORM1-PIC0-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 0)
T)
(DEFUN FORM1-PIC0-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 1)
T)
(DEFUN FORM1-PIC0-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 2)
T)
(DEFUN FORM1-PIC0-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 3)
T)
(DEFUN FORM1-PIC0-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 4)
T)
(DEFUN FORM1-PIC0-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 5)
T)
(DEFUN FORM1-PIC0-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 6)
T)
(DEFUN FORM1-PIC0-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 0 7)
T)
(DEFUN FORM1-PIC1-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 0)
T)
(DEFUN FORM1-PIC1-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 1)
T)
(DEFUN FORM1-PIC1-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 2)
T)
(DEFUN FORM1-PIC1-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 3)
T)
(DEFUN FORM1-PIC1-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 4)
T)
(DEFUN FORM1-PIC1-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 5)
T)
(DEFUN FORM1-PIC1-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 6)
T)
(DEFUN FORM1-PIC1-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 1 7)
T)
(DEFUN FORM1-PIC2-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 0)
T)
(DEFUN FORM1-PIC2-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 1)
T)
(DEFUN FORM1-PIC2-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 2)
T)
(DEFUN FORM1-PIC2-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 3)
T)
(DEFUN FORM1-PIC2-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 4)
T)
(DEFUN FORM1-PIC2-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 5)
T)
(DEFUN FORM1-PIC2-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 6)
T)
(DEFUN FORM1-PIC2-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 2 7)
T)
(DEFUN FORM1-PIC3-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 0)
T)
(DEFUN FORM1-PIC3-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 1)
T)
(DEFUN FORM1-PIC3-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 2)
T)
(DEFUN FORM1-PIC3-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 3)
T)
(DEFUN FORM1-PIC3-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 4)
T)
(DEFUN FORM1-PIC3-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 5)
T)
(DEFUN FORM1-PIC3-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 6)
T)
(DEFUN FORM1-PIC3-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 3 7)
T)
(DEFUN FORM1-PIC4-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 0)
T)
(DEFUN FORM1-PIC4-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 1)
T)
(DEFUN FORM1-PIC4-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 2)
T)
(DEFUN FORM1-PIC4-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 3)
T)
(DEFUN FORM1-PIC4-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 4)
T)
(DEFUN FORM1-PIC4-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 5)
T)
(DEFUN FORM1-PIC4-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 6)
T)
(DEFUN FORM1-PIC4-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 4 7)
T)
(DEFUN FORM1-PIC5-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 0)
T)
(DEFUN FORM1-PIC5-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 1)
T)
(DEFUN FORM1-PIC5-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 2)
T)
(DEFUN FORM1-PIC5-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 3)
T)
(DEFUN FORM1-PIC5-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 4)
T)
(DEFUN FORM1-PIC5-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 5)
T)
(DEFUN FORM1-PIC5-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 6)
T)
(DEFUN FORM1-PIC5-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 5 7)
T)
(DEFUN FORM1-PIC6-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 0)
T)
(DEFUN FORM1-PIC6-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 1)
T)
(DEFUN FORM1-PIC6-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 2)
T)
(DEFUN FORM1-PIC6-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 3)
T)
(DEFUN FORM1-PIC6-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 4)
T)
(DEFUN FORM1-PIC6-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 5)
T)
(DEFUN FORM1-PIC6-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 6)
T)
(DEFUN FORM1-PIC6-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 6 7)
T)
(DEFUN FORM1-PIC7-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 0)
T)
(DEFUN FORM1-PIC7-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 1)
T)
(DEFUN FORM1-PIC7-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 2)
T)
(DEFUN FORM1-PIC7-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 3)
T)
(DEFUN FORM1-PIC7-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 4)
T)
(DEFUN FORM1-PIC7-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 5)
T)
(DEFUN FORM1-PIC7-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 6)
T)
(DEFUN FORM1-PIC7-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "M" 7 7)
T)
(DEFUN FORM1-V0-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 0)
T)
(DEFUN FORM1-V0-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 1)
T)
(DEFUN FORM1-V0-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 2)
T)
(DEFUN FORM1-V0-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 3)
T)
(DEFUN FORM1-V0-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 4)
T)
(DEFUN FORM1-V0-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 5)
T)
(DEFUN FORM1-V0-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 0 6)
T)
(DEFUN FORM1-V1-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 0)
T)
(DEFUN FORM1-V1-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 1)
T)
(DEFUN FORM1-V1-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 2)
T)
(DEFUN FORM1-V1-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 3)
T)
(DEFUN FORM1-V1-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 4)
T)
(DEFUN FORM1-V1-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 5)
T)
(DEFUN FORM1-V1-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 1 6)
T)
(DEFUN FORM1-V2-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 0)
T)
(DEFUN FORM1-V2-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 1)
T)
(DEFUN FORM1-V2-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 2)
T)
(DEFUN FORM1-V2-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 3)
T)
(DEFUN FORM1-V2-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 4)
T)
(DEFUN FORM1-V2-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 5)
T)
(DEFUN FORM1-V2-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 2 6)
T)
(DEFUN FORM1-V3-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 0)
T)
(DEFUN FORM1-V3-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 1)
T)
(DEFUN FORM1-V3-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 2)
T)
(DEFUN FORM1-V3-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 3)
T)
(DEFUN FORM1-V3-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 4)
T)
(DEFUN FORM1-V3-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 5)
T)
(DEFUN FORM1-V3-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 3 6)
T)
(DEFUN FORM1-V4-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 0)
T)
(DEFUN FORM1-V4-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 1)
T)
(DEFUN FORM1-V4-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 2)
T)
(DEFUN FORM1-V4-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 3)
T)
(DEFUN FORM1-V4-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 4)
T)
(DEFUN FORM1-V4-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 5)
T)
(DEFUN FORM1-V4-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 4 6)
T)
(DEFUN FORM1-V5-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 0)
T)
(DEFUN FORM1-V5-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 1)
T)
(DEFUN FORM1-V5-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 2)
T)
(DEFUN FORM1-V5-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 3)
T)
(DEFUN FORM1-V5-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 4)
T)
(DEFUN FORM1-V5-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 5)
T)
(DEFUN FORM1-V5-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 5 6)
T)
(DEFUN FORM1-V6-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 0)
T)
(DEFUN FORM1-V6-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 1)
T)
(DEFUN FORM1-V6-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 2)
T)
(DEFUN FORM1-V6-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 3)
T)
(DEFUN FORM1-V6-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 4)
T)
(DEFUN FORM1-V6-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 5)
T)
(DEFUN FORM1-V6-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 6 6)
T)
(DEFUN FORM1-V7-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 0)
T)
(DEFUN FORM1-V7-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 1)
T)
(DEFUN FORM1-V7-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 2)
T)
(DEFUN FORM1-V7-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 3)
T)
(DEFUN FORM1-V7-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 4)
T)
(DEFUN FORM1-V7-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 5)
T)
(DEFUN FORM1-V7-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "V" 7 6)
T)
(DEFUN FORM1-H0-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 0)
T)
(DEFUN FORM1-H0-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 1)
T)
(DEFUN FORM1-H0-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 2)
T)
(DEFUN FORM1-H0-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 3)
T)
(DEFUN FORM1-H0-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 4)
T)
(DEFUN FORM1-H0-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 5)
T)
(DEFUN FORM1-H0-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 6)
T)
(DEFUN FORM1-H0-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 0 7)
T)
(DEFUN FORM1-H1-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 0)
T)
(DEFUN FORM1-H1-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 1)
T)
(DEFUN FORM1-H1-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 2)
T)
(DEFUN FORM1-H1-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 3)
T)
(DEFUN FORM1-H1-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 4)
T)
(DEFUN FORM1-H1-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 5)
T)
(DEFUN FORM1-H1-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 6)
T)
(DEFUN FORM1-H1-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 1 7)
T)
(DEFUN FORM1-H2-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 0)
T)
(DEFUN FORM1-H2-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 1)
T)
(DEFUN FORM1-H2-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 2)
T)
(DEFUN FORM1-H2-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 3)
T)
(DEFUN FORM1-H2-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 4)
T)
(DEFUN FORM1-H2-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 5)
T)
(DEFUN FORM1-H2-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 6)
T)
(DEFUN FORM1-H2-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 2 7)
T)
(DEFUN FORM1-H3-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 0)
T)
(DEFUN FORM1-H3-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 1)
T)
(DEFUN FORM1-H3-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 2)
T)
(DEFUN FORM1-H3-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 3)
T)
(DEFUN FORM1-H3-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 4)
T)
(DEFUN FORM1-H3-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 5)
T)
(DEFUN FORM1-H3-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 6)
T)
(DEFUN FORM1-H3-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 3 7)
T)
(DEFUN FORM1-H4-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 0)
T)
(DEFUN FORM1-H4-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 1)
T)
(DEFUN FORM1-H4-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 2)
T)
(DEFUN FORM1-H4-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 3)
T)
(DEFUN FORM1-H4-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 4)
T)
(DEFUN FORM1-H4-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 5)
T)
(DEFUN FORM1-H4-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 6)
T)
(DEFUN FORM1-H4-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 4 7)
T)
(DEFUN FORM1-H5-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 0)
T)
(DEFUN FORM1-H5-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 1)
T)
(DEFUN FORM1-H5-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 2)
T)
(DEFUN FORM1-H5-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 3)
T)
(DEFUN FORM1-H5-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 4)
T)
(DEFUN FORM1-H5-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 5)
T)
(DEFUN FORM1-H5-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 6)
T)
(DEFUN FORM1-H5-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 5 7)
T)
(DEFUN FORM1-H6-0-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 0)
T)
(DEFUN FORM1-H6-1-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 1)
T)
(DEFUN FORM1-H6-2-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 2)
T)
(DEFUN FORM1-H6-3-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 3)
T)
(DEFUN FORM1-H6-4-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 4)
T)
(DEFUN FORM1-H6-5-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 5)
T)
(DEFUN FORM1-H6-6-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 6)
T)
(DEFUN FORM1-H6-7-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(CLICKEDON "H" 6 7)
T)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun FORM1-DIRECTIONS-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(set-dialog-item-value (widget ':directions-text ':form1) " In Quoridor, each player's goal is to reach the opposite side of the board. The white colored token is player 1, the other is player 2. On any one turn, either player may
1) Move their token 2) Place a wall
------------------------------------------------------
To move a player, click on a square the player is adjacent to. Players may move 1 square horizontally or vertically per turn. Players may jump each other horizontally and vertically, when in adjacent squares.
To place a wall, click on the area between two squares. Each player has nine walls, pictured at their end of the board. They may be placed across rows and columns to block the opponent. One wall covers two rows or columns. Vertical walls are placed up from the row clicked, horizontal walls are placed to the right of the column clicked. The opponent's path may never be completely blocked.
Various diagonal player jumps are allowed when a wall blocks the direct jump. Experiment and learn them all! Have fun!
1) Human vs. Human
- white token moves first
- first player to opposite side wins
2) Human vs. Computer
- you are the white token
- you move first
- first player to opposite side wins")
(set-dialog-item-value (widget ':directions-go-away ':form1) "Click to remove directions")
(set-dialog-item-value (widget ':directions ':form1) "")
t)
(defun FORM1-DIRECTIONS-GO-AWAY-ON-CLICK (DIALOG WIDGET)
(DECLARE (IGNORE-IF-UNUSED DIALOG WIDGET))
(set-dialog-item-value (widget ':directions-go-away ':form1) "")
(set-dialog-item-value (widget ':directions-text ':form1) "")
(set-dialog-item-value (widget ':directions ':form1) "Click here for directions")
t)
Back to Top
<- Back to Main Doc Page