Variable: gomoku-score-trans-table
gomoku-score-trans-table is a variable defined in gomoku.el.gz.
Value
[7 15 400 1800 100000 0 35 0 0 0 0 0 800 0 0 0 0 0 15000 0 0 0 0 0 800000 0 0 0 0 0 0]
Documentation
Vector associating qtuple contents to their score.
Source Code
;; Defined in /usr/src/emacs/lisp/play/gomoku.el.gz
;; These values are not just random: if, given the following situation:
;;
;; . . . . . . . O .
;; . X X a . . . X .
;; . . . X . . . X .
;; . . . X . . . X .
;; . . . . . . . b .
;;
;; you want Emacs to play in "a" and not in "b", then the parameters must
;; satisfy the inequality:
;;
;; 6 * gomoku-XXscore > gomoku-XXXscore + gomoku-XXscore
;;
;; because "a" mainly belongs to six "XX" qtuples (the others are less
;; important) while "b" belongs to one "XXX" and one "XX" qtuples. Other
;; conditions are required to obtain sensible moves, but the previous example
;; should illustrate the point. If you manage to improve on these values,
;; please send me a note. Thanks.
;; As we chose values 0, 1 and 6 to denote empty, X and O squares, the
;; contents of a qtuple are uniquely determined by the sum of its elements and
;; we just have to set up a translation table.
(defconst gomoku-score-trans-table
(vector gomoku-nil-score gomoku-Xscore gomoku-XXscore gomoku-XXXscore gomoku-XXXXscore 0
gomoku-Oscore 0 0 0 0 0
gomoku-OOscore 0 0 0 0 0
gomoku-OOOscore 0 0 0 0 0
gomoku-OOOOscore 0 0 0 0 0
0)
"Vector associating qtuple contents to their score.")