def testAGame(self):
env = roomai.bridge.BridgeEnv()
allcards = list(roomai.bridge.AllBridgePokerCards.values())
allcards.sort(key = cmp_to_key(roomai.common.PokerCard.compare))
infos, public_state, person_states, private_state = env.init({"allcards":allcards, "start_turn":0})
for i in range(4):
print (i,person_states[i].hand_cards_dict, len(person_states[i].hand_cards_dict))
self.assertEqual(len(person_states[i].hand_cards_dict),13)
self.assertEqual(public_state.turn, 0)
#### bidding stage
action = roomai.bridge.BridgeAction.lookup("bidding_bid_A_Heart")
infos, public_state, person_states, private_state = env.forward(action)
action = roomai.bridge.BridgeAction.lookup("bidding_pass")
infos, public_state, person_states, private_state = env.forward(action)
infos, public_state, person_states, private_state = env.forward(action)
infos, public_state, person_states, private_state = env.forward(action)
self.assertEqual(public_state.stage, "playing")
self.assertEqual(public_state.turn,0)
#### playing_stage
count = 0
while env.public_state.is_terminal == False:
action = list(env.person_states[env.public_state.turn].available_actions.values())[0]
count += 1
env.forward(action)
self.assertEqual(count,13 * 4)
self.assertTrue(env.public_state.scores[0] == 0)
self.assertTrue(env.public_state.scores[1] > 0)
print (env.public_state.scores)
self.assertEqual(env.public_state.scores[1],350)
评论列表
文章目录