從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

下集預告

至於下集講什麼,沒得說,用戶界面開發(第二步)!歡迎繼續關注!

相關文章
相關標籤/搜索