当前位置: 首页 > news >正文

公司网站开发费用如何做账湖北企业模板建站信息

公司网站开发费用如何做账,湖北企业模板建站信息,wordpress可以上传网页吗,北京app网站建设价格康威生命游戏 康威生命游戏(Conway’s Game of Life)是康威发明的细胞自动机。 生命游戏有几个简单的规则&#xff1a; 细胞有两种状态&#xff0c;存活或死亡&#xff0c;每个细胞以自身为中心与周围的八格细胞互动。 对于存活的细胞&#xff1a; 当周围的细胞过少(<2)或…

康威生命游戏

康威生命游戏(Conway’s Game of Life)是康威发明的细胞自动机。
生命游戏有几个简单的规则:
细胞有两种状态,存活或死亡,每个细胞以自身为中心与周围的八格细胞互动。
对于存活的细胞

  1. 当周围的细胞过少(<2)或过多(>3)时,细胞死亡。
  2. 周围细胞数量适中(2或3)时,细胞保持存活。

对于死亡的细胞(空白区域):

  1. 周围有3个细胞时,该区域生成细胞。(模拟繁殖)

参考:中文维基百科-康威生命游戏

康威生命游戏通过上述几条简单的规则,加上不同的初始状态,就可以演化出各种复杂的模式:
生命游戏中的一种情形。图源维基百科

Python实现

由于生命游戏的规则非常简单,我们可以很容易的用Python实现。
可以用二维数组表示细胞状态,并根据生命游戏的规则计算下一次的细胞状态进行更新。
(当规模变大时,更新细胞会变得困难。可以考虑并行)

下面是一个简单的实现,使用pygame显示动画,借助numpy操作数组。
效果如下:
python实现

代码参考:https://www.youtube.com/watch?v=cRWg2SWuXtM

完整代码:

import pygame
import numpy as np
import time# 定义颜色和细胞大小
COLOR_BG = (10, 10, 10) # 背景,黑色
COLOR_GRID = (40, 40, 40) # 网格,黑灰色
COLOR_DIE_NEXT = (170, 170, 170) # 下一代死亡细胞,灰色
COLOR_ALIVE_NEXT = (255, 255, 255) # 下一代存活细胞,白色
SIZE = 10# 更新细胞状态
def update(screen, cells, size, with_progress=False):'''更新细胞状态screen: pygame.Surface 对象cells: 细胞状态矩阵size: 细胞大小with_progress: 是否显示下一代细胞状态。有时候我们只想(通过鼠标点击)修改当前细胞状态,而不想立即显示下一代细胞状态'''updated_cells = np.zeros_like(cells)# 遍历每一个细胞for row, col in np.ndindex(cells.shape):# 统计周围细胞的存活数量alive = np.sum(cells[row-1:row+2, col-1:col+2]) - cells[row, col]# 设置格子颜色,如果当前细胞处于死亡状态,颜色为背景色;否则为存活细胞颜色color = COLOR_BG if not cells[row, col] else COLOR_ALIVE_NEXT# 如果当前细胞处于存活状态if cells[row, col]:if alive < 2 or alive > 3:if with_progress:color = COLOR_DIE_NEXTelif 2 <= alive <= 3:updated_cells[row, col] = 1if with_progress:color = COLOR_ALIVE_NEXT# 如果当前细胞处于死亡状态else:if alive == 3:updated_cells[row, col] = 1if with_progress:color = COLOR_ALIVE_NEXT# 在屏幕的(row, col)位置绘制细胞。size-1是为了留出边界pygame.draw.rect(screen, color, (col*size, row*size, size-1, size-1))return updated_cellsdef main():pygame.init()screen = pygame.display.set_mode((800, 600))cells = np.zeros((60, 80))screen.fill(COLOR_GRID)update(screen, cells, SIZE)pygame.display.update()ruuning = Falsewhile True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()returnif event.type == pygame.KEYDOWN:# 空格键控制游戏暂停/继续if event.key == pygame.K_SPACE: ruuning = not ruuningupdate(screen, cells, SIZE)pygame.display.update()# 鼠标左键点击,添加活细胞if pygame.mouse.get_pressed()[0]:x, y = pygame.mouse.get_pos()cells[y//SIZE, x//SIZE] = 1update(screen, cells, SIZE)pygame.display.update()screen.fill(COLOR_GRID)if ruuning:cells = update(screen, cells, SIZE, with_progress=True)pygame.display.update() time.sleep(0.1)if __name__ == '__main__':main()
http://www.yayakq.cn/news/95132/

相关文章:

  • 明年做那些网站致富哈尔滨专业建网站方案
  • 长沙高端网站建设公司企业查查网官网
  • 海外网站加速免费电商平台seo
  • 建的网站403深网著名网站
  • 哪里去找做的好看的网站微网站建设报价方案模板下载
  • 长春如何建立一个平台网站装企营销系统
  • 教育教学成果展示网站建设深圳专业网站建设制作价格
  • 房产类网站建设换网站了吗
  • 网站搭建教学网中国广告公司排名前十强
  • 做网站的感觉wordpress怎么引用single
  • 建站平台系统百度站长工具网站认证
  • 固始做网站电商一年可以赚多少钱
  • 深圳纯设计公司长春seo全网营销
  • 网站问题有哪些内容龙华区住房和建设局官方网站
  • 做做网站app厦门 网站制作
  • 网站建设毕业设计中期进度报告重庆巴南网站制作
  • 企业微网站中国建设银行官网站电脑版
  • 网站如何发布和推广wordpress自定义远程字体
  • 龙岗建设网站制作深圳代理记账多少钱
  • 手机网站改app精准营销的作用
  • 网站制作培训速成班矿产网站建设价格
  • 网站百度未收录商桥安装显示wordpress炫酷插件
  • 医院设计网站建设一建报名时间2023
  • discuz做资讯网站合适吗宝安做棋牌网站建设多少钱
  • 韩国明星都在那个网站做直播jquery 类似wordpress
  • 做网站项目流程网站在建设中模板
  • 建筑公司网站应该则么做彩票开奖网站开发
  • 网站建设支出账务处理医疗 企业 网站建设
  • 做网站的团队南城东莞网站建设
  • 如何在360网站网页上做笔记苏州长尾词seo排名优化