從0開始用python寫一個命令行小遊戲(八)

今天,我忽然想起了另外一項修改,因此原計劃的多行+新殭屍就改到第九篇再介紹。這項「亂入」的修改就是:修改目錄結構,爲多關卡做準備!上篇連接:從0開始用python寫一個命令行小遊戲(七)python

多關卡目錄結構

我計劃把目錄結構改爲這樣:git

levels
- 0.json
- 1.json
- ...          # 關卡文件,0.json是關卡用完後的默認配置
level.txt
game_obj.py
game.py

其中level.txt是目前的關卡數,爲0表示關卡已經用完,使用默認關卡。在game.pyGame__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發佈狀態。命令行

下集預告

下次,我保證,沒有「亂入」的修改,新殭屍+多行網格,敬請期待!版本控制

相關文章
相關標籤/搜索