main.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:kivy_rpg 作者: spinningD20 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号