(include "Z_GenImg.lib") (define deadspaces b2 b3 b4 b5 b6 b7 b8 c8 d8 e8 f8 g8 h8 h7 h6 h5 h4 h3 h2 g2 f2 e2 d2 c2 ) (define score1p to z00 ) (define score2p to z00 (while not-empty? next-cell) (create OnePoint) ) (define score3p (score2p) next-cell (create OnePoint) ) (define droppable (move-type droppable-move) ( (verify (in-zone? outer-zone)) c3 (while true (if empty? add) next-cell ) ) ) (define movable (move-type movable-move) ) (define add1 (if (or (piece? King) (piece? Queen)) (score3p)) (if (or (piece? Rook) (piece? Knight) (piece? Bishop)) (score2p)) (if (piece? Pawn) (score1p)) add ) (define step1 ( (verify (in-zone? inner-zone)) $1 (verify enemy?) (add1) ) ) (define step2 ( (verify (in-zone? inner-zone)) $1 $2 (verify enemy?) (add1) ) ) (define rider ( (verify (in-zone? inner-zone)) $1 (while empty? $1) (verify enemy?) (add1) ) ) (game (title "Re") (players Red Cyan Neutral) (board (9x9board) (grid (start-rectangle 0 300 0 300) (dimensions ("z" (0 0)) ( "00/01/02/03/04/05/06/07/08/09/10/11/12/13/14/15/16/17/18/19" (0 0) ) ) (directions (next-cell 0 1) ) ) (unlink (deadspaces)) (links next-cell (g3 c4) (g4 c5) (g5 c6) (g6 c7)) (full-symmetry Cyan) (zone (name inner-zone) (players Red Cyan) (positions c7 d7 e7 f7 g7 c6 d6 e6 f6 g6 c5 d5 e5 f5 g5 c4 d4 e4 f4 g4 c3 d3 e3 f3 g3 ) ) (zone (name outer-zone) (players Red Cyan) (positions a1 a2 a3 a4 a5 a6 a7 a8 a9 i1 i2 i3 i4 i5 i6 i7 i8 i9 b1 c1 d1 e1 f1 g1 h1 b9 c9 d9 e9 f9 g9 h9 ) ) ) (board-setup (Red (Pass i1) (King g1) (Queen i3) (Rook f1 i4) (Knight e1 i5) (Bishop d1 i6) (Pawn c1 i7) ) (Cyan (Pass a9) (King c9) (Queen a7) (Rook d9 a6) (Knight e9 a5) (Bishop f9 a4) (Pawn g9 a3) ) (Neutral (deadspace (deadspaces)) ) ) (turn-order Red Cyan) (count-condition (Red Cyan) stalemated) (count-condition (Red Cyan) repetition) (piece (name deadspace) (image_deadspace) ) (piece (name King) (image_K) (moves (droppable) (movable) (step1 n) (step1 e) (step1 w) (step1 s) (step1 ne) (step1 nw) (step1 sw) (step1 se) ) ) (piece (name Queen) (image_Q) (moves (droppable) (movable) (rider n) (rider e) (rider w) (rider s) (rider ne) (rider nw) (rider sw) (rider se) ) ) (piece (name Rook) (image_R) (moves (droppable) (movable) (rider n) (rider e) (rider w) (rider s) ) ) (piece (name Knight) (image_N) (moves (droppable) (movable) (step2 n nw) (step2 n ne) (step2 e ne) (step2 e se) (step2 s sw) (step2 s se) (step2 w nw) (step2 w sw) ) ) (piece (name Bishop) (image_B) (moves (droppable) (movable) (rider ne) (rider nw) (rider sw) (rider se) ) ) (piece (name Pawn) (image_P) (moves (droppable) (movable) (step1 ne) (step1 nw) ) ) (piece (name Pass) (image__) (moves (movable) ( mark (while (on-board? n) n (verify empty?) ) back (while (on-board? w) w (verify empty?) ) back (add Pass) ) ) ) (piece (name OnePoint) (image_1) (moves (n add) ) ) ) (variant (title "Re-2") (move-priorities droppable-move movable-move) )