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

Hey, everyone! 文章迟到了一天,但我今天心情很好,由于有两个好消息,大家想先听哪一个?哎,算了,反正都是好消息,一块儿听吧。python

  • 本游戏的v1.1 beta 1和beta 2前后发布了!想要帮我测试的话,以前那个GitHub连接里面就是。
  • 随着游戏的不断更新,此系列SegmentFault文章有可能不断延续!

还有,若是你没看过个人前做的话,下面是连接:json

  1. 从0开始用python写一个命令行小游戏(一)
  2. 从0开始用python写一个命令行小游戏(二)

好,怀着良好的心(zi wo)情(gan jue),进入正题!segmentfault

BaseZombie的子类

僵尸的行为在基础类里面定义得很充分,两行代码搞定一个基础类:测试

class Zombie(BaseZombie):
    indicating_char = 'z'
    
    def __init__(pos, die_to_exit=False):
        super().__init__(pos, 1, 1, die_to_exit)

好了!是否是很简单呢?好,开始编写用户界面吧!命令行

用户界面:第一步

编写用户界面是一项永无止境的工做,我到如今的大部分工做仍是这个。今天就开始!因为整个游戏会有本身的一些属性和行为,因此我决定把它编写在类里。原文件更名为game_obj.py,新文件叫game.pycode

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

先定义这些。再想一想植物大战僵尸游戏还有什么属性。对了,游戏中自动出现僵尸,这个要写在配置文件里面,咱们的Game类要读取它!嗯,先把配置文件编出来吧。我计划使用JSON格式,以第几步出现做为键,以出现的僵尸类型(之后可能会出现不一样类型的僵尸)和是否在它被消灭后结束游戏做为值。文件名:level.json游戏

{
  "3": "zombie",
  "6": "zombie",
  "10": "exit zombie"
}

Game类的__init__方法追加如下代码:开发

# 读取配置文件
import json
with open('level.json') as fr:
    self.steps = json.load(fr)

试一试!get

In [1]: import game as g

In [2]: Game().steps
Out[2]:
{'3': 'zombie', '6': 'zombie', '10': 'exit zombie'}

好了!咱们已经获取了全部用户界面所需的数据,但如今的游戏还不能玩。今天就起步,之后,咱们将使用今天采集的数据制做最终的游戏!it

下集预告

至于下集讲什么,没得说,用户界面开发(第二步)!欢迎继续关注!

相关文章
相关标签/搜索