本文整理汇总了Python中game.game.Game.next_move方法的典型用法代码示例。如果您正苦于以下问题:Python Game.next_move方法的具体用法?Python Game.next_move怎么用?Python Game.next_move使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类game.game.Game
的用法示例。
在下文中一共展示了Game.next_move方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_skip_player
# 需要导入模块: from game.game import Game [as 别名]
# 或者: from game.game.Game import next_move [as 别名]
def test_skip_player(self):
game = Game(4, Game.Modes.human_human, Game.DifficultyLevels.easy,
True, 5)
game.next_move('c1')
self.assertEqual(game.current_player.colour, s.WHITE)
game.skip_player()
game.next_move('a2')
self.assertEqual(game.current_player.colour, s.WHITE)
示例2: test_get_previous_state
# 需要导入模块: from game.game import Game [as 别名]
# 或者: from game.game.Game import next_move [as 别名]
def test_get_previous_state(self):
game = Game(4, Game.Modes.human_human, Game.DifficultyLevels.easy,
True, 5)
state = (game.mover.board, s.WHITE)
my_state = game.get_next_state(state, (1, 0))
game.next_move('a3')
self.assertEqual(game.get_current_state(), my_state)
opp_state = game.get_next_state(my_state, (2, 0))
game.next_move('a2')
self.assertEqual(game.get_current_state(), opp_state)
my_prev_state = game.get_previous_state(opp_state, (2, 0))
self.assertEqual(my_state, my_prev_state)
示例3: test_undo_redo
# 需要导入模块: from game.game import Game [as 别名]
# 或者: from game.game.Game import next_move [as 别名]
def test_undo_redo(self):
game = Game(4, Game.Modes.human_human, Game.DifficultyLevels.easy,
True, 5)
initial_state = (deepcopy(game.mover.board), s.WHITE)
game.next_move('a3')
game.next_move('a2')
my_state = game.get_current_state()
game.undo()
self.assertEqual(initial_state, game.get_current_state())
game.redo()
self.assertEqual(my_state, game.get_current_state())
game.undo()
self.assertEqual(initial_state, game.get_current_state())
示例4: test_move_is_repeated
# 需要导入模块: from game.game import Game [as 别名]
# 或者: from game.game.Game import next_move [as 别名]
def test_move_is_repeated(self):
game = Game(3, Game.Modes.human_human, Game.DifficultyLevels.easy,
True, 5)
self.assertIsNone(game.current_player)
game.next_move('b1')
self.assertIsNotNone(game.current_player)
self.assertEqual(game.current_player.colour, s.WHITE)
game.next_move('a1')
self.assertEqual(game.current_player.colour, s.BLACK)
game.next_move('c3')
self.assertEqual(game.current_player.colour, s.BLACK)
示例5: ReversiWindow
# 需要导入模块: from game.game import Game [as 别名]
# 或者: from game.game.Game import next_move [as 别名]
#.........这里部分代码省略.........
image)
def draw_text(self, painter, font_size):
painter.setPen(QColor(Qt.black))
painter.setFont(QFont('Decorative', font_size))
painter.drawText(QPoint(10, self.toolbar.height() + font_size),
'Time left for move: {}'.format(self.count))
def reset_count(self):
if not self.ai_thread.isRunning():
self.count = self.time_for_move
def count_down(self):
if self.count != 0:
self.count -= 1
else:
if not self.ai_thread.isRunning():
self.game.pass_move()
self.reset_count()
self.update()
def ai_finish(self):
self.update()
self.reset_count()
self.ai_finished = True
def load_images(self):
images_path = os.path.join(os.getcwd(), 'images')
for image in os.listdir(images_path):
self.images[image] = QImage(os.path.join(images_path, image))
def mousePressEvent(self, QMouseEvent):
if self.game.game_state == Game.States.human:
position = QMouseEvent.pos()
position.setY(
position.y() - self.toolbar.height() - self.font_size)
self.game.next_move(position)
if self.game.game_state == Game.States.ai:
self.reset_count()
self.update()
def timerEvent(self, event):
if self.game.is_over():
self.timer.stop()
self.move_timer.stop()
self.show_end_of_game_dialog()
else:
if self.game.game_state == Game.States.ai and self.ai_finished:
self.ai_finished = False
self.ai_thread.start()
self.update()
def paintEvent(self, event):
with painter(self) as p:
for cell in self.game.mover.board.cells():
self.draw_cell(p, cell)
self.draw_text(p, self.font_size)
def show_end_of_game_dialog(self):
message_box = QMessageBox()
message_box.setText('The game is over! {}'.format
(self.game.get_winner_message()))
message_box.exec_()
if self.game_was_saved:
self.ask_question(
'Do you want to play from your last saved position?',
message_box)
self.check_answer(message_box.exec_(), self.load_saved_game,
self.play_again_action)
else:
self.play_again_action()
def play_again_action(self):
message_box = QMessageBox()
message_box.setText('Do you want to play again?')
self.ask_question('', message_box)
self.check_answer(message_box.exec_(), self.restart,
self.close)
def restart(self):
self.game_was_saved = False
self.game.restart()
self.timer.start(1, self)
self.move_timer.start(1000)
def load_saved_game(self):
with open('saved_game.pickle', 'rb') as f:
self.game = pickle.load(f)
self.timer.start(1, self)
def ask_question(self, question, message_box):
message_box.setInformativeText(question)
message_box.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
def check_answer(self, clicked_button, yes_action, no_action):
if clicked_button == QMessageBox.Yes:
yes_action()
elif clicked_button == QMessageBox.No:
no_action()
self.update()