def test_board_3_3(self): isolation = Isolation() self.assertEqual(isolation.set_rows("3"), True) self.assertEqual(isolation.set_cols("3"), True) self.assertEqual(isolation.create_board(), True) self.assertEqual(isolation.board, [[".", ".", "."], [".", ".", "."], [".", ".", "."]]) self.assertEqual(isolation.turn, "O") self.assertEqual(isolation.prev_o_move, (-1, -1)) self.assertEqual(isolation.prev_x_move, (-1, -1))
def make_test_5_5_board(): isolation = Isolation() isolation.set_rows("5") isolation.set_cols("5") isolation.create_board() return isolation
def test_rows_a(self): isolation = Isolation() self.assertEqual(isolation.set_rows("a"), False) self.assertEqual(isolation.rows, 0)
def test_rows_21(self): isolation = Isolation() self.assertEqual(isolation.set_rows("20"), True) self.assertEqual(isolation.rows, 20)
def test_rows_5(self): isolation = Isolation() self.assertEqual(isolation.set_rows("5"), True) self.assertEqual(isolation.rows, 5)
def test_rows_3_14(self): isolation = Isolation() self.assertEqual(isolation.set_rows("3.14"), False) self.assertEqual(isolation.rows, 0)
def parse_player_input(move_in): try: move_in = move_in.split(',') isolation.move(int(move_in[0]), int(move_in[1])) except: print("Invalid input for a move") return False else: return True while True: isolation = Isolation() while True: rows_in = input("Choose number of rows:\n") if isolation.set_rows(rows_in): break while True: cols_in = input("Choose number of cols:\n") if isolation.set_cols(cols_in): break isolation.create_board() while not isolation.lost_game(): while True: isolation.print_board() move_in = input("Where would you like to move? i.e. >>0,0\n") if parse_player_input(move_in): break
isolation.move(int(move_in[0]), int(move_in[1])) except: print("Invalid input for a move") return False else: return True good_ai_win = 0 total_games = 0 for i in range(500): isolation = Isolation() isolation_ai_random = Isolation_Ai_Random() isolation_ai_good = Isolation_Ai_Good() isolation.set_rows("5") isolation.set_cols("5") ai1_player = "O" if i % 2 == 0: ai1_player = "X" isolation.create_board() while not isolation.lost_game(): if isolation.turn == ai1_player: isolation_ai_good.move(isolation) else: isolation_ai_random.move(isolation) isolation.print_board()