本文整理汇总了Python中GameState.GameState.current_player方法的典型用法代码示例。如果您正苦于以下问题:Python GameState.current_player方法的具体用法?Python GameState.current_player怎么用?Python GameState.current_player使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameState.GameState
的用法示例。
在下文中一共展示了GameState.current_player方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_accuse_bad_guess_of_murderer
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_accuse_bad_guess_of_murderer(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '3L', '5L') # opponent id, first card, second card
joe = HumanPlayer('joe')
joe._hand = [(4, 'L'), (7, 'L'), (5, 'H'), (8, 'H')]
ai1 = AIPlayer('ai1')
ai1._hand = [(1, 'L'), (3, 'L'), (1, 'H'), (9, '$')]
ai2 = AIPlayer('ai2')
ai2._hand = [(8, 'L'), (3, 'H'), (2, '$'), (3, '$')]
state = GameState()
state.turn = 23
state.current_player = joe
state.players = [joe, ai1, ai2]
state.evidence_cards = [(3, 'L'), (5, 'L')]
with captured_output() as (out, err):
self.assertTrue(accuse_command(state))
self.assertEqual('Accuse\n\n'
'Your guess is: Incorrect', output(out))
self.assertEqual('ended', state.status)
finally:
Interactive.raw_input = old_raw_input
示例2: test_interrogate_for_the_same_two_cards_asks_for_rank_or_suit
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_interrogate_for_the_same_two_cards_asks_for_rank_or_suit(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '3L', '3L', 'suit') # opponent id, low card, high card
player = HumanPlayer('joe')
tom = AIPlayer('Tom')
tom._hand = [(1, 'L'), (3, 'L'), (6, 'L'), (2, 'H'), (8, '$'), (9, '$')]
state = GameState()
state.turn = 10
state.current_player = player
state.players = [player, tom]
state.question_cards = [(1, '$'), (3, 'L'), (3, 'L')]
with captured_output() as (out, err):
turn_ended = interrogate_command(state)
self.assertEqual('Interrogate\n'
'Question cards: 1$ 3L 3L\n'
'Cards in this range: 3', output(out))
turn = state.history.pop()
self.assertEqual(10, turn['turn'])
self.assertEqual('joe', turn['player'].name)
self.assertEqual('Tom', turn['opponent'].name)
self.assertEqual('interrogate', turn['action'])
self.assertEqual('3L->3L [suit]', str(turn['range']))
self.assertEqual(3, turn['result'])
self.assertTrue(turn_ended)
finally:
Interactive.raw_input = old_raw_input
示例3: test_accuse_bad_guess_of_cards
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_accuse_bad_guess_of_cards(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '1L', '2L') # opponent id, first card, second card
joe = HumanPlayer('joe')
joe._hand = [(4, 'L'), (8, 'L'), (5, 'H'), (8, 'H')]
ai = AIPlayer('ai')
ai._hand = [(1, 'L'), (3, 'L'), (1, 'H'), (9, '$')]
state = GameState()
state.turn = 23
state.current_player = joe
state.players = [joe, ai]
state.evidence_cards = [(5, '$'), (5, 'L')]
with captured_output() as (out, err):
self.assertTrue(accuse_command(state))
self.assertEqual('Accuse\n\n'
'Your guess is: Incorrect', output(out))
accusation = state.accusations.pop()
self.assertEqual('joe', accusation['player'].name)
self.assertEqual('ai', accusation['accused'].name)
self.assertEqual([(1, 'L'), (2, 'L')], accusation['cards'])
self.assertEqual('incorrect', accusation['outcome'])
self.assertEqual('ended', state.status)
finally:
Interactive.raw_input = old_raw_input
示例4: test_secret_asks_for_two_cards_puts_the_range_in_history_and_display_the_result
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_secret_asks_for_two_cards_puts_the_range_in_history_and_display_the_result(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '9$', '1H') # opponent id, low card, high card
player = HumanPlayer('joe')
donna = AIPlayer('donna')
donna._hand = [(1, 'L'), (3, 'L'), (6, 'L'), (2, 'H'), (8, '$'), (9, '$')]
state = GameState()
state.turn = 1
state.current_player = player
state.players = [player, donna]
state.question_cards = [(1, 'L'), (3, 'L'), (7, 'L')]
with captured_output() as (out, err):
turn_ended = secret_command(state)
self.assertEqual('Secret\n'
'Cards in this range: 2', output(out))
turn = state.history.pop()
self.assertEqual(1, turn['turn'])
self.assertEqual('joe', turn['player'].name)
self.assertEqual('donna', turn['opponent'].name)
self.assertEqual('secret', turn['action'])
self.assertEqual(['L', 'H', '$'], turn['range'].suits)
self.assertEqual([9, 1], turn['range'].ranks)
self.assertEqual(2, turn['result'])
self.assertTrue(turn_ended)
self.assertEqual(0, state.current_player.secret)
finally:
Interactive.raw_input = old_raw_input
示例5: test_interrogate_asks_for_two_cards_puts_the_range_in_history_and_display_the_result
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_interrogate_asks_for_two_cards_puts_the_range_in_history_and_display_the_result(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '3L', '7L') # opponent id, low card, high card
player = HumanPlayer('joe')
tom = AIPlayer('tom')
tom._hand = [(1, 'L'), (3, 'L'), (6, 'L'), (2, 'H'), (8, '$'), (9, '$')]
state = GameState()
state.turn = 10
state.current_player = player
state.players = [player, tom]
state.question_cards = [(1, 'L'), (3, 'L'), (7, 'L')]
with captured_output() as (out, err):
turn_ended = interrogate_command(state)
self.assertEqual('Interrogate\n'
'Question cards: 1L 3L 7L\n'
'Cards in this range: 2', output(out))
turn = state.history.pop()
self.assertEqual(10, turn['turn'])
self.assertEqual('joe', turn['player'].name)
self.assertEqual('tom', turn['opponent'].name)
self.assertEqual('interrogate', turn['action'])
self.assertEqual(['L'], turn['range'].suits)
self.assertEqual([3, 4, 5, 6, 7], turn['range'].ranks)
self.assertEqual(2, turn['result'])
self.assertTrue(turn_ended)
finally:
Interactive.raw_input = old_raw_input
示例6: test_secret_is_refused_if_no_secrets_left
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_secret_is_refused_if_no_secrets_left(self):
player = HumanPlayer('joe')
player._secret = 0
state = GameState()
state.turn = 1
state.current_player = player
with captured_output() as (out, err):
turn_ended = secret_command(state)
self.assertEqual('Secret already used!', output(out))
self.assertFalse(turn_ended)
示例7: test_determine_murderer_when_its_another_player
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_determine_murderer_when_its_another_player(self):
state = GameState()
john = HumanPlayer('john')
jim = AIPlayer('jim')
jack = AIPlayer('jack')
state.current_player = john
state.players = [john, jim, jack]
state.extra_card = (8, 'L')
john._hand = [(5, 'L'), (9, 'H'), (6, '$')]
jim._hand = [(4, 'L'), (7, 'L'), (3, '$')]
jack._hand = [(1, 'L'), (3, 'H'), (5, '$')]
accusation_cards = [(5, 'L'), (7, '$')] # => murder card = 3H
self.assertEqual(jack, determine_murderer(state, accusation_cards))
示例8: test_choose_an_opponent
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_choose_an_opponent(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('5', '2')
player = HumanPlayer('joe')
ai1 = AIPlayer('ai1')
ai2 = AIPlayer('ai2')
ai3 = AIPlayer('ai3')
state = GameState()
state.turn = 1
state.current_player = player
state.players = [ai2, player, ai3, ai1]
with captured_output() as (out, err):
chosen_opponent = choose_an_opponent(state)
self.assertEqual(ai3, chosen_opponent)
finally:
Interactive.raw_input = old_raw_input
示例9: test_interrogate_lets_you_cancel_and_do_nothing
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_interrogate_lets_you_cancel_and_do_nothing(self):
try:
old_raw_input = raw_input
Interactive.raw_input = mock_raw_input('1', '3L', 'cancel')
player = HumanPlayer('joe')
tom = AIPlayer('tom')
state = GameState()
state.current_player = player
state.players = [player, tom]
state.history = []
state.question_cards = [(1, 'L'), (3, 'L'), (7, 'L')]
with captured_output() as (out, err):
turn_ended = interrogate_command(state)
self.assertEqual('Interrogate\n'
'Question cards: 1L 3L 7L', output(out))
self.assertEqual(0, len(state.history))
self.assertFalse(turn_ended)
finally:
Interactive.raw_input = old_raw_input
示例10: test_print_history
# 需要导入模块: from GameState import GameState [as 别名]
# 或者: from GameState.GameState import current_player [as 别名]
def test_print_history(self):
tom = HumanPlayer('Tom')
juanpedro = HumanPlayer('Juan-Pedro')
joe = HumanPlayer('Joe')
history = [{'turn': 1, 'player': tom, 'opponent': juanpedro,
'range': Range((1, 'L'), (5, 'L')), 'result': 2, 'action': 'interrogate'},
{'turn': 2, 'player': joe, 'opponent': tom,
'range': Range((6, '$'), (6, '$'), choice='suit'), 'result': 0, 'action': 'interrogate'},
{'turn': 3, 'player': juanpedro, 'opponent': tom,
'range': Range((3, 'L'), (3, 'H')), 'result': 1, 'action': 'secret'},
{'turn': 4, 'player': tom, 'opponent': juanpedro,
'range': Range((4, '$'), (7, '$')), 'result': 0, 'action': 'secret'},
{'turn': 5, 'player': joe, 'opponent': tom,
'range': Range((9, 'H'), (3, 'H')), 'result': 4, 'action': 'secret'}]
accusations = [{'player': tom, 'accused': juanpedro, 'cards': [(8, 'H'), (3, '$')], 'outcome': 'incorrect'},
{'player': juanpedro, 'accused': joe, 'cards': [(7, 'H'), (5, '$')], 'outcome': 'correct'}]
state = GameState()
state.history = history
state.accusations = accusations
state.current_player = juanpedro
with captured_output() as (out, err):
self.assertFalse(print_history(state))
self.assertEqual('History\n'
'Turn Player Opponent Range Result Note \n'
'1 Tom Juan-Pedro 1L->5L 2 \n'
'2 Joe Tom 6$->6$ [suit] 0 \n'
'3 Juan-Pedro Tom 3L->3H 1 (Secret)\n'
'4 Tom Juan-Pedro 4$->7$ 0 (Secret)\n'
'5 Joe Tom ************* ****** (Secret)\n'
'\n'
'Accusations\n'
' Tom Juan-Pedro 8H 3$ incorrect\n'
' Juan-Pedro Joe 7H 5$ correct',
output(out))