-3

假设我有一个类 Square 如下:

class Square{
private String letter;
private boolean isfilled;
}

现在我们知道拼字游戏板上有 15x15 个方块。任何人都可以通过使用棋盘类中的 Square 类来帮助我制作一个拼字游戏板,并检查约束条件,比如左边或右边是否有空间?

4

1 回答 1

1

我并不完全熟悉 Scrabble 的规则,但鉴于您提到的内容,我将定义一个 Square 实例的二维数组。

private Square squares[][] = new Square[15][15];

您可能应该在构造函数中实例化这些方块。

之后,您应该提供一个接口来设置给定坐标的值。

public void setSquare(int x, int y, String value)

将此字符串设置为指定的正方形。您也可以这样做,如果字符串为空或 null(无论您喜欢哪个),正方形变为“未设置”。如果参数在范围内(在 0 - 14 内),此方法还应验证参数。您还可以选择在另一个函数中实现该验证,例如:

public boolean isValidCoordinate(int x, int y)

因此,您不会遇到超出数组有效索引集范围的太多问题,您可以改为在所有边上使用方形缓冲区定义板。

private Square squares[][] = new Square[17][17];

有了这个棋盘,唯一有效的方格是 1-16。任何带有 1 或 17 的 x 或 y 值都是无效的。

就个人而言,我会简单地使用 Strings 而不是定义一个对象 Squares (如果这是你要做的唯一事情)

private String squares[][] = new String[17][17];

未设置空字符串或空字符串。否则,如果您要在方块中实现任何其他方法,那么我想为它们定义一个类是可以的。

于 2013-03-24T13:53:43.307 回答