|
|
1
3
因为检测一个单元格是否是边界的一部分非常简单,所以只需存储一次单元格,并在需要时测试边界成员身份。 测试单元格是否在边框中的简单方法:
|
|
|
2
2
我很想为BoardCell和BorderCell(即Cell?)定义一个公共接口或基类,并将它们保存在一个(更大的)二维数组中。通过这种方式,您可以轻松地为每个单元格寻址,并且很容易确定地址是边框还是板。 |
|
|
3
2
|
|
|
4
2
我已经有一段时间没用C了,所以我不能给你一个C的具体答案。但是,我希望BorderCell是BoardCell的一个子类(或者有一个公共子类)。如您所述,您的board数据结构将是BoardCell类型的2D数组。实例化电路板时,将内部单元实例化为正常的BoardCells,将边界实例化为BorderCells。 如果您认为可能需要循环边界等,请使用yield操作符在Board类中为每种类型的循环定义一个迭代器(例如,对于角、上边界、下边界等)。
关于你的
|
|
5
2
如果是这种情况,您可以使用单个BaseCell[,]数组,并让Board和Border之间的区别由类类型和/或位置来定义。 否则,将为边框创建一个小数组:`new BorderCell[2*rows+2*cols+4]; |
|
|
6
1
如上所述,您可以创建一个名为Cell(或so)的基类,并从中继承。 例如:
|