(define "MoveInTheEnemyHome" (and { (is In (from) (sites Next)) (is In (to) (sites Next)) (is Empty (to)) }) ) (define "MoveSomewhereElseButInOurHome" (and (not (is In (from) (sites Next))) (if (not (is In (from) (sites Mover))) (is In (to) (difference (sites Empty) (sites Mover))) (is Empty (to)) ) ) ) //------------------------------------------------------------------------------ (game "Ho-Bag Gonu" (players 2) (equipment { (board (add (merge { (rectangle 1 3) (shift 1 1 (scale 0.5 (concentric {1 4}))) (shift 0 2 (rectangle 1 3)) } ) edges:{{5 1} {9 7}} ) use:Vertex ) (piece "Disc" Each (move Step (to if:(or "MoveInTheEnemyHome" "MoveSomewhereElseButInOurHome" ) ) ) ) (regions "Home" P1 (sites {"A1" "C1" "E1"})) (regions "Home" P2 (sites {"A5" "C5" "E5"})) }) (rules (start { (place "Disc1" (sites P1)) (place "Disc2" (sites P2)) }) (play (forEach Piece)) (end ("NoMoves" Loss)) ) ) //------------------------------------------------------------------------------ (metadata (info { (description "Ho-Bag Gonu is a Korean game with an uncertain history. It is a blockade game, similar to others found throughout Asia.") (rules "Each player has three pieces. Players take turns moving a piece to an empty dot. Players cannot return to their starting three dots. Pieces that move into the opponent’s starting three dots cannot exit them. A player wins by blocking the other player from being able to move.") (source "nol2i") (id "573") (version "1.3.13") (classification "board/space/blocking") (credit "Eric Piette") } ) (ai "Ho-Bag Gonu_ai" ) )