return Vehicle(randomVehicleID,x,y,randomVType) ########################## boardConfigsFolder = "C:/Users/Abbas/PycharmProjects/Rush Hour Puzzle Game/New folder" if __name__ == '__main__': aStar = AStar(BlockingExitHeuristic()) rushHourPuzzles = [] generator = Generator(12,12) i = 0 while i < 25: puzzle = generator.generate() if puzzle: sol = aStar.aStar(puzzle) if sol['Steps'] > 10 : while True: alreadyExist = False for p in rushHourPuzzles: if p.isSamePuzzle(puzzle): alreadyExist = True break if not alreadyExist: break puzzle = generator.generate() rushHourPuzzles.append(puzzle) filename =boardConfigsFolder+"/" +"12_{0}.txt".format(i) savePuzzle(puzzle, filename) print("Puzzle {0}".format(i), "Steps {0}".format(sol['Steps'])) i +=1
harderPuzzlesFolder = "C:/Users/Abbas/PycharmProjects/Rush Hour Puzzle Game/HarderPuzzles" generateHarderPuzzle = GenerateHarderPuzzle() def recordHillClimbing(): data = [] h0 = ZeroHeuristic() aStarWithH0 = AStar(h0) for i in range(0, 15): for j in range(0, 25): filename = '{0}_{1}.txt'.format(i, j) r = load_file(boardConfigsFolder + '/{0}'.format(filename)) sol1 = aStarWithH0.aStar(r) rr = load_file(harderPuzzlesFolder + '/{0}'.format(filename)) sol2 = aStarWithH0.aStar(rr) data.append([filename, sol1['Steps'], sol2['Steps']]) print(filename,sol1['Steps'], sol2['Steps']) with open('hillClimbing.csv', 'w', newline='') as f: wr = csv.writer(f, delimiter=',') wr.writerows(data) if __name__ == '__main__': for i in range(13,15): for j in range(0,25): filename = '{0}_{1}.txt'.format(i,j) print('puzzle file {0}'.format(filename)) puzzle = load_file(boardConfigsFolder+'/{0}'.format(filename)) harderPuzzle = generateHarderPuzzle.hillClimbing(puzzle) savePuzzle(harderPuzzle, harderPuzzlesFolder+'/'+filename) recordHillClimbing()