コード例 #1
0
def se_checks(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 0, 0, 'black') == True
	assert oai.check_if_valid(board, 4, 4, 'black') == True
	assert oai.check_if_valid(board, 6, 6, 'black') == False
	board[4,4] = '-'
	assert oai.check_if_valid(board, 5, 5, 'black') == True
コード例 #2
0
def se_checks(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 0, 0, "black") == True
    assert oai.check_if_valid(board, 4, 4, "black") == True
    assert oai.check_if_valid(board, 6, 6, "black") == False
    board[4, 4] = "-"
    assert oai.check_if_valid(board, 5, 5, "black") == True
コード例 #3
0
def right_check(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 2, 1, 'black') == True
	assert oai.check_if_valid(board, 7, 2, 'black') == True
	assert oai.check_if_valid(board, 5, 5, 'black') == True
	assert oai.check_if_valid(board, 5, 0, 'black') == True
	board[5,3] = '-'
	assert oai.check_if_valid(board, 5, 0, 'black') == True
コード例 #4
0
def ne_check(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 7, 0, 'black') == True
	assert oai.check_if_valid(board, 5, 3, 'black') == True
	assert oai.check_if_valid(board, 7, 5, 'black') == True
	board[5,2] ='-'
	assert oai.check_if_valid(board, 7, 0, 'black') == False
	assert oai.check_if_valid(board, 6, 6, 'black') == False
コード例 #5
0
def right_check(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 2, 1, "black") == True
    assert oai.check_if_valid(board, 7, 2, "black") == True
    assert oai.check_if_valid(board, 5, 5, "black") == True
    assert oai.check_if_valid(board, 5, 0, "black") == True
    board[5, 3] = "-"
    assert oai.check_if_valid(board, 5, 0, "black") == True
コード例 #6
0
def ne_check(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 7, 0, "black") == True
    assert oai.check_if_valid(board, 5, 3, "black") == True
    assert oai.check_if_valid(board, 7, 5, "black") == True
    board[5, 2] = "-"
    assert oai.check_if_valid(board, 7, 0, "black") == False
    assert oai.check_if_valid(board, 6, 6, "black") == False
コード例 #7
0
def down_checks(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 0, 0, "black") == True
    board[3, 0] = "w"
    assert oai.check_if_valid(board, 0, 0, "black") == True
    assert oai.check_if_valid(board, 1, 7, "black") == False
    board[7, 7] = "b"
    assert oai.check_if_valid(board, 1, 7, "black") == True
    board[4, 7] = "-"
    assert oai.check_if_valid(board, 1, 7, "black") == False
    assert oai.check_if_valid(board, 5, 7, "black") == True
コード例 #8
0
def up_checks(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 3, 0, "black") == True
    assert oai.check_if_valid(board, 7, 0, "black") == False
    assert oai.check_if_valid(board, 7, 7, "black") == False
    board[0, 7] = "b"
    board[1, 7] = "w"
    assert oai.check_if_valid(board, 5, 7, "black") == True
    board[0, 3] = "b"
    assert oai.check_if_valid(board, 3, 3, "black") == True
    assert oai.check_if_valid(board, 7, 7, "black") == True
コード例 #9
0
def nw_checks(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 7, 7, "black") == True
    board[2, 2] = "b"
    assert oai.check_if_valid(board, 7, 7, "black") == True
    board[3, 3] = "-"
    assert oai.check_if_valid(board, 7, 7, "black") == False
    board[5, 1] = "w"
    board[4, 0] = "b"
    assert oai.check_if_valid(board, 7, 3, "black") == True
    assert oai.check_if_valid(board, 4, 4, "black") == True
コード例 #10
0
ファイル: play.py プロジェクト: correaswebert/Prothello
def AI_vs_AI():
    # power is the max depth of the game tree searched
    B_POWER = 6
    W_POWER = 6

    moves = []
    game_field = OthelloAI()
    while True:
        winner = game_field.isGameOver()
        if winner != 0:
            game_field.displayBoard()
            print(f"{'Black' if winner == BLACK else 'White'} wins!")
            break

        # Black plays
        game_field.displayBoard()
        try:
            ai_power = B_POWER if game_field.player == BLACK else W_POWER
            x, y = game_field.aiPlay(ai_power)
        except TypeError:
            print(game_field.board)
            break
        move = getHumanReadableNotation(x, y)
        moves.append(('W' if game_field.player == BLACK else 'B', move))

    # for move in moves:
    print(moves)
コード例 #11
0
def nw_checks(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 7,7,'black') == True
	board[2,2] = 'b'
	assert oai.check_if_valid(board, 7,7,'black') == True
	board[3,3] = '-'
	assert oai.check_if_valid(board, 7,7,'black') == False
	board[5,1] = 'w'
	board[4,0] = 'b'
	assert oai.check_if_valid(board, 7,3,'black') == True
	assert oai.check_if_valid(board, 4,4,'black') == True
コード例 #12
0
def up_checks(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 3, 0, 'black') == True
	assert oai.check_if_valid(board, 7, 0, 'black') == False
	assert oai.check_if_valid(board, 7, 7, 'black') == False
	board[0,7] = 'b'
	board[1,7] = 'w'
	assert oai.check_if_valid(board, 5, 7, 'black') == True
	board[0,3] = 'b'
	assert oai.check_if_valid(board, 3, 3, 'black') == True
	assert oai.check_if_valid(board, 7, 7, 'black') == True
コード例 #13
0
def down_checks(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 0, 0, 'black') == True
	board[3,0] ='w'
	assert oai.check_if_valid(board, 0, 0, 'black') == True
	assert oai.check_if_valid(board, 1, 7, 'black') == False
	board[7, 7] = 'b'
	assert oai.check_if_valid(board, 1, 7, 'black') == True
	board[4, 7] = '-'
	assert oai.check_if_valid(board, 1, 7, 'black') == False
	assert oai.check_if_valid(board, 5, 7, 'black') == True
コード例 #14
0
ファイル: play.py プロジェクト: correaswebert/Prothello
def singlePlayerMode(humanFirst=True):
    AI_POWER = 4
    game_field = OthelloAI(humanFirst)

    if not humanFirst:
        game_field.displayBoard()
        game_field.aiPlay(AI_POWER)

    while True:
        # Player's chance
        game_field.displayBoard()
        print("Enter move (eg. 'a6')")
        x, y = getComputerReadableNotation(input(">>> "))
        game_field.checkValidAndMove(x, y)

        # A.I.'s chance
        game_field.displayBoard()
        print("Computer's turn ...")
        x, y = game_field.aiPlay(AI_POWER)

        winner = game_field.isGameOver()
        if winner:
            game_field.displayBoard()
            print(
                f"{'You' if winner == game_field.HUMAN else 'Computer'} won!")
コード例 #15
0
def left_check(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 2, 7, "black") == True
    assert oai.check_if_valid(board, 3, 3, "black") == False
    assert oai.check_if_valid(board, 3, 2, "black") == True
コード例 #16
0
def left_check(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 2, 7, 'black') == True
	assert oai.check_if_valid(board, 3, 3, 'black') == False
	assert oai.check_if_valid(board, 3, 2, 'black') == True
コード例 #17
0
def sw_checks(board):
	oai = OthelloAI("black")
	assert oai.check_if_valid(board, 1,7, 'black') == True
	board[5,3] = '-'
	assert oai.check_if_valid(board, 1,7, 'black') == False
	board[5,3] = 'w'
	board[4,4] = 'b'
	assert oai.check_if_valid(board, 1,7, 'black') == True
	board[3,1] = 'b'
	assert oai.check_if_valid(board, 0,4, 'black') == True
	board[6,1] = 'w'
	board[5,2] = 'b'
	assert oai.check_if_valid(board, 7,0, 'black') == True
	board[5,2] = 'w'
	board[4,3] = 'b'
	assert oai.check_if_valid(board, 7,0, 'black') == True
	board[5,2] = '-'
	assert oai.check_if_valid(board, 7,0, 'black') == False
	board[6,6] = 'w'
	board[5,5] = 'w'
	assert oai.check_if_valid(board, 7,7, 'black') == True
	board[4,4] = 'w'
	board[3,3] = 'w'
	board[2,2] = 'w'
	board[1,1] = 'w'
	board[0,0] = 'b'
	assert oai.check_if_valid(board, 7,7, 'black') == True
	board[2,2] = '-'
	assert oai.check_if_valid(board, 7,7, 'black') == False
	board[3,3] = '-'
	assert oai.check_if_valid(board, 7,7, 'black') == False
	board[7,0] = 'b'
	assert oai.check_if_valid(board, 5,2, 'black') == True
コード例 #18
0
def sw_checks(board):
    oai = OthelloAI("black")
    assert oai.check_if_valid(board, 1, 7, "black") == True
    board[5, 3] = "-"
    assert oai.check_if_valid(board, 1, 7, "black") == False
    board[5, 3] = "w"
    board[4, 4] = "b"
    assert oai.check_if_valid(board, 1, 7, "black") == True
    board[3, 1] = "b"
    assert oai.check_if_valid(board, 0, 4, "black") == True
    board[6, 1] = "w"
    board[5, 2] = "b"
    assert oai.check_if_valid(board, 7, 0, "black") == True
    board[5, 2] = "w"
    board[4, 3] = "b"
    assert oai.check_if_valid(board, 7, 0, "black") == True
    board[5, 2] = "-"
    assert oai.check_if_valid(board, 7, 0, "black") == False
    board[6, 6] = "w"
    board[5, 5] = "w"
    assert oai.check_if_valid(board, 7, 7, "black") == True
    board[4, 4] = "w"
    board[3, 3] = "w"
    board[2, 2] = "w"
    board[1, 1] = "w"
    board[0, 0] = "b"
    assert oai.check_if_valid(board, 7, 7, "black") == True
    board[2, 2] = "-"
    assert oai.check_if_valid(board, 7, 7, "black") == False
    board[3, 3] = "-"
    assert oai.check_if_valid(board, 7, 7, "black") == False
    board[7, 0] = "b"
    assert oai.check_if_valid(board, 5, 2, "black") == True