康威生命游戏:设计与优化
1. 基础概念与设计
在康威生命游戏(CGOL)的实现中,我们引入了一些关键的类来代表不同的概念,以增强代码的表达性和可维护性。
- Location 类 :为了避免使用原始整数来表示坐标,我们创建了 Location 类。该类包含了各个方向的常量,如 NORTHWEST 、 NORTHEAST 等,并且提供了 add 方法用于位置的加法运算。示例代码如下:
class Location
NORTHWEST = [-1, 1]
NORTHEAST = [1, 1]
SOUTHWEST = [-1, -1]
SOUTHEAST = [1, -1]
CENTER = [0, 0]
NORTH = [0, 1]
SOUTH = [0, -1]
EAST = [1, 0]
WEST = [-1, 0]
OFFSETS = [NORTHWEST, NORTHEAST, SOUTHWEST, SOUTHEAST, NORTH, SOUTH, EAST, WEST]
def self.add(first, second)
[first[0]+second[0], first[1]+second[1]]
end
end
对应的测试代码可以验证这些常量和方法的正确性:
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



