gpt4 book ai didi

java - 有没有办法在java控制台中对扫雷游戏的行和列进行编号?

转载 作者:行者123 更新时间:2023-12-01 16:50:29 25 4
gpt4 key购买 nike

我正在java控制台中做一个扫雷游戏,用户必须输入x和y坐标来选择他/她想要打开或标记的位置。正如您在第一张图片中看到的,网格由 10x10 的点板组成。现在,用户必须计算行和列,然后他/她才能在控制台中写入他/她想要汉化的位置。这对于用户来说并不是一个好的体验,所以我想知道是否有任何方法可以将行和列从 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 + " ";
}

谢谢

最佳答案

我看到您已将位置详细信息封装在一个对象中。

您可以类似地将二维数组封装在 Board 类中。

Board 的打印方法可以:

  • 打印第一行中的所有列
  • 在每行的开头打印行号

此方法还可以调用 getStatus 函数来确定需要在用户输入上显示的内容

看起来像这样

  0 1 2 3 4 5 6 7 8 9
A . . . . . . . . . .
B . . . . . . . . . .
C . . . . . . . . . .
D . . . . . . . . . .
E . . . . . . . . . .
F . . . . . . . . . .
G . . . . . . . . . .
H . . . . . . . . . .
I . . . . . . . . . .
J . . . . . . . . . .

用户将输入“D 5”。由 InputHandler 来翻译它并相应地设置 Position 对象。

希望这有帮助:)

关于java - 有没有办法在java控制台中对扫雷游戏的行和列进行编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61700430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com