(define "ReachedTarget" (is In (last To) (sites Mover))) //------------------------------------------------------------------------------ (game "Bombardment" ("TwoPlayersNorthSouth") (equipment { (board (square 8)) (piece "NuclearBomb" Each (or ("StepForwardsToEmpty") (move Select (from (from)) (then (forEach Site (sites Around (last To) includeSelf:True) (if (is Occupied (site)) (remove (site))) ) ) ) ) ) (regions P1 (sites Top)) (regions P2 (sites Bottom)) }) (rules (start { (place "NuclearBomb1" (expand (sites Bottom))) (place "NuclearBomb2" (expand (sites Top))) }) (play (forEach Piece)) (end (if (or ("ReachedTarget") (no Pieces Next)) (result Mover Win))) ) ) //------------------------------------------------------------------------------ (metadata (info { (description "This game is played on the following 8x8 board and can be considered as a variant of Breakthrough.") (rules "MOVE - On each turn, each player must do one of the following actions: - Move one friendly stone (the missiles) one cell forward (orthogonally or diagonally) - Explode one friendly stone, i.e., capture all stones of either color orthogonally and diagonally adjacent including itself. GOAL - Wins the player that move a stone into the last row, or is the only with stones in the board.") (id "1802") (source "www.di.fc.ul.pt") (version "1.3.14") (classification "board/race/reach") (author "Chris Huntoon") (credit "Eric Piette") (date "2003") } ) (graphics { (board Style Chess) (piece Rotate "NuclearBomb1" degrees:180) }) (ai "Bombardment_ai" ) )