def checkBankForUpdate(bankName, foundData, tileBased=True, printMe=False): '''checks the bank with the given bank name to see if anything from the given list, found data, has been added or removed''' #images = findAllFiles("art/"+fileName+"/"); bankFile = open(bankName + ".txt", "r+") if tileBased: bankedData = getBankedData(bankFile) bankedNames = bankedData[0] bankedASCIIs = bankedData[1] addedNames = util.shallowCopy(foundData) #Figure out what has been added addedNames = util.deleteSimularItems(bankedNames, addedNames) removedNames = util.shallowCopy(bankedNames) #Figure out what has been removed removedNames = util.deleteSimularItems(foundData, removedNames) removedASCIIs = [] for i in removedNames: if printMe: print( i + " has been removed, removing ascii representation from pool" ) removedASCIIs.append(bankedASCIIs.pop(bankedNames.index(i))) #Removes it from the other an adds it to the removed list bankedNames.pop(bankedNames.index(i)) if len(removedASCIIs) > 0: print("TILEBASED:" + str(removedASCIIs)) changeMaps(bankName, removedASCIIs) asciiCatch = getNewASCIIs(addedNames, bankedASCIIs, printMe) for name in addedNames: bankedNames.append(name) writeOutBank(bankFile, bankedNames, bankedASCIIs, printMe) #bankedNames = util.deleteSimularItems(removedNames, bankedNames); #writeOutBank(foundData, bankFile, bankedNames, bankedASCIIs) else: bankedNames = getBankedData(bankFile, False)[0] print("\n") print(bankedNames) print("\n") addedNames = util.shallowCopy(foundData) addedNames = util.deleteSimularItems(bankedNames, addedNames) removedNames = util.shallowCopy(bankedNames) removedNames = util.deleteSimularItems(foundData, removedNames) bankedNames = util.deleteSimularItems(removedNames, bankedNames) for name in addedNames: bankedNames.append(name) if len(removedNames) > 0: print("NON TILEBASED: " + str(removedNames)) changeMaps(bankName, removedNames, False) writeOutBank(bankFile, bankedNames, -1, printMe) bankFile.close()
def saveMap(self): '''Basic map saving functionallity''' fileName = input("Save level as (Without .lvl extention)(enter 'x' to cancel): ") if fileName == 'x': print("Save cancelled"); return 0; fileName += ".lvl" filePath = "levels/" + fileName try: file = open(filePath, 'r'); found = True; file.close(); except: found = False; if found: answer = util.ask("Level already created. Overight?: (Yes/No) "); if answer == True: found = False; else: print("Save canceled!"); if found == False: file = open(filePath, 'w') mapOutPut = "mapWidth " + str(self.cols) + "\nmapHeight " + str(self.rows) + "\n" + self.getMapString() file.write(mapOutPut); file.close(); for layer in self.layerList: layer.tileListCatch = util.shallowCopy(layer.tileList); print(fileName+" saved");
def checkBankForUpdate(bankName, foundData, tileBased=True, printMe=False): '''checks the bank with the given bank name to see if anything from the given list, found data, has been added or removed''' #images = findAllFiles("art/"+fileName+"/"); bankFile = open(bankName+".txt","r+"); if tileBased: bankedData = getBankedData(bankFile); bankedNames = bankedData[0];bankedASCIIs = bankedData[1]; addedNames = util.shallowCopy(foundData);#Figure out what has been added addedNames = util.deleteSimularItems(bankedNames, addedNames); removedNames = util.shallowCopy(bankedNames);#Figure out what has been removed removedNames = util.deleteSimularItems(foundData, removedNames); removedASCIIs = [] for i in removedNames: if printMe: print(i + " has been removed, removing ascii representation from pool") removedASCIIs.append(bankedASCIIs.pop(bankedNames.index(i)));#Removes it from the other an adds it to the removed list bankedNames.pop(bankedNames.index(i)); if len(removedASCIIs) > 0: print("TILEBASED:"+str(removedASCIIs)); changeMaps(bankName,removedASCIIs); asciiCatch = getNewASCIIs(addedNames, bankedASCIIs, printMe); for name in addedNames: bankedNames.append(name); writeOutBank(bankFile, bankedNames, bankedASCIIs, printMe); #bankedNames = util.deleteSimularItems(removedNames, bankedNames); #writeOutBank(foundData, bankFile, bankedNames, bankedASCIIs) else: bankedNames = getBankedData(bankFile, False)[0]; print("\n") print(bankedNames) print("\n") addedNames = util.shallowCopy(foundData); addedNames = util.deleteSimularItems(bankedNames, addedNames); removedNames = util.shallowCopy(bankedNames); removedNames = util.deleteSimularItems(foundData, removedNames); bankedNames = util.deleteSimularItems(removedNames, bankedNames); for name in addedNames: bankedNames.append(name); if len(removedNames) > 0: print("NON TILEBASED: "+str(removedNames)); changeMaps(bankName, removedNames, False) writeOutBank(bankFile, bankedNames, -1, printMe); bankFile.close();