game: tarok(players=4,rng_seed=0)

GameType.chance_mode = ChanceMode.SAMPLED_STOCHASTIC
GameType.dynamics = Dynamics.SEQUENTIAL
GameType.information = Information.IMPERFECT_INFORMATION
GameType.long_name = "Slovenian Tarok"
GameType.max_num_players = 4
GameType.min_num_players = 3
GameType.parameter_specification = ["players", "rng_seed"]
GameType.provides_information_state_string = True
GameType.provides_information_state_tensor = False
GameType.provides_observation_string = False
GameType.provides_observation_tensor = False
GameType.provides_factored_observation_string = False
GameType.reward_model = RewardModel.TERMINAL
GameType.short_name = "tarok"
GameType.utility = Utility.GENERAL_SUM

NumDistinctActions() = 54
PolicyTensorShape() = [54]
MaxChanceOutcomes() = 1
GetParameters() = {players=4,rng_seed=0}
NumPlayers() = 4
MinUtility() = -500.0
MaxUtility() = 500.0
UtilitySum() = None
MaxGameLength() = 72
ToString() = "tarok(players=4,rng_seed=0)"

# State 0
# Game phase: Card dealing
# Selected contract: Not selected
# Current player: -1
IsTerminal() = False
History() = []
HistoryString() = ""
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
InformationStateString(0) = ""
InformationStateString(1) = ""
InformationStateString(2) = ""
InformationStateString(3) = ""
SerializeState() = ""
ChanceOutcomes() = [{0, 1.000000000000}]
LegalActions() = [0]
StringLegalActions() = ["Deal"]

# Apply action "Deal"
action: 0

# State 1
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 1
# Player cards: 0,1,9,10,12,15,18,19,36,37,40,42
IsTerminal() = False
History() = [0]
HistoryString() = "0"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;"
SerializeState() = "-1937831252"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
StringLegalActions() = ["Pass", "Two", "One", "Solo three", "Solo two", "Solo one", "Beggar", "Solo without", "Open beggar", "Colour valat without", "Valat without"]

# Apply action "Solo three"
action: 5

# State 2
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 2
# Player cards: 6,7,16,20,22,23,24,30,34,38,41,45
IsTerminal() = False
History() = [0, 5]
HistoryString() = "0, 5"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 2
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,"
SerializeState() = "-1937831252\n5"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0, 6, 7, 8, 9, 10, 11, 12]
StringLegalActions() = ["Pass", "Solo two", "Solo one", "Beggar", "Solo without", "Open beggar", "Colour valat without", "Valat without"]

# Apply action "Pass"
action: 0

# State 3
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 3
# Player cards: 2,3,4,5,13,14,25,26,29,31,44,50
IsTerminal() = False
History() = [0, 5, 0]
HistoryString() = "0, 5, 0"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 3
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,"
SerializeState() = "-1937831252\n5\n0"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0, 6, 7, 8, 9, 10, 11, 12]
StringLegalActions() = ["Pass", "Solo two", "Solo one", "Beggar", "Solo without", "Open beggar", "Colour valat without", "Valat without"]

# Apply action "Solo one"
action: 7

# State 4
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 0
# Player cards: 17,21,28,32,35,39,43,46,48,49,51,53
IsTerminal() = False
History() = [0, 5, 0, 7]
HistoryString() = "0, 5, 0, 7"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,"
SerializeState() = "-1937831252\n5\n0\n7"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0, 7, 8, 9, 10, 11, 12]
StringLegalActions() = ["Pass", "Solo one", "Beggar", "Solo without", "Open beggar", "Colour valat without", "Valat without"]

# Apply action "Valat without"
action: 12

# State 5
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 1
# Player cards: 0,1,9,10,12,15,18,19,36,37,40,42
IsTerminal() = False
History() = [0, 5, 0, 7, 12]
HistoryString() = "0, 5, 0, 7, 12"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,"
SerializeState() = "-1937831252\n5\n0\n7\n12"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0]
StringLegalActions() = ["Pass"]

# Apply action "Pass"
action: 0

# State 6
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 3
# Player cards: 2,3,4,5,13,14,25,26,29,31,44,50
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0]
HistoryString() = "0, 5, 0, 7, 12, 0"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 3
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0]
StringLegalActions() = ["Pass"]

# Apply action "Pass"
action: 0

# State 7
# Game phase: Bidding
# Selected contract: Not selected
# Current player: 0
# Player cards: 17,21,28,32,35,39,43,46,48,49,51,53
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0, 0]
HistoryString() = "0, 5, 0, 7, 12, 0, 0"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [12]
StringLegalActions() = ["Valat without"]

# Apply action "Valat without"
action: 12

# State 8
# Game phase: Tricks playing
# Selected contract: Valat without
# Current player: 0
# Player cards: 17,21,28,32,35,39,43,46,48,49,51,53
# Trick cards:
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0, 0, 12]
HistoryString() = "0, 5, 0, 7, 12, 0, 0, 12"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,12;"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,12;"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,12;"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,12;"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0\n12"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [17, 21, 28, 32, 35, 39, 43, 46, 48, 49, 51, 53]
StringLegalActions() = ["XVIII", "Skis", "Queen of Hearts", "2 of Diamonds", "Knight of Diamonds", "8 of Spades", "Knight of Spades", "7 of Clubs", "9 of Clubs", "10 of Clubs", "Knight of Clubs", "King of Clubs"]

# Apply action "7 of Clubs"
action: 46

# State 9
# Game phase: Tricks playing
# Selected contract: Valat without
# Current player: 1
# Player cards: 0,1,9,10,12,15,18,19,36,37,40,42
# Trick cards: 46
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0, 0, 12, 46]
HistoryString() = "0, 5, 0, 7, 12, 0, 0, 12, 46"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,12;46,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,12;46,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,12;46,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,12;46,"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0\n12\n46"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [0, 1, 9, 10, 12, 15, 18, 19]
StringLegalActions() = ["Pagat", "II", "X", "XI", "XIII", "XVI", "XIX", "XX"]

# Apply action "X"
action: 9

# State 10
# Game phase: Tricks playing
# Selected contract: Valat without
# Current player: 2
# Player cards: 6,7,16,20,22,23,24,30,34,38,41,45
# Trick cards: 46,9
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0, 0, 12, 46, 9]
HistoryString() = "0, 5, 0, 7, 12, 0, 0, 12, 46, 9"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 2
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,12;46,9,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,12;46,9,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,12;46,9,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,12;46,9,"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0\n12\n46\n9"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [6, 7, 16, 20]
StringLegalActions() = ["VII", "VIII", "XVII", "Mond"]

# Apply action "Mond"
action: 20

# State 11
# Game phase: Tricks playing
# Selected contract: Valat without
# Current player: 3
# Player cards: 2,3,4,5,13,14,25,26,29,31,44,50
# Trick cards: 46,9,20
IsTerminal() = False
History() = [0, 5, 0, 7, 12, 0, 0, 12, 46, 9, 20]
HistoryString() = "0, 5, 0, 7, 12, 0, 0, 12, 46, 9, 20"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 3
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,12;46,9,20,"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,12;46,9,20,"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,12;46,9,20,"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,12;46,9,20,"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0\n12\n46\n9\n20"
Rewards() = [0.0, 0.0, 0.0, 0.0]
Returns() = [0.0, 0.0, 0.0, 0.0]
LegalActions() = [50]
StringLegalActions() = ["Jack of Clubs"]

# Apply action "Jack of Clubs"
action: 50

# State 12
# Game phase: Finished
# Selected contract: Valat without
# Current player: -4
IsTerminal() = True
History() = [0, 5, 0, 7, 12, 0, 0, 12, 46, 9, 20, 50]
HistoryString() = "0, 5, 0, 7, 12, 0, 0, 12, 46, 9, 20, 50"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = -4
InformationStateString(0) = "17,21,28,32,35,39,43,46,48,49,51,53;5,0,7,12,0,0,12;46,9,20,50"
InformationStateString(1) = "0,1,9,10,12,15,18,19,36,37,40,42;5,0,7,12,0,0,12;46,9,20,50"
InformationStateString(2) = "6,7,16,20,22,23,24,30,34,38,41,45;5,0,7,12,0,0,12;46,9,20,50"
InformationStateString(3) = "2,3,4,5,13,14,25,26,29,31,44,50;5,0,7,12,0,0,12;46,9,20,50"
SerializeState() = "-1937831252\n5\n0\n7\n12\n0\n0\n12\n46\n9\n20\n50"
Rewards() = [-500.0, 0.0, 0.0, 0.0]
Returns() = [-500.0, 0.0, 0.0, 0.0]
