(define "SlideToCapture" (move Slide "AllTracks" (between if:(or (= (between) (from)) (is Empty (between)) ) ) (to if:("IsEnemyAt" (to)) (apply if:False (remove (to))) ) ) ) //------------------------------------------------------------------------------ (game "Ja-Jeon-Geo-Gonu" (players 2) (equipment { (board (square 4) { (track "Track1" {14 14 11 10 9 8 8 13 9 5 1 1 4 5 6 7 7 2 6 10} loop:True directed:True) (track "Track2" {11 11 14 10 6 2 2 7 6 5 4 4 1 5 9 13 13 8 9 10} loop:True directed:True) } use:Vertex ) (piece "Disc" Each (or { ("StepToEmpty" Orthogonal) ("SlideToCapture") }) ) }) (rules (start { }) (play (forEach Piece)) (end ("CaptureAll" Next)) ) ) //------------------------------------------------------------------------------ (option "Start Rules" args:{ } { (item "Corners" < (place "Disc1" {"A3" "B3" "A4" "B4"}) (place "Disc2" {"C1" "D1" "C2" "D2"}) > "The pieces are placed in the corners." )** (item "Not corners" < (place "Disc1" {"C4" "B3" "A4" "D3"}) (place "Disc2" {"B1" "D1" "B2" "D2"}) > "The pieces are placed are specific positions." ) }) //------------------------------------------------------------------------------ (metadata (info { (description "Ja-Jeon-Geo-Gonu is a Korean game of uncertain history.") (aliases {"자전거고누" "Bicycle Game"}) (rules "Played on a board similar to Surakarta, but smaller. Players begin with four pieces, arranged in the square of spaces in their bottom right corner. Players take turns moving a piece to one adjacent spot. To capture an opponent's piece, you must move along the curved loops. The spot at the immediate end of the loop must be empty, but the piece may continue as far as the player wishes, including moving along successive loops, or until they make a capture or are stopped by their own piece.") (source "nol2i") (id "574") (version "1.3.14") (classification "board/war/replacement/eliminate/all") (credit "Eric Piette") } ) (graphics (board Style Surakarta)) (ai "Ja-Jeon-Geo-Gonu_ai" ) )