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.")