资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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


当前文章:python如何实现生命游戏
当前地址:http://cdkjz.cn/article/jjeodi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220