pygame像素级生命游戏模拟game of life animation

你好,请进入Q群:225792826,免费下载本站最新提供的视频教程原创源码资料,从2020年2月20号到3月底,成为本站会员只要原价的3折,即2980元*0.3 = 894元 ,向微信scratch8付款即可成为本站会员。即可拥有本站所有原创资源,并提供技术支持。如本消息修改,以最后时间的为准。

以下是部分代码预览:

"""pygame像素级生命游戏模拟.py
Conway's Game of Life),又称康威生命棋,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。
本程序用pygame模拟这种现象,作者:李兴球,风火轮少儿编程 www.scratch8.net
"""
import pygame
from pygame.locals import *
from random import randint

pygame.init()
life_color = (222,211,0,255)          # 有颜色的代表活的,黑色代表死的
width,height = 200,200
screen = pygame.display.set_mode((width,height))
pygame.display.set_caption("生命游戏模拟_风火轮编程李兴球")

lives = {}
life_image = pygame.Surface((width,height))

# 初始化状态
for  x in range(width):
    for y in range(height):
        if randint(1,10) == 1:
             lives[(x,y)] = 1
        else:
            lives[(x,y)]=0

def get_numbers(pos):
    """得到周围活的数量"""
    pass

running = True
while running:
    for cell in lives:
        pygame.event.poll()
        f = lives[cell]            # 生命状态     cell 就是x,y   
        cell_number = get_numbers(cell)   # 得到周围活的细胞数量
        
        pass
                
    screen.fill((0,0,0))
    life_image.fill((0,0,0))
    [life_image.set_at(cell,life_color) for cell in lives if lives[cell] ]
    
    screen.blit(life_image,(0,0))  # 把life_image渲染到screen上.
    pygame.display.update()        # 更新屏幕显示
         

"""
1、规则

生命游戏中,对于任意细胞,规则如下。每个细胞有两种状态:存活或死亡,每个细胞与以自身为中心的周围八格细胞产生互动。

当前细胞为存活状态时,当周围低于2个(不包含2个)存活细胞时, 该细胞变成死亡状态。(模拟生命数量稀少)
当前细胞为存活状态时,当周围有2个或3个存活细胞时, 该细胞保持原样。
当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态。(模拟生命数量过多)
当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。 (模拟繁殖)
--------------------- 
"""          
          
pygame.image.save(life_image,"te.png")

 

如需要查看完整代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » pygame像素级生命游戏模拟game of life animation

学本领,探索更大的世界!

李兴球博客 风火轮编程主页