问题标签 [conways-game-of-life]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1700 浏览

java - 生活游戏规则无法正常工作

我的 Java 生命游戏应用程序有以下逻辑代码。我的问题是这些规则不像默认的康威生命游戏规则。我已经在Wikipedia上阅读了它们,它们如下;

  • 任何少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。
  • 任何有两三个活邻居的活细胞都可以活到下一代。
  • 任何有超过三个活邻居的活细胞都会死亡,就好像过度拥挤一样。
  • 任何只有三个活邻居的死细胞都会变成活细胞,就像通过繁殖一样。

我试图在下面的代码中复制这些规则,但它的行为与普通的康威生命游戏不同;

这是运行几代后的样子;

GameOfBugs 或 BugsOfLife。

它让我想起了“迷宫”规则集,这很奇怪。

我不相信我的aroundLife 计算器有问题,因为当实体周围有 8 个其他实体时,它会返回 8。问题是因为我循环 Y 然后 X 吗?

0 投票
1 回答
940 浏览

algorithm - 康威人生游戏算法

有人知道如何在生命游戏中创造下一代,只知道活细胞在哪里,我的意思是它们的坐标(因此算法与活细胞的数量成线性关系)?非常感谢。

0 投票
2 回答
3468 浏览

python - 为什么使用 Python 3 进入 Tkinter 的画布小部件很慢?

我刚开始在 Python(3.2) 中使用 Tkinter 模块,所以我决定用这个模块重写我的旧程序(我使用 curses 模块)。该程序是一个生命游戏模拟器。我实现的算法在没有用户界面的情况下运行得如此之快。这是我的程序(这是一个快速的实验,我从未使用过画布小部件):

我没有报告 gol,但问题不在该模块中。问题是程序很慢,我认为我不能很好地使用画布。

编辑:这是 gol 模块,但我认为这不是问题......

0 投票
3 回答
948 浏览

python - 解释在这个生命游戏实现中收益的使用

这个 PyCon 演讲中,Jack Diederich 展示了康威生命游戏的这个“简单”实现。我对 GoL 或半高级 Python 都不是很熟悉,但代码似乎很容易掌握,如果不是因为两件事:

  1. 的使用yield。之前看到过使用yield创建生成器,但是连续8个是新的……是返回一个8个生成器的列表,还是这个东西是怎么工作的?
  2. set(itertools.chain(*map(neighbors, board))). 明星解开了将邻居应用到董事会的结果列表(?),并且......我的想法刚刚爆发。

有人可以尝试为习惯于使用 map、filter 和 reduce 将一些 python 代码组合在一起但不是每天都使用 Python 的程序员解释这两个部分吗?:-)

0 投票
1 回答
848 浏览

java - 康威处理过程中的生命游戏

因此,代码正在编译并完美运行。但是,通常,康威的生命游戏会在一段时间后稳定下来,而这段代码会无限期地运行,而不会出现死分支,如果有人能帮助我找出原因,我会很高兴。

0 投票
1 回答
412 浏览

java - 有人能告诉我为什么我的生命游戏代码不起作用吗?

eclipse中没有出现错误,但是当我去运行代码时,应用程序没有任何反应。它分为三个等级。第一类包含 if 语句。我想知道我的问题是否在这里。

2 级

3 级

如果有人知道如何解决此问题,请告诉我。如有必要,请随意复制和粘贴代码。它不会让我发布图片,因为我没有足够的声誉。道歉

0 投票
2 回答
521 浏览

c++ - 生命游戏和动态数组的问题,c++

我正在尝试编写人生游戏。当我尝试迭代几代时,我最终得到了垃圾。我已经尝试了很多不同的东西,但我没有看到我的错误,但显然有一个错误。任何帮助将不胜感激。当我尝试将游戏的逻辑应用于旧数组以创建新数组时,我几乎可以肯定我做错了,但我不确定是什么。这是四个功能之一,我已经测试了其他功能,我很肯定这个缺陷存在于这个功能中。最终目标是让游戏在每一代都根据需要扩展和缩小。

0 投票
2 回答
5209 浏览

python - 无限棋盘:康威的人生游戏 - Python

我被分配了这个项目,说明如下:

生命游戏是为一个无限大的网格定义的。在第 2 章中,我们将 Life Grid ADT 定义为使用固定大小的网格,用户可以在其中指定网格的宽度和高度。这足以说明使用二维数组来实现生命游戏。但是完整的实现应该允许无限大小的网格。使用类似于用于实现稀疏矩阵的方法来实现稀疏生命网格 ADT。

老实说,我不太了解这个概念。您能否给我一个外行可以理解的简短描述(如果不是简短的代码)?我会很感激。

稀疏生命网格.py

这是我的主文件

0 投票
1 回答
2825 浏览

matlab - Matlab 中的这个生命游戏有什么问题?

我正在尝试在 Matlab 中编写 Conway 的生活游戏,但总是出错。我没有收到错误,所以我真的不知道自己做错了什么,它什么也没做。我认为这个问题可能与单元格的计数(检查邻居的数量)或增加矩阵边界单元格的规则有关。

这是我的代码:

0 投票
1 回答
1510 浏览

matlab - matlab中neigburs的值如何求和?

我是 matlab 新手,正在尝试编写生活游戏。但是我在计算邻居的总和时遇到了一些困难。每个单元格的值都可以是 0 或 1。我正在尝试使用计数器(就像在 Python 中一样,这是我比较熟悉的唯一程序),但这似乎不起作用。问题是它必须适用于所有单元格,边界单元格也是如此。如果我有每个单元格的值(所以这将在 0 到 8 之间)我必须执行规则。但我也不知道这是否正确。请帮忙!我越来越绝望了!