apply_action(action: int)
apply_actions(action: List[int])
Apply the specified action in a turn-based game (1), or joint action (one action per player) in a simultaneous-move game (2).
(1) must also be called to apply chance outcomes at chance nodes. (1) can also
be called on a simultaneous player state by passing in a flat integer (which was
obtained by legal_actions()
on a simultaneous node).
In a simultaneous-move game, when a player has no legal actions, 0 must be passed in for their action choice.
For performance reasons, legality of the actions are generally not checked and applying an illegal action (or outcome at chance nodes) can fail in unspecified ways.
import pyspiel
import numpy as np
game = pyspiel.load_game("tic_tac_toe")
state = game.new_initial_state()
state.apply_action(4) # Player 0 takes the middle
state.apply_action(1) # Player 1 takes the top
game = pyspiel.load_game("leduc_poker")
state = game.new_initial_state()
state.apply_action(0) # First player gets the lowest card
state.apply_action(1) # Second player gets the next lowest card
state.apply_action(1) # First player checks
game = pyspiel.load_game("matrix_pd") # Prisoner's dilemma
state = game.new_initial_state()
state.apply_actions([1, 1]) # Defect, Defect