if pos.isSolved(): solution = pos.path break for newBoard, newEmpty, move in pos.possibleMoves(): newPos = Positions(pos.level+1, newBoard, newEmpty, pos.path + self.tMove(move), self.n) if newPos not in self.visited: self.visited.add(newPos) self.queue.put(newPos) # print(time.time() - self.start, solution) return solution, time.time() - self.start if __name__ == "__main__": from gamelogic import GameLogic f = open("data.csv", "a+") for _ in range(1000): g = GameLogic(4) g.shuffleBoard() board = g.getBoard() out = "" for i in range( len(board)): for n in board[i]: out += str(n) + "," soln = Solver(g, 4).getSolution() row = out + str(len(soln)) + "\n" print(row) f.write(row) f.close()