Esempio n. 1
0
def game_loop():
    board = ttt.get_board()
    player_counter = 0
    while True:
        player = player_counter % 2 + 1

        if ttt.is_board_full(board):
            ttt.print_board(board)
            print("Tie")
            break

        ttt.print_board(board)
        try:
            r, c = input("Player" + str(player) + "-> r, c").split()
            r, c = int(r) - 1, int(c) - 1
        except ValueError:
            print(
                "Player", str(player),
                "Invalid Row Column Format \nExample input for row 1 and column 2 is: 1 2"
            )
            continue
        if not _check_bounds(r, c):
            print("Player", str(player), "Invalid Position")
            continue
        if not ttt.is_playable(board, r, c):
            print("Player", str(player), "Position already filled")
            continue

        ttt.play_tile(board, r, c, ttt.TILE_X if player == 1 else ttt.TILE_O)

        if ttt.is_tictactoe(board):
            ttt.print_board(board)
            print("Player", player, "wins")
            break

        player_counter += 1

    ttt.clear_board(board)

    return player
Esempio n. 2
0
	def test_tac_out_of_range(self):
		tictactoe.init()
		result = tictactoe.tac(4, 1)
		self.assertEqual(" | | \n" * 3, tictactoe.get_board())
		self.assertEqual(False, result)
Esempio n. 3
0
	def test_get_board(self):
		self.assertEqual(" | | \n" * 3, tictactoe.get_board())
Esempio n. 4
0
 def test_return_type(self):
     assert isinstance(validate_board(get_board()), bool)
Esempio n. 5
0
	def test_tac_on_empty_board(self):
		tictactoe.init()
		tictactoe.tac(1, 3)
		self.assertEqual(" | |o\n" + " | | \n" * 2, tictactoe.get_board())
Esempio n. 6
0
 def test_return_one_1(self):
     assert game_finished(get_board()) == 1
Esempio n. 7
0
 def test_return_type_1(self):
     assert isinstance(render_board(get_board()), str)
Esempio n. 8
0
 def test_return_type(self):
     assert isinstance(game_finished(get_board()), int)
Esempio n. 9
0
 def test_return_false_4(self):
     assert validate_board(get_board([0, 1])) == False
Esempio n. 10
0
 def test_return_false_2(self):
     assert validate_board(get_board([1, 4, 2])) == False
Esempio n. 11
0
 def test_return_false_1(self):
     assert validate_board(get_board(rows=4)) == False
Esempio n. 12
0
 def test_return_true_1(self):
     assert validate_board(get_board()) == True