"Vector recording the actual state of the Gomoku board.")
(defvar gomoku-vector-length nil
- "Length of gomoku-board vector.")
+ "Length of `gomoku-board' vector.")
(defvar gomoku-draw-limit nil
;; This is usually set to 70% of the number of squares.
(/ index (1+ gomoku-board-width)))
(defun gomoku-init-board ()
- "Create the gomoku-board vector and fill it with initial values."
+ "Create the `gomoku-board' vector and fill it with initial values."
(setq gomoku-board (make-vector gomoku-vector-length 0))
;; Every square is 0 (i.e. empty) except padding squares:
(let ((i 0) (ii (1- gomoku-vector-length)))
(cond ((< gomoku-number-of-moves 20)
"This was a REALLY QUICK win.")
(gomoku-human-refused-draw
- "I won... Too bad you refused my offer of a draw!")
+ "I won... Too bad you refused my offer of a draw!")
(gomoku-human-took-back
- "I won... Taking moves back will not help you!")
+ "I won... Taking moves back will not help you!")
((not gomoku-emacs-played-first)
- "I won... Playing first did not help you much!")
+ "I won... Playing first did not help you much!")
((and (zerop gomoku-number-of-human-wins)
(zerop gomoku-number-of-draws)
(> gomoku-number-of-emacs-wins 1))
(let (square score)
(setq square (gomoku-point-square))
(cond ((null square)
- (error "Your point is not on a square. Retry!"))
+ (error "Your point is not on a square. Retry!"))
((not (zerop (aref gomoku-board square)))
- (error "Your point is not on a free square. Retry!"))
+ (error "Your point is not on a free square. Retry!"))
(t
(setq score (aref gomoku-score-table square))
(gomoku-play-move square 1)
(sit-for 4)
(gomoku-prompt-for-other-game))
((zerop gomoku-number-of-human-moves)
- (message "You have not played yet... Your move?"))
+ (message "You have not played yet... Your move?"))
(t
(message "One moment, please...")
;; It is possible for the user to let Emacs play several consecutive
(defun gomoku-prompt-for-move ()
"Display a message asking for Human's move."
(message (if (zerop gomoku-number-of-human-moves)
- "Your move? (move to a free square and hit X, RET ...)"
+ "Your move? (Move to a free square and hit X, RET ...)"
"Your move?"))
;; This may seem silly, but if one omits the following line (or a similar
;; one), the cursor may very well go to some place where POINT is not.
(defun gomoku-offer-a-draw ()
"Offer a draw and return t if Human accepted it."
- (or (y-or-n-p "I offer you a draw. Do you accept it? ")
+ (or (y-or-n-p "I offer you a draw. Do you accept it? ")
(not (setq gomoku-human-refused-draw t))))
\f
;;;