コード例 #1
0
ファイル: search.py プロジェクト: antonini3/python-ggp
    def simultaneousSearch(self, state, legalMoves, bestMove, depth, alpha, beta):
        # Hack
        turnTaker = self.role
        moveSet = legalMoves[turnTaker]
        moveList = shuffle(list(moveSet))
        if bestMove in moveSet:
            moveList.remove(bestMove)
            moveList.insert(0, bestMove)

        return self.maximize(state, legalMoves, bestMove, depth, alpha, beta, turnTaker, moveList)
コード例 #2
0
ファイル: search.py プロジェクト: tonywu95/python-ggp
    def simultaneousSearch(self, state, legalMoves, bestMove, depth, alpha,
                           beta):
        # Hack
        turnTaker = self.role
        moveSet = legalMoves[turnTaker]
        moveList = shuffle(list(moveSet))
        if bestMove in moveSet:
            moveList.remove(bestMove)
            moveList.insert(0, bestMove)

        return self.maximize(state, legalMoves, bestMove, depth, alpha, beta,
                             turnTaker, moveList)
コード例 #3
0
ファイル: search.py プロジェクト: antonini3/python-ggp
    def turnTakingSearch(self, state, legalMoves, bestMove, depth, alpha, beta, turnTaker):
        # Get legal moves for turn taker, putting the best one first
        moveSet = legalMoves[turnTaker]
        moveList = shuffle(list(moveSet))
        if bestMove in moveSet:
            moveList.remove(bestMove)
            moveList.insert(0, bestMove)

        # MAX: this is a teammate
        if self.role == turnTaker:  # self.gd.isTeammate(self.role, turnTaker):
            return self.maximize(state, legalMoves, bestMove, depth, alpha, beta, turnTaker, moveList)
        # MIN: this is an opponent
        else:
            return self.minimize(state, legalMoves, bestMove, depth, alpha, beta, turnTaker, moveList)
コード例 #4
0
ファイル: search.py プロジェクト: tonywu95/python-ggp
    def turnTakingSearch(self, state, legalMoves, bestMove, depth, alpha, beta,
                         turnTaker):
        # Get legal moves for turn taker, putting the best one first
        moveSet = legalMoves[turnTaker]
        moveList = shuffle(list(moveSet))
        if bestMove in moveSet:
            moveList.remove(bestMove)
            moveList.insert(0, bestMove)

        # MAX: this is a teammate
        if self.role == turnTaker:  #self.gd.isTeammate(self.role, turnTaker):
            return self.maximize(state, legalMoves, bestMove, depth, alpha,
                                 beta, turnTaker, moveList)
        # MIN: this is an opponent
        else:
            return self.minimize(state, legalMoves, bestMove, depth, alpha,
                                 beta, turnTaker, moveList)