只用2个阵列实现生命游戏

时间:2016-07-11 14:00:06

标签: java processing conways-game-of-life

我想要记忆效率this(代码簿本质上的shiffman生命代码游戏)。如何更改下面的代码只有两个数组并不断交换它们,将下一组状态写入哪一个不是当前数组?

docker run -itd repo/new-image 

1 个答案:

答案 0 :(得分:1)

您可能不喜欢这样,但诚实的答案是:不要打扰

  

如何更改下面的代码只有两个数组并不断交换它们,将下一组状态写入任何一个不是当前数组

这正是代码所做的。

生命游戏需要两个阵列。如果您遇到真正的性能问题,那么请寻找其他改进方面。关注数组是red herring

有一句老话:premature optimization is the root of all evil。换句话说,你不应该浪费时间在代码被破坏之前修改代码。

您可能会改进的一个显而易见的事情是:为什么使用int[]数组而不是boolean[]数组?您只需要存储两个状态:alive或dead,因此使用int值似乎是不必要的。如果你切换到boolean[]阵列,你会节省一点内存,但是你甚至可能都不会注意到这种改进。