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

嗯,仍是我,我又回來了——之後文章就兩天一篇吧。講點搞笑的,最近在開發v1.1 beta 3時,發現Python最令程序猿頭疼的一點就是沒有switch/case語句。要匹配值,就得不停地if...elif...實在頭疼。後來我想到了一種方法:字典!因而···python

config = {value1: func1, value2: func2...}
config[xxx]()

哈哈,腦洞清奇吧?好,進入正題!首先,個人前做連接:json

  1. 從0開始用python寫一個命令行小遊戲(一)
  2. 從0開始用python寫一個命令行小遊戲(二)
  3. 從0開始用python寫一個命令行小遊戲(三)

今天要幹什麼來着?對了,用戶界面!segmentfault

用戶界面:第二步

上次咱們定義的Game類是這樣的:命令行

import game_obj as o

class Game:
    def __init__(self):
        o.sunlight = 50
        o.board = [0] * 10
        self.sunlight = o.sunlight
        self.board = o.board
        import json
        with open("level.json") as fr:
            self.steps = json.load(fr)

但既然是用戶界面,那總得輸出點東西吧!好,這就定義過一步的方法:code

def step(self):
    print("Sunlight: %d." % self.sunlight)
    print("Current state:")
    for obj in self.board:
        if isinstance(obj, o.GameObject):
            obj.step()
        print(obj, end='  ')

試一試:遊戲

In [1]: from game import Game

In [2]: Game().step()
Sunlight: 50.
Current state:
0  0  0  0  0  0  0  0  0  0  

In [3]: g = Game()

In [4]: import game_obj as o

In [5]: o.Sunflower(0)

In [6]: g.step()
Sunlight: 25.
Current state:
s  0  0  0  0  0  0  0  0  0

好,能夠用「半自動」方式玩遊戲了。但自動的殭屍呢?哎,別急,那是後話······開發

下集預告

下次,我要把遊戲變得全自動!具體工做:令殭屍自動出現,和讓用戶用命令控制遊戲!這些工做完成後,就能夠發佈v1.0 beta 1了!!!歡迎繼續關注!get

相關文章
相關標籤/搜索