| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7878 人关注过本帖
标题:生命游戏(Game of Life)
只看楼主 加入收藏
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 9楼 风吹过b
有道理。
不过对于图像处理,函数每次对局部变量定义给空间的影响太微乎其微了,只是计算下大小,移动栈指针(貌似vb会对定义的空间初始化为0,要费些时间)。

能编个毛线衣吗?
2016-02-17 20:19
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 5楼 风吹过b
原来如此,这个办法好,每个细胞都可以作8个邻居处理,不需要特殊照顾,只要让最外面一圈不显示出来就好看了。
2016-02-18 09:17
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
可不可以加一个功能,判定当细胞完全固定组成时终止?
我想了下,如果将所有格子的上次情况与当前格子情况完全相同时终止,可是我发现有些细胞的固定群落是三个连续的细胞,但是这三个细胞会不断的改方向,所以我的算法失效了。
谁能提个建议么?


[此贴子已经被作者于2016-2-20 23:15编辑过]


编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2016-02-20 23:10
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
你可以增加这个功能啊。
增加后,然后把整个代码贴出来就行了,本贴本来就是大家一起讨论讨论。
我没经过正规的代码格式要求训练来,写的代码也都是想当然格式的,有些算法,也是想到什么就写什么,没有系统的学习过。这些要感谢 wmf2014 ,让我开了眼界。

授人于鱼,不如授人于渔
早已停用QQ了
2016-02-21 11:05
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
回复 14楼 风吹过b
那我再想想,主要是我读代码能力蛮差的,你的代码我看不懂那些是存储格子当前数据的数组,能说一下么?

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2016-02-21 19:33
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
除了全部空格之外恐怕没有自动固定下来的可能。人为限制它的代数是可以的
2016-02-21 22:02
zzyong00
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2010-12-1
收藏
得分:0 
用shape控件数组,能不能显示不哪么闪?
2016-02-21 23:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
使用 shape 控件的话,闪烁可能更好一点,但画面可能可以看到刷新过程,不好。特别在修改窗体大小时,重新排列控件时,那个处理速度,你可以自己写代码感受一下。
vb本来操作对象就很慢。

要不闪烁,就必须使用缓冲区绘图,然后一次复制到窗口,代码量要明显多很多,那个不是新手掌握的内容,所以没写。

授人于鱼,不如授人于渔
早已停用QQ了
2016-02-21 23:44
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
回复 15楼 renxiaoyao36
Z这个数组,保存着每代的状态。
1 表示生,0表示死。因为不用节省内存,再加上位运算很烦,所以用的  byte

每个明确意义的变量都有注释,除下循环变量和临时变量。

[此贴子已经被作者于2016-2-21 23:54编辑过]


授人于鱼,不如授人于渔
早已停用QQ了
2016-02-21 23:53
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
可以采取生命周期的算法:即0是死,大于0即使生。
整个题目相应规则也应改变:
1:周围有大于4个的直接死
2:周围有3个的生命值=10
3:其他情况生命值每刷新一次-1,到0为止。
4:初始值都为10
按照这个规则就不存在永生的细胞了。

能编个毛线衣吗?
2016-02-22 09:54
快速回复:生命游戏(Game of Life)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032627 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved