国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

從0開始用python寫一個(gè)命令行小游戲(九)

WalkerXu / 2680人閱讀

摘要:好了,今天終于到了你們期待已久的多行新僵尸。好,開始吧上篇鏈接從開始用寫一個(gè)命令行小游戲八。多行游戲一開始我為了盡可能簡(jiǎn)化游戲,我用了一個(gè)單行數(shù)組,以模擬只有一行的游戲。一個(gè)形如的列表生成式等價(jià)于運(yùn)行后的列表。

好了,今天終于到了你們期待已久的多行+新僵尸。其實(shí)我本來想把它們放在兩個(gè)beta里解決的,但后來忘了,于是打包起來,跳過beta 5,直接發(fā)布了beta 6,就是今天的結(jié)束狀態(tài)。好,開始吧!上篇鏈接:從0開始用python寫一個(gè)命令行小游戲(八)。

多行游戲

一開始我為了盡可能簡(jiǎn)化游戲,我用了一個(gè)單行數(shù)組,以模擬只有一行的游戲。因?yàn)楝F(xiàn)在要多行,所以要把單行數(shù)組補(bǔ)充為多行數(shù)組。于是(因?yàn)閯?chuàng)建多行數(shù)組有一系列方法),我進(jìn)入IPython環(huán)境進(jìn)行測(cè)試各種可能的方法:

In [1]: test_list = [[0] * 10] * 5

In [2]: test_list
Out[2]: 
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

In [3]: test_list[0][0] = 1

In [4]: test_list
Out[4]: 
[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]]                     # 不太對(duì)!

In [5]: test_list = [[0] * 10 for i in range(5)]

In [6]: test_list
Out[6]: 
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

In [7]: test_list[0][0] = 1

In [8]: test_list
Out[8]: 
[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]                     # 正常了

這里說一說In [5]處我的代碼意思:Python有一種叫做列表生成式的語法,它由一個(gè)表達(dá)式(如[0] * 10)和一個(gè)類似for循環(huán)開頭的語句(for i in range(5))組成,還有包裹整個(gè)列表生成式的方括號(hào)。一個(gè)形如[exp for i in seq]的列表生成式等價(jià)于:

result = []
for i in seq:
    result.append(exp)

運(yùn)行后的result列表。注意表達(dá)式可以包含i(也可以不包含),就像在真正的for循環(huán)里面一樣。回到正題,將game_obj.py中的board修改為:

board = [[0] * 10 for i in range(5)]

然后,將所有類的__init__方法的pos參數(shù)都修改為xy兩個(gè)參數(shù),并把所有board[self.pos]都改為board[self.y][self.x]。此外,game.py中的Game類也需要修改,具體方法可參見我的GitHub上的v1.0 release代碼。然后,就···該讓新僵尸出場(chǎng)了!

新的僵尸

說實(shí)話,你剛才是不是以為我會(huì)說“然后就沒有然后了”?不管怎么樣,開始吧!我想設(shè)計(jì)一種一來到植物身邊就可以把它“踢飛”的僵尸,以增加游戲的刺激性。其實(shí),它的難點(diǎn)在于設(shè)計(jì),不是代碼:

class KickerZombie(BaseZombie):
    indicating_char = color(31, "k")          # 紅色
    
    def __init__(self, x, y, die_to_exit=False):
        super().__init__(x, y, 1, 30, die_to_exit)          # 超大傷害

然后就是配置,如果你有興趣,可以效仿之前我的配置,這里我就不再多說了。

下集預(yù)告

下次,我們要做一些重構(gòu)工作了!歡迎繼續(xù)關(guān)注!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/42243.html

相關(guān)文章

  • 0開始python一個(gè)命令游戲(十)

    摘要:前幾天出去旅游了,所以沒能更新文章,但轉(zhuǎn)眼間,從開始用寫一個(gè)命令行小游戲系列已經(jīng)更新到了第十篇。閑話少說,今天我們要開始重構(gòu)了但第一件事還是上篇的鏈接從開始用寫一個(gè)命令行小游戲九。所以,我們需要一個(gè)標(biāo)志變量,以標(biāo)志游戲的結(jié)束。 前幾天出去旅游了,所以沒能更新文章,但轉(zhuǎn)眼間,從0開始用python寫一個(gè)命令行小游戲系列已經(jīng)更新到了第十篇。閑話少說,今天我們要開始重構(gòu)了!但第一件事還是上篇...

    OnlyLing 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(六)

    摘要:嗯,今天我們的從開始用寫一個(gè)命令行小游戲系列總算走到了我發(fā)布的時(shí)候。玩過我的正式版的話,你會(huì)發(fā)現(xiàn)現(xiàn)在的游戲還和正式版差別很大。好,現(xiàn)在就來順便補(bǔ)充一下,上次方法后追加僵尸被打敗是完成了好好慶祝一下 嗯,今天我們的從0開始用python寫一個(gè)命令行小游戲系列總算走到了我發(fā)布v1.0 beta 1的時(shí)候。玩過我的1.0正式版的話,你會(huì)發(fā)現(xiàn)現(xiàn)在的游戲還和正式版差別很大。不管怎么樣,現(xiàn)在就開始...

    channg 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(四)

    摘要:講點(diǎn)搞笑的,最近在開發(fā)時(shí),發(fā)現(xiàn)最令程序猿頭疼的一點(diǎn)就是沒有語句。但自動(dòng)的僵尸呢哎,別急,那是后話下集預(yù)告下次,我要把游戲變得全自動(dòng)具體工作令僵尸自動(dòng)出現(xiàn),和讓用戶用命令控制游戲這些工作完成后,就可以發(fā)布了歡迎繼續(xù)關(guān)注 嗯,還是我,我又回來了——以后文章就兩天一篇吧。講點(diǎn)搞笑的,最近在開發(fā)v1.1 beta 3時(shí),發(fā)現(xiàn)Python最令程序猿頭疼的一點(diǎn)就是沒有switch/case語句。要...

    graf 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(五)

    摘要:今天我時(shí)間有點(diǎn)緊張,所以不說廢話了,直接進(jìn)入正題。好現(xiàn)在,游戲可以自動(dòng)產(chǎn)生僵尸了。然后呢用戶可控的植物真正的植物大戰(zhàn)僵尸游戲可以讓玩家用鼠標(biāo)控制游戲。由于這是命令行游戲,所以我們得用命令控制。 今天我時(shí)間有點(diǎn)緊張,所以不說廢話了,直接進(jìn)入正題。前作鏈接: 從0開始用python寫一個(gè)命令行小游戲(一) 從0開始用python寫一個(gè)命令行小游戲(二) 從0開始用python寫一個(gè)命令行...

    skinner 評(píng)論0 收藏0
  • 0開始python一個(gè)命令游戲(三)

    摘要:今天就開始由于整個(gè)游戲會(huì)有自己的一些屬性和行為,所以我決定把它編寫在類里。初始化游戲定義自己的屬性先定義這些。我計(jì)劃使用格式,以第幾步出現(xiàn)作為鍵,以出現(xiàn)的僵尸類型以后可能會(huì)出現(xiàn)不同類型的僵尸和是否在它被消滅后結(jié)束游戲作為值。 Hey, everyone! 文章遲到了一天,但我今天心情很好,因?yàn)橛袃蓚€(gè)好消息,你們想先聽哪個(gè)?哎,算了,反正都是好消息,一起聽吧。 本游戲的v1.1 bet...

    Tony_Zby 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<