嗯,还是我,我又回来了——以后文章就两天一篇吧。讲点搞笑的,最近在开发v1.1 beta 3时,发现Python最令程序猿头疼的一点就是没有switch/case语句。要匹配值,就得不停地if...elif...
实在头疼。后来我想到了一种方法:字典!于是···
config = {value1: func1, value2: func2...}
config[xxx]()
哈哈,脑洞清奇吧?好,进入正题!首先,我的前作链接:
今天要干什么来着?对了,用户界面!
用户界面:第二步
上次我们定义的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)
但既然是用户界面,那总得输出点东西吧!好,这就定义过一步的方法:
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了!!!欢迎继续关注!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。