2013-03-24 62 views
-2

假设我有一个类方形如下:实现一个拼字游戏板

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

现在我们知道,有一个拼字游戏板15×15平方。任何人都可以通过在课堂上使用Square课程来帮助我如何组成拼字游戏板,并且还可以检查约束条件,比如是否有空间离开或不在或向右?

+5

当然你有*一些*如何开始的想法 - 一个数组也许?来吧,给它一个。你可能会为自己的能力感到惊讶。那么如果仍然陷入困境,我们可以看看你的代码尝试,并处于一个更好的位置,给予体面的帮助。 – 2013-03-24 13:33:24

+1

你可以使用array:'Square [15] [15] square;' – Abubakkar 2013-03-24 13:33:43

+0

用对象和类来思考。你已经开始了正确的方向与'方形'类。你还能想到在面向对象设计中能够准确地表达这一点吗? 也许是一个'GameBoard'类。也许一个'GameBoard'类组成'Scrabble'类! – Xunnamius 2013-03-24 13:39:05

回答

1

我并不完全熟悉拼字游戏的规则,但考虑到你所提到的,我会定义一个Square实例的二维数组。

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

你应该在你的构造函数中实例化这些方块。

之后,你应该提供一个接口来给定一些坐标值。

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

将此字符串设置为指定的正方形。你也可以做到这一点,如果字符串为空或无效(无论你喜欢什么),广场就会变成'未设置'。这个方法还应该验证参数是否在范围内(在0 - 14之内)。你也可以选择实现在其他功能的验证,如:

public boolean isValidCoordinate(int x, int y) 

所以你不会走出去的有效索引集的数组的边界遇到太大的问题,你可以定义板而是在所有方面都有一个方形缓冲区。

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

有了这个板子,唯一有效的正方形是1-16。任何1或17的x或y值都是无效的。

就个人而言,我会简单地使用字符串而非定义对象平方(如果这是唯一的事情你会与他们无关)

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

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

+1

谢谢,这有助于.... !!!! – 2013-03-24 16:56:17