Beispiel #1
0
def AddToTree(board19, Candidate, player):
    temp = []
    if (player == 10):
        enemy = 20
    else:
        enemy = 10
    for i in board19:
        temp += [i]
    evalTree = Tree(temp)
    for i in Candidate:
        for q in i[1]:
            tempboard = genNewBoard(temp, [i[0], q], player)
            tempTree = genTree(tempboard)
            tempCandidate = CandidateMoves(tempboard, enemy)
            for a in tempCandidate:
                for b in a[1]:
                    temp2 = genNewBoard(tempboard, [a[0], b], enemy)
                    temp2Tree = genTree(temp2)
                    Candidate2 = CandidateMoves(temp2, player)
                    for c in Candidate2:
                        for d in c[1]:
                            temp3 = genNewBoard(temp2, [c[0], d], player)
                            temp3Tree = genTree(temp3)
                            temp2Tree.AddSuccessor(temp3Tree)
                    tempTree.AddSuccessor(temp2Tree)
            evalTree.AddSuccessor(tempTree)
    return evalTree
Beispiel #2
0
def getGameTree(board, player, depth):
    if depth == 0:
        return Tree((None, evalBoard(board, player)))

    if player == 10:
        opp = 20
    else:
        opp = 10
    nodeTree = Tree((None, None))  # move, score of board
    CM = CandidateMoves(board, player)
    for i in CM:
        for q in i[1]:
            move = [i[1], q]
            tempBoard = genNewBoard(board, move, player)
            nodeTree.AddSuccessor(getGameTree(tempBoard, player, depth - 1))