今天,我忽然想起了另外一项修改,因此原计划的多行+新僵尸就改到第九篇再介绍。这项“乱入”的修改就是:修改目录结构,为多关卡做准备!上篇连接:从0开始用python写一个命令行小游戏(七)python
我计划把目录结构改为这样:git
levels - 0.json - 1.json - ... # 关卡文件,0.json是关卡用完后的默认配置 level.txt game_obj.py game.py
其中level.txt
是目前的关卡数,为0表示关卡已经用完,使用默认关卡。在game.py
中Game
类__init__()
方法开头加上:json
with open('level.txt') as lv: try: level = lv.read() with open('levels/%s.json' % level) as fw: self.steps = json.load(fw) print("Level " + level) except FileNotFoundError: with open('levels/0.json') as fw: self.steps = json.load(fw) with open('level.txt', 'w') as lv_w: lv_w.write('0') print("Default level")
并在这个类start()
方法的末尾加上:segmentfault
with open('level.txt') as fr: current_level = int(fr.read()) with open('level.txt', 'w') as lv_w: lv_w.write(str(current_level + 1)) if os.path.exists('.git'): os.popen("git commit -am \"commit level change\"")
该文件开头加上import os
。这里简单介绍一下最后那个if
语句的做用:os.path.exists()
查看在当前目录下有没有这个文件或文件夹,os.popen()
执行系统命令,并将输出返回。这里咱们没有接收返回,即不处理输出。整句语句意思就是:若是.git
目录存在,则自动执行Git提交命令。若是该目录不存在,则不执行提交命令,以避免引发错误。Git是一个版本控制软件,有兴趣的话能够了解一下,这里不做介绍。好了,咱们又成功添加了一个功能,只要加上对应的配置文件(在此不贴出)就能够实现多关卡游戏了!至此为个人游戏v1.0 beta 4发布状态。命令行
下次,我保证,没有“乱入”的修改,新僵尸+多行网格,敬请期待!版本控制