(define "EastDoor" 38) (define "SiteToMoveOnSelectedTrack" (if (= (state at:(from)) 1) ("NextSiteOnTrack" ("ThrowValue") "TrackCW") ("NextSiteOnTrack" ("ThrowValue") "TrackCCW") ) ) (define "SiteToMoveOnTrackCW" ("NextSiteOnTrack" ("ThrowValue") "TrackCW")) (define "SiteToMoveOnTrackCCW" ("NextSiteOnTrack" ("ThrowValue") "TrackCCW")) (define "ThrowValue" (if (= (count Pips) 3) 5 (if (= (count Pips) 0) 10 (if (= (count Pips) 1) 2 (if (= (face 44) 1) // look the notched die because count pips = 2 15 3 ) ) ) ) ) (define "NextSite" ("NextSiteOnTrack" 1 from:#1 #2)) (define "MadeACompleteCircuit" (if (= 1 (state at:(where "Stick" Mover))) (is In "EastDoor" (sites Track "TrackCW" from:("NextSite" (last From) "TrackCW") to:(last To))) (is In "EastDoor" (sites Track "TrackCCW" from:("NextSite" (last From) "TrackCCW") to:(last To))) ) ) (define "ReachEastDoor" (= (last To) "EastDoor")) (define "MoveOn" (if ("IsNotOffBoard" #1) (move (from (from) level:(level)) (to #1 if: ) ) #2 ) ) //------------------------------------------------------------------------------ (game "Owasokotz" (players ) (equipment { ("FortyStonesWithFourGapsBoard" { (track "TrackCW" {39 35 33 31 29 27 25 23 21 19 38 17 15 13 11 9 7 5 3 1 37 0 2 4 6 8 10 12 14 16 36 18 20 22 24 26 28 30 32 34} loop:True) (track "TrackCCW" {39 34 32 30 28 26 24 22 20 18 36 16 14 12 10 8 6 4 2 0 37 1 3 5 7 9 11 13 15 17 38 19 21 23 25 27 29 31 33 35} loop:True) } ) (regions "AllSites" (sites Board)) (piece "Stick" Each (if (= (state at:(from)) 0) (or ("MoveOn" ("NextSiteOnTrack" ("ThrowValue") "TrackCCW") (then (set State at:(last To) 2))) ("MoveOn" ("NextSiteOnTrack" ("ThrowValue") "TrackCW") (then (set State at:(last To) 1))) ) ("MoveOn" ("SiteToMoveOnSelectedTrack" ("ThrowValue"))) ) ) ("StickDice" 3) (hand Each) }) (rules (start (place Stack items: Edge "EastDoor")) (play ("RollMove" (forEach Piece))) (end (if (result Mover Win) ) ) ) ) //------------------------------------------------------------------------------ (option "Players" args:{ } { (item "2" <2> <{"Stick2" "Stick1"}> "The game has 2 players.") (item "3" <3> <{"Stick3" "Stick2" "Stick1"}> "The game has 3 players.") (item "4" <4> <{"Stick4" "Stick3" "Stick2" "Stick1"}> "The game has 4 players.")* (item "5" <5> <{"Stick5" "Stick4" "Stick3" "Stick2" "Stick1"}> "The game has 5 players.") (item "6" <6> <{"Stick6" "Stick5" "Stick4" "Stick3" "Stick2" "Stick1"}> "The game has 6 players.") (item "7" <7> <{"Stick7" "Stick6" "Stick5" "Stick4" "Stick3" "Stick2" "Stick1"}> "The game has 7 players.") (item "8" <8> <{"Stick8" "Stick7" "Stick6" "Stick5" "Stick4" "Stick3" "Stick2" "Stick1"}> "The game has 8 players.") }) (option "Variant" args:{ } { (item "PassEastDoor" <> <(is Empty #1)> <(and (not (was Pass)) ("MadeACompleteCircuit"))> "The goal is to pass the east door." ) (item "ReachEastDoor" <("HittingCapture" "EastDoor")> <(or ("IsEnemyAt" #1) (is Empty #1))> <(and (not (was Pass)) ("ReachEastDoor"))> "The goal is to reach the east door and capture is allowed.") }) //------------------------------------------------------------------------------ (rulesets { (ruleset "Ruleset/Owasokotz Pass (Observed)" { "Variant/PassEastDoor" "Players/4" } variations:{ "Players/2" "Players/3" "Players/5" "Players/6" "Players/7" "Players/8" } )* (ruleset "Ruleset/Owasokotz Enter (Observed)" { "Variant/ReachEastDoor" "Players/4" } variations:{ "Players/2" "Players/3" "Players/5" "Players/6" "Players/7" "Players/8" } ) }) //------------------------------------------------------------------------------ (metadata (info { (description "Owasokotz is a race game played by the Kawalka people of New Mexico. It can be played two ways, one which requires the player to pass the starting point, and another which requires the player to land exactly on the starting point, which also allows players to send each other back to start.") (aliases {"Wasokuts"}) (useFor "Ruleset/Owasokotz Pass (Observed)" (rules "Forty stones arranged in a circle, with a larger gap after every tenth stone. These gaps are known as doors. Any number of players, each player begins with one piece, which begins at the east door. Three sticks used as dice, black on one side, white on the other, with one stick notched on the white side. The throws are as follows: two black with one notched white side up = 15; three white sides up = 10; two black and one white, not notched = 3, two white and one black = 2, three black = 5. Throws of 10 and 15 grant the player another throw. Players may move in either direction around the circle. To win, the player must complete a circuit of the board and pass the east door.")) (useFor "Ruleset/Owasokotz Pass (Observed)" (source "Culin 1907: 121-122.")) (useFor "Ruleset/Owasokotz Pass (Observed)" (id "836")) (useFor "Ruleset/Owasokotz Enter (Observed)" (rules "When a player's piece lands on a space occupied by an opponent's piece, the opponent's piece is sent back to the east door. The first player to reach the east door after making a circuit, whether passing it or landing exactly on it, the player wins.")) (useFor "Ruleset/Owasokotz Enter (Observed)" (source "Culin 1907: 122.")) (useFor "Ruleset/Owasokotz Enter (Observed)" (id "837")) (source "Murray 1951: 153.") (id "836") (version "1.3.12") (classification "board/race/reach") (credit "Eric Piette") (origin "This game was played in New Mexico, around 1907.") } ) (graphics { (piece Scale "Marker" 0.5) (stackType 0 Ground) (show Edges (colour Hidden)) (show Symbol "disc" "AllSites" Vertex fillColour:(colour Grey) edgeColour:(colour Black) scale:0.5) (board Background image:"disc" edgeColour:(colour Black) scale:0.1) (piece Colour "Die" state:1 fillColour:(colour Black)) }) )