python编程练习 Game of Life实现与规则修改

最初写这段代码是为了2019华为软件精英挑战赛准备,熟悉元胞自动机用。最终发现并没有留给我写判题器的时间。但这段代码还是保留下来了,存储gif的部分借鉴了别的博客,不过已经找不到原文了。这段代码写的不是很好,在我的电脑上运行很慢(还是自己优化水平太差),也算自己独立实现的,放在博客上自省。

生命游戏实现

生命游戏的规则可参考:生命游戏简介及算法分析(整理)
代码中可对burn、live、init、detector参数进行修改,采用不同规则进行生命游戏。

代码

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

import numpy as np
from numpy.linalg import cholesky
import matplotlib.pyplot as plt
from scipy import signal
from scipy import misc
from matplotlib import animation
import time
import copy


def update_cell(init, surrounding, burn, live):
	for i in range(0, init.shape[0]):
		for j in range(0, init.shape[1]):
			if(init[i][j] and (surrounding[i][j] < live or surrounding[i][j] > burn)):
				init[i][j] = not init[i][j]
			elif(not init[i][j] and surrounding[i][j] == burn)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值