예제 #1
0
 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))
예제 #2
0
def make_test_5_5_board():
    isolation = Isolation()
    isolation.set_rows("5")
    isolation.set_cols("5")
    isolation.create_board()
    return isolation
예제 #3
0
 def test_cols_21(self):
     isolation = Isolation()
     self.assertEqual(isolation.set_cols("20"), True)
     self.assertEqual(isolation.cols, 20)
예제 #4
0
 def test_cols_5(self):
     isolation = Isolation()
     self.assertEqual(isolation.set_cols("5"), True)
     self.assertEqual(isolation.cols, 5)
예제 #5
0
 def test_cols_0(self):
     isolation = Isolation()
     self.assertEqual(isolation.set_cols("0"), False)
     self.assertEqual(isolation.cols, 0)
예제 #6
0
 def test_cols_3_14(self):
     isolation = Isolation()
     self.assertEqual(isolation.set_cols("3.14"), False)
     self.assertEqual(isolation.cols, 0)
예제 #7
0
        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

    print ("Game over! Player " + isolation.turn + " has lost.")
    input("Press enter to play again\n")
예제 #8
0
    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()
    if isolation.turn != ai1_player: