资讯专栏INFORMATION COLUMN

从0开始用python写一个命令行小游戏(11)

idealcn / 2291人阅读

摘要:但是,来都来了,我们的编程还是要继续的嘛今天的主题配置文件首先,上篇链接从开始用写一个命令行小游戏十配置文件匹配植物首先,我要强调一点所有需要变量匹配的地方类似别的语言中的,都可以用配置文件主要是字典。

第11篇!第11篇!第11篇!!!说实话,我真没想过文章会更新到10以上。但是,来都来了,我们的编程还是要继续的嘛!今天的主题:配置文件!首先,上篇链接:从0开始用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改为:

from config import config
if plant_type in config["plant_name"].keys():
    config["plant_name"][plant_type](x, y)            # 获取类型并调用构造方法

怎么样,是不是优雅很多呢?但别忘了,我们还有一个地方有急需switch语句:僵尸配置。

匹配僵尸

config.py改为:

import game_obj as o

config = {
    "plant_name": {}        # 同前
    "zombie_name": {
        "zombie": o.Zombie,
        "kicker": o.KickerZombie,
    }
}

然后将game.Game.step()改为:

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

好了,今天就这样吧。

下集预告

下次···对了,多关卡!敬请继续关注!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42295.html

相关文章

  • 0开始python一个命令游戏(12)

    摘要:今天,我们要添加多关卡的功能了目录结构在之前的编程中定义好了以后,今天的任务还是相对简单的。上次我们讲到这里从开始用写一个命令行小游戏多关卡今天就是在配置文件上做做文章。不多说了,开始以此类推。 今天,我们要添加多关卡的功能了!目录结构在之前的编程中定义好了以后,今天的任务还是相对简单的。上次我们讲到这里:从0开始用python写一个命令行小游戏(11) 多关卡 今天就是在配置文件上做...

    zhkai 评论0 收藏0
  • 0开始python一个命令游戏(二)

    摘要:我回来了今天,我们真正会亮相的植物要出来了哦还有,我们敌人的基础类我叫它也会闪亮登场。还有,这是第二篇。闲话少说,进入正题两种植物和向日葵是,豌豆射手是。注增强版,你怎么看种植向日葵损失,它又产生成功现在,该编豌豆射手了。 我回来了!今天,我们真正会亮相的植物要出来了哦!还有,我们敌人的基础类(我叫它BaseZombie)也会闪亮登(lai)场(xi)。很期待?那就开始吧! 注:我使用...

    chanjarster 评论0 收藏0
  • 0开始python一个命令游戏(六)

    摘要:嗯,今天我们的从开始用写一个命令行小游戏系列总算走到了我发布的时候。玩过我的正式版的话,你会发现现在的游戏还和正式版差别很大。好,现在就来顺便补充一下,上次方法后追加僵尸被打败是完成了好好庆祝一下 嗯,今天我们的从0开始用python写一个命令行小游戏系列总算走到了我发布v1.0 beta 1的时候。玩过我的1.0正式版的话,你会发现现在的游戏还和正式版差别很大。不管怎么样,现在就开始...

    channg 评论0 收藏0
  • 0开始python一个命令游戏(四)

    摘要:讲点搞笑的,最近在开发时,发现最令程序猿头疼的一点就是没有语句。但自动的僵尸呢哎,别急,那是后话下集预告下次,我要把游戏变得全自动具体工作令僵尸自动出现,和让用户用命令控制游戏这些工作完成后,就可以发布了欢迎继续关注 嗯,还是我,我又回来了——以后文章就两天一篇吧。讲点搞笑的,最近在开发v1.1 beta 3时,发现Python最令程序猿头疼的一点就是没有switch/case语句。要...

    graf 评论0 收藏0
  • 0开始python一个命令游戏(五)

    摘要:今天我时间有点紧张,所以不说废话了,直接进入正题。好现在,游戏可以自动产生僵尸了。然后呢用户可控的植物真正的植物大战僵尸游戏可以让玩家用鼠标控制游戏。由于这是命令行游戏,所以我们得用命令控制。 今天我时间有点紧张,所以不说废话了,直接进入正题。前作链接: 从0开始用python写一个命令行小游戏(一) 从0开始用python写一个命令行小游戏(二) 从0开始用python写一个命令行...

    skinner 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<