;;; gomoku.el --- Gomoku game between you and Emacs
-;; Copyright (C) 1988, 1994, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
-;; 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2001-2012 Free Software Foundation, Inc.
;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
;; Maintainer: FSF
;; look rectangular, but spacings SHOULD be at least 2 (MUST BE at least 1).
(defconst gomoku-square-width 4
- "*Horizontal spacing between squares on the Gomoku board.")
+ "Horizontal spacing between squares on the Gomoku board.")
(defconst gomoku-square-height 2
- "*Vertical spacing between squares on the Gomoku board.")
+ "Vertical spacing between squares on the Gomoku board.")
(defconst gomoku-x-offset 3
- "*Number of columns between the Gomoku board and the side of the window.")
+ "Number of columns between the Gomoku board and the side of the window.")
(defconst gomoku-y-offset 1
- "*Number of lines between the Gomoku board and the top of the window.")
+ "Number of lines between the Gomoku board and the top of the window.")
(defvar gomoku-mode-map
(defface gomoku-O
'((((class color)) (:foreground "red" :weight bold)))
- "Face to use for Emacs' O."
+ "Face to use for Emacs's O."
:group 'gomoku)
(defface gomoku-X
'(("O" . 'gomoku-O)
("X" . 'gomoku-X)
("[-|/\\]" 0 (if gomoku-emacs-won 'gomoku-O 'gomoku-X)))
- "*Font lock rules for Gomoku.")
+ "Font lock rules for Gomoku.")
(put 'gomoku-mode 'front-sticky
(put 'gomoku-mode 'rear-nonsticky '(intangible)))
best-square square
score-max score)
(aset gomoku-score-table square -1))) ; no: kill it !
- ;; If score is equally good, choose randomly. But first check freeness:
+ ;; If score is equally good, choose randomly. But first check freedom:
((not (zerop (aref gomoku-board square)))
(aset gomoku-score-table square -1))
((zerop (random (setq count (1+ count))))
(insert-char ?\n gomoku-square-height))
(or (eq (char-after 1) ?.)
(put-text-property 1 2 'point-entered
- (lambda (x y) (if (bobp) (forward-char)))))
+ (lambda (_x _y) (if (bobp) (forward-char)))))
(or intangible
(put-text-property point (point) 'intangible 2))
(put-text-property point (point) 'point-entered
- (lambda (x y) (if (eobp) (backward-char))))
+ (lambda (_x _y) (if (eobp) (backward-char))))
(put-text-property (point-min) (point) 'category 'gomoku-mode))
(gomoku-goto-xy (/ (1+ n) 2) (/ (1+ m) 2)) ; center of the board
(sit-for 0)) ; Display NOW