溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何實現(xiàn)生命游戲

發(fā)布時間:2022-05-09 10:39:21 來源:億速云 閱讀:174 作者:zzz 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“python如何實現(xiàn)生命游戲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python如何實現(xiàn)生命游戲”吧!

代碼如下:

#-*-coding:utf-8-*-

fromtimeimportsleep

fromccopyimportdeepcopy

世界_高=20#世界長度

世界范圍=40#世界寬度

活著_CON=3#復活條件

KEEP_CON=2#保有條件

類單元(對象):

'''''細胞對象'''

def__init__(self,pos):

'''''自身坐標x,y,已經(jīng)是否還存活'''

自我點,自我是活著的=位置,假

self.x,self.y=self.point

defsetAlive(self):

自我是活著的=真

defsetDied(self):

self.is_alive=False

defdisplay(self):

ifself.is_alive:

返回' * '

返回""

defdisplayLinux(self):

'''''在Linux操作系統(tǒng)操作系統(tǒng)環(huán)境下可以打印黑白塊'''

ifself.is_alive:

return  ' \ 033[0;37;47m\033[0m  '

return  ' \ 033[0;30;40m\033[0m  '

類游戲管理器(對象):

def__init__(self):

self.world=self.initWorld()

self.initAliveCell()

定義網(wǎng)絡(luò)(自我):

world=[]

pos  _ xinxrange(WORld  _ WIDE):

列=[]

適用于操作系統(tǒng)范圍(世界高):

column.append(單元格((pos_x,pos_y)))

world.append(列)

返回世界

definitAliveCell(self):

fromrandomimportchoice

自視甚高。世界3:

forcellinhigh:

ifchoice((0,1))==0:

繼續(xù)

cell.setAlive()

defget鄰居(self,cell_obj):

live_count=0

forx  _ ofexrange(-1,2):

fory  _ of  exrange(-1,2):

c_x,c_y=cell_obj.x  x_of,cell  _ obj.y  y  _ of

if((c_x,c_y)==cell_obj.point)或\

(c_x0orc_x=WORLD_WIDE)或\

(c_y0orc_y=WORLD_HIGH):

'''''排除自身和越界的點'''

繼續(xù)

ifself.world[c_x][c_y].is_alive:

live_count=1

returnalive  _ count

defdisplay(self):

打印'=' *萬維網(wǎng)#等號分割線

用于dexinxrange(世界_高):

打印""。加入([高[指數(shù)]).為highleinself顯示Linux()。世界])

打印'=' *萬維網(wǎng)

defgameStart(self):

whileTrue:

self.display()

new_world=deepcopy(self.world)

forp_x,wide  _ listinenumerate(self。世界):

forp_y,_ in  numerate(wide  _ list):

current  _ cell=new  _ world[p  _ x][p  _ y]

nei  _ num=self。獲取鄰居(當前單元格)

ifnei_num==ALIVE_CON:

current  _ cell.setAlive()

elifnei_num!=KEEP_CON:

current_cell.setDied()

self.world=new_world

睡眠(0.2)

if__name__=='__main__':

world=GameManager()

try:

world.gameStart()

鍵盤中斷:除外

'''''防止拷貝退出報錯'''

到此,相信大家對“python如何實現(xiàn)生命游戲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI