第11篇!第11篇!第11篇!!!說實話,我真沒想過文章會更新到10以上。可是,來都來了,咱們的編程仍是要繼續的嘛!今天的主題:配置文件!首先,上篇連接:從0開始用python寫一個命令行小遊戲(十)python
首先,我要強調一點:全部須要變量匹配的地方(相似別的語言中的switch
),均可以用配置文件(主要是字典)。好比,個人遊戲裏面種植植物時匹配植物名稱。既然這個配置文件須要與植物的類交互,因此要使用Python
格式,而非JSON
或別的語言。試試看:編程
# config.py import game_obj as o config = { "plant_name": { 's': o.Sunflower, 'p': o.Peashooter, } }
而後把game.Game.process_command()
的try-except-else
中的else
改成:segmentfault
from config import config if plant_type in config["plant_name"].keys(): config["plant_name"][plant_type](x, y) # 獲取類型並調用構造方法
怎麼樣,是否是優雅不少呢?但別忘了,咱們還有一個地方有急需switch
語句:殭屍配置。dom
將config.py
改成:命令行
import game_obj as o config = { "plant_name": {} # 同前 "zombie_name": { "zombie": o.Zombie, "kicker": o.KickerZombie, } }
而後將game.Game.step()
改成:code
def step(self, commands): # 其他同前 if str(self.step_num) in self.steps.keys(): action = self.steps[str(self.step_num)] from config import config from random import randint action_list = action.split() if action_list[-1] in config["zombie_name"].keys(): config["zombie_name"][action_list[-1]](9, randint(0, 4), action_list[0] == 'exit')
好了,今天就這樣吧。遊戲
下次···對了,多關卡!敬請繼續關注!get