def test_board(self): board = Board(6, 6) board.move(1, 1, 'X') board.move(4, 2, 'O') self.assertEqual(board.number_empty_spaces, 18) self.assertEqual(len(board.empty_cells()), 18) try: board.move(4, 1, 'X') self.assertFalse('not ok') except Exception: self.assertTrue('ok')
class Game: def __init__(self, rows, columns, user_sign, computer_sign): self._board = Board(rows, columns) self._strategy = Strategy() self._user = user_sign self._comp = computer_sign @property def board(self): return self._board def user_move(self, x, y): self._board.move(x, y, self._user) def computer_move(self): cpu_move = self._strategy.minimax_algorithm(self._board, self._user, self._comp) self._board.move(cpu_move[0], cpu_move[1], self._comp) return cpu_move[0], cpu_move[1] print(f"The computers move is: [{cpu_move[0]}, {cpu_move[1]}]")
class Game: def __init__(self): self._board = Board() @property def board(self): return self._board def movePlayer(self, square): self._board.move(square, "O") def moveComputer(self): options = self._board.getEmptySquares() for square in options: c = self._board.bcopy() c.move(square, "X") if len(c.getEmptySquares()) == 0: self._board.move(square, "X") return move = random.choice(options) self._board.move(move, "X")