千家信息网

python如何实现生命游戏

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容主要讲解"python如何实现生命游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python如何实现生命游戏"吧!代码如下:#-*-codin
千家信息网最后更新 2025年02月02日python如何实现生命游戏

本篇内容主要讲解"python如何实现生命游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python如何实现生命游戏"吧!

代码如下:

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

fromtimeimportsleep

fromccopyimportdeepcopy

世界_高=20#世界长度

世界范围=40#世界宽度

活着_CON=3#复活条件

KEEP_CON=2#保有条件

类单元(对象):

'''''细胞对象'''

def__init__(self,pos):

'''''自身坐标x,y,已经是否还存活'''

自我点,自我是活着的=位置,假

self.x,self.y=self.point

defsetAlive(self):

自我是活着的=真

defsetDied(self):

self.is_alive=False

defdisplay(self):

ifself.is_alive:

返回' * '

返回""

defdisplayLinux(self):

'''''在Linux操作系统操作系统环境下可以打印黑白块'''

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()

定义网络(自我):

world=[]

pos _ xinxrange(WORld _ WIDE):

列=[]

适用于操作系统范围(世界高):

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

world.append(列)

返回世界

definitAliveCell(self):

fromrandomimportchoice

自视甚高。世界3:

forcellinhigh:

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

继续

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):

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

继续

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

live_count=1

returnalive _ count

defdisplay(self):

打印'=' *万维网#等号分割线

用于dexinxrange(世界_高):

打印""。加入([高[指数]).为highleinself显示Linux()。世界])

打印'=' *万维网

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如何实现生命游戏"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0