; Hippodrome ; invented by Andy Lewicki. ZRF coding by Doug Chatham, based on the code for ; *** Small Chess ; *** Copyright 1998-2002 Zillions Development ; v.2.0 ; You need to purchase Zillions of Games to load this rules file ; Visit the Zillions web site at http://www.zillions-of-games.com ; Movement Macros (define shift ($1 (verify not-friend?) add) ) (define shift2 ($1 $2 (verify not-friend?) add) ) ; Board Macros (define board-4x4 (board (image "images\Chess\SHaag\Chess4x4.bmp" "images\Chess\Chess4x4.bmp") (grid (start-rectangle 5 5 53 53) (dimensions ("a/b/c/d" (49 0)) ; files ("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) ) ) ) ) ; Games ; ************************************************************************ (game (title "Hippodrome") (description "Hit F5 or click on the green light in the toolbar to have the computer randomly place on the board 11 of the 12 non-pawn, non-knight pieces of a standard chess set.\\ Your goal is to move the knights from the bottom row to the top row. You may move any piece on the board according to the rules of standard chess, except there is no capturing, no castling, and no check.") (history "This solitaire game was invented by Andy Lewicki in June 2003. The game is on the Chess Variants Pages at http://www.chessvariants.com/solitaire.dir/hippodrome.html.") (strategy "") (win-sound "Audio\\Orchestra_CF.wav") (loss-sound "Audio\\Orchestra_FC.wav") (click-sound "Audio\\Pickup.wav") (release-sound "Audio\\WoodThunk.wav") (players ?Placer Mover) (turn-order ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer ?Placer repeat Mover) (board-4x4) (board-setup (?Placer (WhiteRook off 2)(BlackRook off 2)(WhiteBishop off 2)(BlackBishop off 2)(WhiteQueen off 1)(BlackQueen off 1)(WhiteKing off 1)(BlackKing off 1)) (Mover (WhiteKnight a1 d1)(BlackKnight b1 c1)) ) (piece (name WhiteKnight) (help "Knight: jumps in an `L`, two one way and one the other") (description "Knight\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 Mover "images\Chess\SHaag\wknight.bmp" "images\Chess\wknight.bmp") (moves (shift2 n ne) (shift2 n nw) (shift2 s se) (shift2 s sw) (shift2 e ne) (shift2 e se) (shift2 w nw) (shift2 w sw) ) (drops ((verify empty?) flip add) ) ) (piece (name WhiteBishop) (help "Bishop: slides any number of squares diagonally") (description "Bishop\A Bishop moves any number of squares on a diagonal. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\wbishop.bmp" "images\Chess\wbishop.bmp") (moves (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (piece (name WhiteRook) (help "Rook: slides any number of squares along the row or column.") (description "Rook\A Rook moves any number of squares orthogonally on a rank or a file. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\wrook.bmp" "images\Chess\wrook.bmp") (moves (shift n) (shift e) (shift s) (shift w) ) (drops ((verify empty?) flip add) ) ) (piece (name WhiteQueen) (help "Queen: slides any number of squares in any direction") (description "Queen\A Queen moves any number of squares in a straight line. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\wqueen.bmp" "images\Chess\wqueen.bmp") (moves (shift n) (shift e) (shift s) (shift w) (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (piece (name WhiteKing) (help "King: steps 1 square in any direction") (description "King\A King can move to any adjacent square.") (image Mover "images\Chess\SHaag\wking.bmp" "images\Chess\wking.bmp") (moves (shift n) (shift e) (shift s) (shift w) (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (piece (name BlackKnight) (help "Knight: jumps in an `L`, two one way and one the other") (description "Knight\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 Mover "images\Chess\SHaag\bknight.bmp" "images\Chess\bknight.bmp") (moves (shift2 n ne) (shift2 n nw) (shift2 s se) (shift2 s sw) (shift2 e ne) (shift2 e se) (shift2 w nw) (shift2 w sw) ) (drops ((verify empty?) flip add) ) ) (piece (name BlackBishop) (help "Bishop: slides any number of squares diagonally") (description "Bishop\A Bishop moves any number of squares on a diagonal. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\bbishop.bmp" "images\Chess\bbishop.bmp") (moves (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (piece (name BlackRook) (help "Rook: slides any number of squares along the row or column.") (description "Rook\A Rook moves any number of squares orthogonally on a rank or a file. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\brook.bmp" "images\Chess\brook.bmp") (moves (shift n) (shift e) (shift s) (shift w) ) (drops ((verify empty?) flip add) ) ) (piece (name BlackQueen) (help "Queen: slides any number of squares in any direction") (description "Queen\A Queen moves any number of squares in a straight line. It may not leap over other pieces.") (image Mover "images\Chess\SHaag\bqueen.bmp" "images\Chess\bqueen.bmp") (moves (shift n) (shift e) (shift s) (shift w) (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (piece (name BlackKing) (help "King: steps 1 square in any direction") (description "King\A King can move to any adjacent square.") (image Mover "images\Chess\SHaag\bking.bmp" "images\Chess\bking.bmp") (moves (shift n) (shift e) (shift s) (shift w) (shift ne) (shift nw) (shift se) (shift sw) ) (drops ((verify empty?) flip add) ) ) (win-condition (Mover) (absolute-config WhiteKnight BlackKnight (a4 b4 c4 d4)) ) )