Owner
There are three main Owners of data in Recycle: the Game, each Player, and each Team. The Player and Team types are more specific types of Owners_, allowing different functionality.
Game
The Game holds storage for Integer_, String_, PointMap_, or CardCollection_ data. These are referenced by a String_ name. For example an Integer_ storage for the number of total chips in the game could be
(game sto CHIPS)
And a CardCollection_ for the stock of face-down cards would be
(game iloc STOCK)
Player
As above, a Player tracks storage for Integer_, String_, PointMap_, or CardCollection_ data. These are referenced by a String_ name. To reference an individual Player, we can directly refer to the initial index of a Player, starting with 1.
([Integer] player)
Also, based on the current turn within a stage, we can referentially talk to the current, previous, and next player. Turn order is determined clock-wise, and the previous player will always use this turn order. The next player also uses this turn order by default, but could be altered within this stage by a NextAction_ queueing up a different player to go next.
(current player)
(previous player)
(next player)
A Player can also be found by determining the owner of a Card_.
(owner [Card])
Team
As above, a Player tracks storage for Integer_, String_, PointMap_, or CardCollection_ data. These are referenced by a String_ name. To reference an individual Team, we can directly refer to the initial index of a Team, starting with 1.
([Integer] team)
Also, based on the current turn within a stage, we can referentially talk to the current, previous, and next team. Turn order is determined clock-wise, and the previous team will always use this turn order. The next team also uses this turn order by default, but could be altered within this stage by a NextAction_ queueing up a different team to go next.
(current team)
(previous team)
(next team)
Finally, a Team can be found by asking a Player what team they are on. A Player can only be on one Team at a time.
(team [Player])