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()