def heuristic(self): number_squares = 0 checker = Check(self.initState.board) for i in range(self.initState.size): if sum(self.initState.board[i]) == 0: for j in range(self.initState.size): if checker.checkALL(i, j): number_squares += 1 return number_squares
def expand(self): nextStates = [] checker = Check(self.initState.board) for i in range(self.initState.size): for j in range(self.initState.size): if checker.checkALL(i, j): nextState = copy.deepcopy(self) nextState.setVal(i, j, 1) nextStates.append(nextState) return nextStates