成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

MorePainMoreGain / 522人閱讀

摘要:這項(xiàng)亂入的修改就是修改目錄結(jié)構(gòu),為多關(guān)卡作準(zhǔn)備上篇鏈接從開始用寫一個(gè)命令行小游戲七多關(guān)卡目錄結(jié)構(gòu)我計(jì)劃把目錄結(jié)構(gòu)改成這樣關(guān)卡文件,是關(guān)卡用完后的默認(rèn)配置其中是目前的關(guān)卡數(shù),為表示關(guān)卡已經(jīng)用完,使用默認(rèn)關(guān)卡。

今天,我突然想起了另一項(xiàng)修改,所以原計(jì)劃的多行+新僵尸就改到第九篇再介紹。這項(xiàng)“亂入”的修改就是:修改目錄結(jié)構(gòu),為多關(guān)卡作準(zhǔn)備!上篇鏈接:從0開始用python寫一個(gè)命令行小游戲(七)

多關(guān)卡目錄結(jié)構(gòu)

我計(jì)劃把目錄結(jié)構(gòu)改成這樣:

levels
- 0.json
- 1.json
- ...          # 關(guān)卡文件,0.json是關(guān)卡用完后的默認(rèn)配置
level.txt
game_obj.py
game.py

其中level.txt是目前的關(guān)卡數(shù),為0表示關(guān)卡已經(jīng)用完,使用默認(rèn)關(guān)卡。在game.pyGame__init__()方法開頭加上:

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")

并在這個(gè)類start()方法的末尾加上:

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。這里簡單介紹一下最后那個(gè)if語句的作用:os.path.exists()查看在當(dāng)前目錄下有沒有這個(gè)文件或文件夾,os.popen()執(zhí)行系統(tǒng)命令,并將輸出返回。這里我們沒有接收返回,即不處理輸出。整句語句意思就是:如果.git目錄存在,則自動(dòng)執(zhí)行Git提交命令。如果該目錄不存在,則不執(zhí)行提交命令,以免引起錯(cuò)誤。Git是一個(gè)版本控制軟件,有興趣的話可以了解一下,這里不作介紹。好了,我們又成功添加了一個(gè)功能,只要加上對應(yīng)的配置文件(在此不貼出)就可以實(shí)現(xiàn)多關(guān)卡游戲了!至此為我的游戲v1.0 beta 4發(fā)布狀態(tài)。

下集預(yù)告

下次,我保證,沒有“亂入”的修改,新僵尸+多行網(wǎng)格,敬請期待!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42214.html

相關(guān)文章

  • 0開始python一個(gè)命令游戲(九)

    摘要:好了,今天終于到了你們期待已久的多行新僵尸。好,開始吧上篇鏈接從開始用寫一個(gè)命令行小游戲八。多行游戲一開始我為了盡可能簡化游戲,我用了一個(gè)單行數(shù)組,以模擬只有一行的游戲。一個(gè)形如的列表生成式等價(jià)于運(yùn)行后的列表。 好了,今天終于到了你們期待已久的多行+新僵尸。其實(shí)我本來想把它們放在兩個(gè)beta里解決的,但后來忘了,于是打包起來,跳過beta 5,直接發(fā)布了beta 6,就是今天的結(jié)束狀態(tài)...

    WalkerXu 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(六)

    摘要:嗯,今天我們的從開始用寫一個(gè)命令行小游戲系列總算走到了我發(fā)布的時(shí)候。玩過我的正式版的話,你會(huì)發(fā)現(xiàn)現(xiàn)在的游戲還和正式版差別很大。好,現(xiàn)在就來順便補(bǔ)充一下,上次方法后追加僵尸被打敗是完成了好好慶祝一下 嗯,今天我們的從0開始用python寫一個(gè)命令行小游戲系列總算走到了我發(fā)布v1.0 beta 1的時(shí)候。玩過我的1.0正式版的話,你會(huì)發(fā)現(xiàn)現(xiàn)在的游戲還和正式版差別很大。不管怎么樣,現(xiàn)在就開始...

    channg 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(四)

    摘要:講點(diǎn)搞笑的,最近在開發(fā)時(shí),發(fā)現(xiàn)最令程序猿頭疼的一點(diǎn)就是沒有語句。但自動(dòng)的僵尸呢哎,別急,那是后話下集預(yù)告下次,我要把游戲變得全自動(dòng)具體工作令僵尸自動(dòng)出現(xiàn),和讓用戶用命令控制游戲這些工作完成后,就可以發(fā)布了歡迎繼續(xù)關(guān)注 嗯,還是我,我又回來了——以后文章就兩天一篇吧。講點(diǎn)搞笑的,最近在開發(fā)v1.1 beta 3時(shí),發(fā)現(xiàn)Python最令程序猿頭疼的一點(diǎn)就是沒有switch/case語句。要...

    graf 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(五)

    摘要:今天我時(shí)間有點(diǎn)緊張,所以不說廢話了,直接進(jìn)入正題。好現(xiàn)在,游戲可以自動(dòng)產(chǎn)生僵尸了。然后呢用戶可控的植物真正的植物大戰(zhàn)僵尸游戲可以讓玩家用鼠標(biāo)控制游戲。由于這是命令行游戲,所以我們得用命令控制。 今天我時(shí)間有點(diǎn)緊張,所以不說廢話了,直接進(jìn)入正題。前作鏈接: 從0開始用python寫一個(gè)命令行小游戲(一) 從0開始用python寫一個(gè)命令行小游戲(二) 從0開始用python寫一個(gè)命令行...

    skinner 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(十)

    摘要:前幾天出去旅游了,所以沒能更新文章,但轉(zhuǎn)眼間,從開始用寫一個(gè)命令行小游戲系列已經(jīng)更新到了第十篇。閑話少說,今天我們要開始重構(gòu)了但第一件事還是上篇的鏈接從開始用寫一個(gè)命令行小游戲九。所以,我們需要一個(gè)標(biāo)志變量,以標(biāo)志游戲的結(jié)束。 前幾天出去旅游了,所以沒能更新文章,但轉(zhuǎn)眼間,從0開始用python寫一個(gè)命令行小游戲系列已經(jīng)更新到了第十篇。閑話少說,今天我們要開始重構(gòu)了!但第一件事還是上篇...

    OnlyLing 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<