今天,我忽然想起了另外一項修改,因此原計劃的多行+新殭屍就改到第九篇再介紹。這項「亂入」的修改就是:修改目錄結構,爲多關卡做準備!上篇連接:從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發佈狀態。命令行
下次,我保證,沒有「亂入」的修改,新殭屍+多行網格,敬請期待!版本控制