從0開始用python寫乙個命令列小遊戲(三)

2021-09-13 12:13:07 字數 1423 閱讀 6945

hey, everyone! 文章遲到了一天,但我今天心情很好,因為有兩個好訊息,你們想先聽哪個?哎,算了,反正都是好訊息,一起聽吧。

從0開始用python寫乙個命令列小遊戲(一)

從0開始用python寫乙個命令列小遊戲(二)

好,懷著良好的心(zi wo)情(gan jue),進入正題!

殭屍的行為在基礎類裡面定義得很充分,兩行**搞定乙個基礎類:

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.py

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

game類的__init__方法追加以下**:

# 讀取配置檔案

import json

with open('level.json') as fr:

self.steps = json.load(fr)

試一試!

in [1]: import game as g

in [2]: game().steps

out[2]:

好了!我們已經獲取了所有使用者介面所需的資料,但現在的遊戲還不能玩。今天就起步,以後,我們將使用今天採集的資料製作最終的遊戲!

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

從0開始用python寫乙個命令列小遊戲(11)

首先,我要強調一點 所有需要變數匹配的地方 類似別的語言中的switch 都可以用配置檔案 主要是字典 比如,我的遊戲裡面種植植物時匹配植物名稱。既然這個配置檔案需要與植物的類互動,所以要使用python格式,而非json或別的語言。試試看 config.py import game obj as ...

從0開始用python寫乙個命令列小遊戲(六)

從0開始用python寫乙個命令列小遊戲 一 從0開始用python寫乙個命令列小遊戲 二 從0開始用python寫乙個命令列小遊戲 三 從0開始用python寫乙個命令列小遊戲 四 從0開始用python寫乙個命令列小遊戲 五 上次,我們還缺乙個功能 自動呼叫step 的方法。好,現在就來!順便補...

從0開始用python寫乙個命令列小遊戲(五)

從0開始用python寫乙個命令列小遊戲 一 從0開始用python寫乙個命令列小遊戲 二 從0開始用python寫乙個命令列小遊戲 三 從0開始用python寫乙個命令列小遊戲 四 上次我們的game類是這樣的 import game obj as o class game def init se...