; Emulation Chess ; The game was created by Jason Shields in June 2002 ; This ZRF file was composed by Doug Chatham, using the ZRF file ; for Chess created by Zillions Development: ; *** Chess ; *** Copyright 1998-2000 Zillions Development ; v.1.2 ; You need to purchase Zillions of Games to load this rules file ; Visit the Zillions web site at http://www.zillions-of-games.com (define adjac (verify (or (piece? $1 ne) (piece? $1 n) (piece? $1 nw) (piece? $1 e) (piece? $1 w) (piece? $1 se) (piece? $1 s) (piece? $1 sw)))) (define leap2 ((adjac Knight) $1 $2 (verify not-friend?) add) ) (define king-shift ((adjac King) $1 (verify not-friend?) add) ) (define rook-slide ((adjac Rook) $1 (while empty? add $1) (verify not-friend?) add)) (define bishop-slide ((adjac Bishop) $1 (while empty? add $1) (verify not-friend?) add)) (define queen-slide ((adjac Queen) $1 (while empty? add $1) (verify not-friend?) add)) (define Pawn-add (if (in-zone? promotion-zone) (add Knight Bishop Rook Queen) else (if (in-zone? second-rank) (add 2ndrankPawn) else (add Pawn)))) (define Pawn-move ( (adjac Pawn) n (verify empty?) add )) (define Pawn-capture ( (adjac Pawn) $1 (verify enemy?) add ) ) (define 2Pawn-move ( (adjac 2ndrankPawn) n (verify empty?) add n (verify empty?) add) ) (define 2Pawn-capture ( (adjac 2ndrankPawn) $1 (verify enemy?) add ) ) (define P-leap2 ((adjac Knight) $1 $2 (verify not-friend?) (Pawn-add)) ) (define P-king-shift ((adjac King) $1 (verify not-friend?) (Pawn-add)) ) (define P-rook-slide ((adjac Rook) $1 (while empty? (Pawn-add) $1) (verify not-friend?) (Pawn-add))) (define P-bishop-slide ((adjac Bishop) $1 (while empty? (Pawn-add) $1) (verify not-friend?) (Pawn-add))) (define P-queen-slide ((adjac Queen) $1 (while empty? (Pawn-add) $1) (verify not-friend?) (Pawn-add))) (define P-Pawn-move ( (adjac Pawn) n (verify empty?) (Pawn-add) ) ) (define P-Pawn-capture ( (adjac Pawn) $1 (verify enemy?) (Pawn-add) ) ) (define P-2Pawn-move ( (adjac 2ndrankPawn) n (verify empty?) (Pawn-add) n (verify empty?) (Pawn-add) ) ) (define P-2Pawn-capture ( (adjac 2ndrankPawn) $1 (verify enemy?) (Pawn-add) ) ) (define Board-Definitions (image "images\Chess\Chess8x8.bmp") (grid (start-rectangle 5 5 53 53) (dimensions ("a/b/c/d/e/f/g/h" (49 0)) ; files ("8/7/6/5/4/3/2/1" (0 49)) ; ranks ) (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0) (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1) ) ) (symmetry Black (n s)(s n) (nw sw)(sw nw) (ne se)(se ne)) (zone (name promotion-zone) (players White) (positions a8 b8 c8 d8 e8 f8 g8 h8) ) (zone (name promotion-zone) (players Black) (positions a1 b1 c1 d1 e1 f1 g1 h1) ) (zone (name second-rank) (players White) (positions a2 b2 c2 d2 e2 f2 g2 h2) ) (zone (name second-rank) (players Black) (positions a7 b7 c7 d7 e7 f7 g7 h7) ) (zone (name seventh-rank) (players White) (positions a7 b7 c7 d7 e7 f7 g7 h7) ) (zone (name seventh-rank) (players Black) (positions a2 b2 c2 d2 e2 f2 g2 h2) ) ) (game (title "Emulation Chess") (description "In this chess variant, a piece moves like any adjacent piece would move in ordinary chess. An isolated piece cannot move. The goal is to either checkmate or stalemate the opponent. See the Chess Variant Pages at chessvariants.com for more details.") (history "This chess variant was invented by Jason Shields in June 2002. More information can be found at chessvariants.com.") (win-sound "Audio\Orchestra_CF.wav") (loss-sound "Audio\Orchestra_FC.wav") (click-sound "Audio\Pickup.wav") (release-sound "Audio\WoodThunk.wav") (players White Black) (turn-order White Black) (pass-turn false) (board (Board-Definitions)) (board-setup (White (2ndrankPawn a2 b2 c2 d2 e2 f2 g2 h2) (Knight b1 g1) (Bishop c1 f1) (Rook a1 h1) (Queen d1) (King e1) ) (Black (2ndrankPawn a7 b7 c7 d7 e7 f7 g7 h7) (Knight b8 g8) (Bishop c8 f8) (Rook a8 h8) (Queen d8) (King e8) ) ) (piece (name Pawn) (help "Pawn: Any adjacent piece moves forward and captures diagonally. A Pawn can promote on 8th row") (description "Pawn\A piece adjacent to a Pawn can move straight ahead one square. A piece adjacent to a Pawn captures by moving one square ahead and diagonally. If a Pawn reaches the far rank it promotes, changing into a Knight, Bishop, Rook, or Queen.") (image White "images\Chess\wpawn.bmp" Black "images\Chess\bpawn.bmp") (notation "Pawn") (moves (P-Pawn-capture nw) (P-Pawn-capture ne) (P-Pawn-move) (P-2Pawn-capture nw) (P-2Pawn-capture ne) (P-2Pawn-move) (P-leap2 n ne) (P-leap2 n nw) (P-leap2 s se) (P-leap2 s sw) (P-leap2 e ne) (P-leap2 e se) (P-leap2 w nw) (P-leap2 w sw) (P-bishop-slide ne) (P-bishop-slide nw) (P-bishop-slide se) (P-bishop-slide sw) (P-queen-slide n) (P-queen-slide e) (P-queen-slide s) (P-queen-slide w) (P-queen-slide ne) (P-queen-slide nw) (P-queen-slide se) (P-queen-slide sw) (P-rook-slide n) (P-rook-slide e) (P-rook-slide s) (P-rook-slide w) (P-king-shift n) (P-king-shift e) (P-king-shift s) (P-king-shift w) (P-king-shift ne) (P-king-shift nw) (P-king-shift se) (P-king-shift sw) ) ) (piece (name 2ndrankPawn) (help "Pawn: Any adjacent piece moves forward and captures diagonally. A Pawn can promote on 8th row") (description "Pawn\A piece adjacent to a Pawn on its second rank can move straight ahead one square or two squares, unless another piece is in the way. A piece adjacent to a Pawn captures by moving one square ahead and diagonally. If a Pawn reaches the far rank it promotes, changing into a Knight, Bishop, Rook, or Queen.") (image White "images\Chess\wpawn.bmp" Black "images\Chess\bpawn.bmp") (notation "Pawn") (moves (P-2Pawn-capture nw) (P-2Pawn-capture ne) (P-2Pawn-move) (P-Pawn-capture nw) (P-Pawn-capture ne) (P-Pawn-move) (P-leap2 n ne) (P-leap2 n nw) (P-leap2 s se) (P-leap2 s sw) (P-leap2 e ne) (P-leap2 e se) (P-leap2 w nw) (P-leap2 w sw) (P-bishop-slide ne) (P-bishop-slide nw) (P-bishop-slide se) (P-bishop-slide sw) (P-queen-slide n) (P-queen-slide e) (P-queen-slide s) (P-queen-slide w) (P-queen-slide ne) (P-queen-slide nw) (P-queen-slide se) (P-queen-slide sw) (P-rook-slide n) (P-rook-slide e) (P-rook-slide s) (P-rook-slide w) (P-king-shift n) (P-king-shift e) (P-king-shift s) (P-king-shift w) (P-king-shift ne) (P-king-shift nw) (P-king-shift se) (P-king-shift sw) ) ) (piece (name Knight) (help "Knight: Adjacent pieces move like an `L`, 2 squares one way and one the other") (description "Knight\Any piece adjacent to a Knight moves like an `L`, two squares vertically plus one horizontally, or two squares horizontally plus one vertically. It hops over any pieces on the way.") (image White "images\Chess\wknight.bmp" Black "images\Chess\bknight.bmp") (moves (Pawn-capture nw) (Pawn-capture ne) (Pawn-move) (2Pawn-capture nw) (2Pawn-capture ne) (2Pawn-move) (leap2 n ne) (leap2 n nw) (leap2 s se) (leap2 s sw) (leap2 e ne) (leap2 e se) (leap2 w nw) (leap2 w sw) (rook-slide n) (rook-slide e) (rook-slide s) (rook-slide w) (bishop-slide ne) (bishop-slide nw) (bishop-slide se) (bishop-slide sw) (queen-slide n) (queen-slide e) (queen-slide s) (queen-slide w) (queen-slide ne) (queen-slide nw) (queen-slide se) (queen-slide sw) (king-shift n) (king-shift e) (king-shift s) (king-shift w) (king-shift ne) (king-shift nw) (king-shift se) (king-shift sw) ) ) (piece (name Bishop) (help "Bishop: Adjacent pieces slide diagonally any number of squares") (description "Bishop\Any piece adjacent to a Bishop moves any number of squares on a diagonal. It may not leap over other pieces.") (image White "images\Chess\wbishop.bmp" Black "images\Chess\bbishop.bmp") (moves (Pawn-capture nw) (Pawn-capture ne) (Pawn-move) (2Pawn-capture nw) (2Pawn-capture ne) (2Pawn-move) (leap2 n ne) (leap2 n nw) (leap2 s se) (leap2 s sw) (leap2 e ne) (leap2 e se) (leap2 w nw) (leap2 w sw) (bishop-slide ne) (bishop-slide nw) (bishop-slide se) (bishop-slide sw) (rook-slide n) (rook-slide e) (rook-slide s) (rook-slide w) (queen-slide n) (queen-slide e) (queen-slide s) (queen-slide w) (queen-slide ne) (queen-slide nw) (queen-slide se) (queen-slide sw) (king-shift n) (king-shift e) (king-shift s) (king-shift w) (king-shift ne) (king-shift nw) (king-shift se) (king-shift sw) ) ) (piece (name Rook) (help "Rook: Adjacent pieces slide any number of squares along the row or column.") (description "Rook\Any piece adjacent to a Rook moves any number of squares orthogonally on a rank or a file. It may not leap over other pieces.") (image White "images\Chess\wrook.bmp" Black "images\Chess\brook.bmp") (moves (Pawn-capture nw) (Pawn-capture ne) (Pawn-move) (2Pawn-capture nw) (2Pawn-capture ne) (2Pawn-move) (leap2 n ne) (leap2 n nw) (leap2 s se) (leap2 s sw) (leap2 e ne) (leap2 e se) (leap2 w nw) (leap2 w sw) (bishop-slide ne) (bishop-slide nw) (bishop-slide se) (bishop-slide sw) (rook-slide n) (rook-slide e) (rook-slide s) (rook-slide w) (queen-slide n) (queen-slide e) (queen-slide s) (queen-slide w) (queen-slide ne) (queen-slide nw) (queen-slide se) (queen-slide sw) (king-shift n) (king-shift e) (king-shift s) (king-shift w) (king-shift ne) (king-shift nw) (king-shift se) (king-shift sw) ) ) (piece (name Queen) (help "Queen: Adjacent pieces can slide any number of squares in any direction") (description "Queen\Any piece adjacent to a Queen moves any number of squares in a straight line. It may not leap over other pieces.") (image White "images\Chess\wqueen.bmp" Black "images\Chess\bqueen.bmp") (moves (Pawn-capture nw) (Pawn-capture ne) (Pawn-move) (2Pawn-capture nw) (2Pawn-capture ne) (2Pawn-move) (leap2 n ne) (leap2 n nw) (leap2 s se) (leap2 s sw) (leap2 e ne) (leap2 e se) (leap2 w nw) (leap2 w sw) (bishop-slide ne) (bishop-slide nw) (bishop-slide se) (bishop-slide sw) (rook-slide n) (rook-slide e) (rook-slide s) (rook-slide w) (queen-slide n) (queen-slide e) (queen-slide s) (queen-slide w) (queen-slide ne) (queen-slide nw) (queen-slide se) (queen-slide sw) (king-shift n) (king-shift e) (king-shift s) (king-shift w) (king-shift ne) (king-shift nw) (king-shift se) (king-shift sw) ) ) (piece (name King) (help "King: Adjacent pieces step 1 square in any direction") (description "King\Any piece adjacent to a King can move to any adjacent square. In this variant, there is no castling move.") (image White "images\Chess\wking.bmp" Black "images\Chess\bking.bmp") (moves (Pawn-capture nw) (Pawn-capture ne) (Pawn-move) (2Pawn-capture nw) (2Pawn-capture ne) (2Pawn-move) (leap2 n ne) (leap2 n nw) (leap2 s se) (leap2 s sw) (leap2 e ne) (leap2 e se) (leap2 w nw) (leap2 w sw) (bishop-slide ne) (bishop-slide nw) (bishop-slide se) (bishop-slide sw) (rook-slide n) (rook-slide e) (rook-slide s) (rook-slide w) (queen-slide n) (queen-slide e) (queen-slide s) (queen-slide w) (queen-slide ne) (queen-slide nw) (queen-slide se) (queen-slide sw) (king-shift n) (king-shift e) (king-shift s) (king-shift w) (king-shift ne) (king-shift nw) (king-shift se) (king-shift sw) ) ) (loss-condition (White Black) (checkmated King) ) (loss-condition (White Black) stalemated ) )