(define "RemoveSurrounded" (forEach Site (sites Occupied by:Next) (if (= (count Liberties at:(site) Orthogonal) 0) (move Remove (site) (then (addScore Mover 1))))) ) //------------------------------------------------------------------------------ (game "BlooGo" (players 2) (equipment { (board use:Vertex) (piece "Ball" Each) }) (rules (meta (no Repeat)) (play (move Add (to (sites Empty)) (then "RemoveSurrounded" ) ) ) (end { (if (>= (score Mover) ) (result Mover Win) ) }) ) ) //------------------------------------------------------------------------------ (option "Board Size" args:{ } { (item "9x9" <(square 9)> "The game is played on a 9x9 board")** (item "13x13" <(square 13)> "The game is played on a 13x13 board") (item "15x15" <(square 15)> "The game is played on a 15x15 board") (item "19x19" <(square 19)> "The game is played on a 19x19 board") }) (option "Capture Threshold" args:{ } { (item "1" <1> "1 capture to win.") (item "2" <2> "2 captures to win.") (item "3" <3> "2 captures to win.") (item "4" <4> "4 captures to win.") (item "5" <5> "5 captures to win.")** (item "6" <6> "6 captures to win.") (item "7" <7> "7 captures to win.") (item "8" <8> "8 captures to win.") (item "9" <9> "9 captures to win.") (item "10" <10> "10 captures to win.") (item "15" <15> "15 captures to win.") (item "20" <20> "20 captures to win.") (item "25" <25> "25 captures to win.") (item "30" <30> "30 captures to win.") (item "35" <35> "35 captures to win.") (item "40" <40> "40 captures to win.") (item "45" <45> "45 captures to win.") (item "50" <50> "50 captures to win.") }) //------------------------------------------------------------------------------ (metadata (info { (description "BlooGo is a Go variant inspired by the game Blooms by Nick Bentley. In BlooGo, suicide is allowed, no passing is allowed, and the first player to capture a certain number of enemy stones wins.") (rules "Played on a square grid. The board begins empty. One player plays as Black, the other as White. Players alternate turns placing a piece of their colour on the board; Black plays first. Passing is not allowed. After a move, all opposing pieces without liberties are captured (a stone or group of stones has no liberties if all adjacent points to that stone are occupied). Stones cannot be placed to recreate a previous position. The game ends when one player captures a number of stones equal to a winning threshold agreed upon at the start of the game. Despite not having an explicit territorial goal, this variant produces final positions quite reminiscent of standard Go.") (id "1425") (source "Life in 19x19 Forums") (version "1.3.12") (classification "board/space/territory") (author "Nick Bentley and Luis BolaƱos Mures") (credit "Eric Silverman") (date "2021") } ) (graphics { (board Style Go) (player Colour P1 (colour Black)) (player Colour P2 (colour White)) }) (ai "BlooGo_ai" ) )