(define "NewBiggerGroup" (< (size Group at:(last From) Orthogonal if:(or (= (to) (from)) (= (who at:(to)) Mover))) (size Group at:(last To) Orthogonal if:(= (who at:(to)) Mover)) ) ) (define "OneSingleGroupPieces" (= 1 (count Groups Orthogonal if:(= (who at:(to)) Mover))) ) //------------------------------------------------------------------------------ (game "Bounce" (players 2) (equipment { (board (square 8)) (piece "Marker" Each (do (move (from) (to (sites Empty)) ) ifAfterwards:("NewBiggerGroup") ) ) }) (rules (start { (place "Marker1" (difference (sites Phase 1) (sites Corners))) (place "Marker2" (difference (sites Phase 0) (sites Corners))) }) (play (priority { (forEach Piece) (move Remove (sites Occupied by:Mover)) }) ) (end (if ("OneSingleGroupPieces") (result Mover Win))) ) ) //------------------------------------------------------------------------------ (metadata (info { (description "Bounce is a two-player game played on a square board of any even size.") (rules "The board is initially filled with a checkerboard pattern of red and blue checkers, except the corner squares, which are unoccupied. A group here is a monocolored, orthogonally interconnected group of checkers. If, at the conclusion of your turn, all of your checkers are in one group, you win. Starting with Red, players take turns moving one of their checkers to an unoccupied square. The checker you move must be part of a larger group after your move than it was before your move. If you don't have any legal moves available on your turn, you must instead remove any one of your checkers from the board, concluding your turn.") (id "4265") (source "marksteeregames") (version "1.3.14") (classification "board/space/group") (author "Mark Steere") (credit "Eric Piette") (date "2023") } ) (graphics { (player Colour P1 (colour Red)) (player Colour P2 (colour Blue)) (board Colour Phase0 (colour 223 178 110)) (board Colour InnerEdges (colour Black)) (board Colour OuterEdges (colour Black)) }) )