小讨论一下生命游戏AddNeighbors函数的边界处理

dsdsdds 2008-01-24 09:05:33
生命游戏代码中的AddNeighbors函数,当nbrrow==1或者nbrcol==1时,若遇到棋盘第0列上某个空格周围有三个棋子,那么第0列的这个空格将被放入maylive链表,最终可能在这个格里放上个棋子。

我觉得这么做不太妥当,因为第0列的棋子邻居最多只有5个,因此很不容易死去,这样随着第0列有更多的棋子产生,却有较少的棋子死去,这样这一列就会比较拥挤 -_-b

所以建议对于case 3 和 case 4中的if ,分别再加上条件 && nbrrow>=1 && nbrrow<=MAXROW && nbrcol>=1 && nbrcol<=MAXCOL。这样第0列就不会有棋子了。

各位觉得呢?
...全文
172 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsdsdds 2008-01-25
  • 打赏
  • 举报
回复
噢,明白了: )
yaoyanlin75 2008-01-25
  • 打赏
  • 举报
回复
即使第0列有也会在vivify和kill里删除,没必要在AddNeighbors浪费时间了
瓶盒 2008-01-24
  • 打赏
  • 举报
回复
我是在初始化网格的numNeighbors数组时,0行列上都赋值为个大数如999,这样它是不会进入case判断的,也不会有新生单元产生。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧