【发布时间】:2020-08-25 06:23:21
【问题描述】:
我正在 java 控制台中做一个扫雷游戏,用户必须输入 x 和 y 坐标来选择他/她想要打开或标记的地方。正如您在第一张图片中看到的,网格由一个 10x10 的点板组成。就像现在一样,用户必须计算行和列,然后他/她才能在控制台中写下他/她想要sinalize的地方。这对用户来说并不是一个很好的体验,所以我想知道是否有任何方法可以将行和列从 1 到 10 编号,以便用户更容易选择他/她想要选择的坐标。 1
网格的代码如下
public String appearanceAt(Pos p) {
if (statuses[p.y][p.x] == StatusOfArea.CLOSED) {
return ". ";
}
if (statuses[p.y][p.x] == StatusOfArea.flagEDASBOMB) {
return "* ";
}
int count = countMineNeighbors(p);
if (count == 0) {
return "0 ";
}
return + count + " ";
}
谢谢
【问题讨论】:
-
我认为您可以在 2d 数组访问中使用 -1 偏移来使用 1-10 个值。 (最后一个如果没用)
-
您可以在打印板之前打印 0123456789 作为页眉。同样在棋盘的左侧。我会使用 0-9,因为它可以为您提供十个数字,而不必担心超过一个数字。
-
感谢您的回复。我可以做顶部,但我不太确定左侧如何做......我会试试看!
标签: java eclipse user-interface numbers minesweeper