找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: netbenton

批处理编程竞赛 第2011-001期[Life 游戏]

[复制链接]
发表于 2011-2-19 16:38:41 | 显示全部楼层
这个也很NB啊,版主把初始阵列还原一下贴出来就好了。  :-)
发表于 2011-2-19 17:30:09 | 显示全部楼层

回复 31楼 的帖子

是同一个的不同尺寸嘛,你等着

我去啊,我弄了很久,他这个图有交错,跟图对比,害我自己搞对了又搞乱了#@!%……

[ 本帖最后由 523066680 于 2011-2-19 19:06 编辑 ]
发表于 2011-2-19 20:41:45 | 显示全部楼层
初始场面,反正是构成循环的
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓■▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓■■▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓■▓▓▓▓▓■■▓▓▓■▓▓▓▓▓▓▓▓■■▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓■▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓■■▓■■▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓■■▓■▓▓▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
发表于 2011-2-20 12:23:32 | 显示全部楼层
我做了上面的怎么后来是这样的循环
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓■■■▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓■■■▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
发表于 2011-2-20 14:49:28 | 显示全部楼层

回复 34楼 的帖子

我是先抓出了关键部分,也就是能左右跑动,还碰撞产生一个小东西的。
============================================
刚刚再试了一下,要吐血了,模仿图片弄了那么久,结果还只是生成那个小东西=。=
没一会儿就打散了

[ 本帖最后由 523066680 于 2011-2-20 15:03 编辑 ]
发表于 2011-2-22 12:00:56 | 显示全部楼层
为积分  再优化 提升点效率
发表于 2011-2-22 22:20:54 | 显示全部楼层
忘记设权限了。。
先删掉

[ 本帖最后由 caruko 于 2011-2-22 22:22 编辑 ]
发表于 2011-2-22 22:25:20 | 显示全部楼层
只用了set for echo 3个命令,效率应该还可以=。=,如果不echo,直接得到第100代就更快一点了。我这里大概2分多钟算出来。
原来不用代码,等下直接贴结果。

第100代
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓■▓■▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓■■▓▓▓▓▓■▓■▓▓▓▓■■▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓■■▓▓▓▓■■▓■▓▓▓▓▓
▓▓▓▓▓▓▓▓■■▓▓▓▓■■▓▓■■▓▓▓▓▓
▓▓▓▓▓▓▓■▓■▓▓▓■▓▓■▓■■■▓▓▓▓
▓▓▓▓▓▓■■▓▓■■■▓▓▓■▓▓■■▓▓▓▓
▓▓▓▓▓▓▓▓▓▓■■■▓■▓■▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓■▓▓▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓■▓■▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓■■▓▓▓▓▓▓■■▓■■▓▓▓▓▓▓▓▓▓▓
▓▓■■▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓■▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓
▓■▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓
■▓■■▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓■■▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓■■■▓■▓■■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓■▓▓■■■■▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓■▓■▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓■▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓


[ 本帖最后由 caruko 于 2011-2-22 23:05 编辑 ]
发表于 2011-2-22 23:12:28 | 显示全部楼层
代码先上传吧 =。=
到时不知道还记得不,也可能没时间来。
已经更新过,按边角对接算的。

这个代码算法太慢了,已经另写了效率高很多的代码,这个就不设权限了,有意的可以看看。
发表于 2011-2-22 23:19:33 | 显示全部楼层
=。= 已经按照边角对接修改过了..
输出速度大约是一副图2秒。
不输出的计算速度大约是1.5秒一代。
我的电脑是用了5年的本本,CPU P4M 1.7G的。

效率貌似难以提升了,所有IF判断后再赋值,都是用set /a直接得到结果,效率应该还可以才是。

如果计算中不需要输出,核心循环代码包括FOR(100)的括号在内,可以简化到4行。

[ 本帖最后由 caruko 于 2011-2-23 00:21 编辑 ]
发表于 2011-2-23 09:24:58 | 显示全部楼层

回复 40楼 的帖子

hia hia 那就跟整体机制有关。 继续膜拜某的 带刷屏到100代  20秒 。
也就是0.2一张,我内牛满面……
发表于 2011-2-23 09:55:48 | 显示全部楼层
=.= 我的电脑纯输出2500行就得20秒啊,等会换个电脑试试。
这破机器开龙之谷,每次加载要5分钟,而别的电脑只要15秒。

还有边角问题,是只有4个顶点相连?还是上下边,左右边相连?

难道批处理的纯数值计算更慢?? 回头再想想有没别的办法,减少循环。
这是新的运行结果。

10:46:41.35
10:48:08.14
第100代
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■▓
▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓■
▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓■■▓▓▓▓▓
■■▓▓▓▓▓▓■▓▓▓▓▓▓▓▓■▓▓■▓▓■■
■■■▓▓▓■▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓■
▓■▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓■■■▓▓▓▓
▓▓■■▓▓▓▓▓▓■▓▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓■▓▓▓▓■▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓■▓▓■▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓■▓■▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓■▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓■■▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓


[ 本帖最后由 caruko 于 2011-2-23 10:52 编辑 ]
发表于 2011-2-23 11:03:11 | 显示全部楼层
运行速度和机器配置有关 我的 酷睿2 4400 @ 2.00GHz   2 GB DDR2 667MHz  sp3  现在运行 17秒
我相信 继续优化后 速度还可以提升的
发表于 2011-2-23 14:01:46 | 显示全部楼层
稍微参与下,呵呵, 我贴下我的关键算法, 很菜, 转成批处理速度应该很慢吧
  1. for (i = 0; i < N; ++i)
  2.         for (j = 0; j < N; ++j) {
  3.                 sum = list[(i+1+N)%N][(j+N)%N] + list[(i-1+N)%N][(j+N)%N] + list[(i+N)%N][(j+1+N)%N] + list[(i+N)%N][(j-1+N)%N];
  4.                 sum += list[(i+1+N)%N][(j+1+N)%N] + list[(i+1+N)%N][(j-1+N)%N] + list[(i-1+N)%N][(j-1+N)%N] + list[(i-1+N)%N][(j+1+N)%N];
  5.                 switch (sum) {
  6.                 case 2://不变
  7.                         backUp[i][j] = list[i][j]; break;
  8.                 case 3://生
  9.                         backUp[i][j] = 1; break;
  10.                 default://死
  11.                         backUp[i][j] = 0; break;
  12.                 }
  13.         }
  14. for (i = 0; i < N; ++i)
  15.         for (j = 0; j < N; ++j)
  16.                 list[i][j] = backUp[i][j];
复制代码
发表于 2011-2-23 15:50:41 | 显示全部楼层
猜想,17秒*25,扣除输出时间,大约是我的运行时间,terse 可能一次计算只循环了25次。。
也就是一行一行的处理?
我也想想,有没可能做到。

[ 本帖最后由 caruko 于 2011-2-23 15:53 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:03 , Processed in 0.018828 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表