def __init__(self,board, mark): super(QPlayer, self).__init__() self.mark = mark self.mark2 = Mark.getOpposite(mark) self.lastAction = Position() self.lastReward = 0 self.lastState = [] self.qMap = QMapArray(board.getSize()) self.board = board
def hasWon(self,mark=-1): if mark==-1: mark=Mark.getOpposite(self.nextMove()) for arr in self.board: if(arr==[mark for i in range(0,self.n)]): return True for i in range(0,self.n): arr=[row[i] for row in self.board] if(arr==[mark for i in range(0,self.n)]): return True arr=[self.board[i][i] for i in range(0,self.n)] if(arr==[mark for i in range(0,self.n)]): return True arr=[self.board[i][self.n-i-1] for i in range(0,self.n)] if(arr==[mark for i in range(0,self.n)]): return True return False