def new_game(self, choice='clyde'):
print('new game')
# get numbers of last save files to find an appropriate save file id to provide copying
# make this beast a lot shorter sometime soon. Probably just iterate over files with choice in them, inc
# all_tmx_files_to_db() # update seed file for any changes from tmx files before copying it to use
save_number = 0
for rootdir, dir, files in os.walk(SAVE_PATH):
current_number = len(fnmatch.filter(files, choice + '*.save'))
if current_number > save_number:
save_number = current_number
save_number += 1
filename = choice + '-' + str(save_number)
while os.path.isfile(SAVE_PATH + filename + '.save'):
filename += '0'
filename = SAVE_PATH + filename + '.save'
# copy seed db file with name of filename to make a new save file
copyfile(os.path.join(runpath, 'seed.db'), filename)
engine = create_engine('sqlite:///' + filename)
Session = sessionmaker(bind=engine) # configure session object
self.db = Session()
# set player flags like main_character, player_party, etc
player_character_flag = self.db.query(GameFlag).filter(GameFlag.name == 'player_character').first()
if not player_character_flag:
player_character_flag = GameFlag()
player_character_flag.name = 'player_character'
player_character_flag.value = choice
# MAYBE TO-DO : find clyde map object and set its coords and map_id to values for clyde choice?
# FOR NOW, commit changes
self.db.add(player_character_flag)
self.db.commit()
print('save file created...loading', filename)
self.load_game(filename)
评论列表
文章目录