首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在java控制台中对MineSweeper游戏中的行和列进行编号?

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

Stack Overflow用户
提问于 2020-05-10 00:53:00
回答 1查看 123关注 0票数 0

我正在java控制台上做一个扫雷游戏,用户必须输入x和y坐标来选择他/她想要打开或标记的地方。正如你在第一张图片中看到的,网格由一个10x10的点组成。就像现在一样,用户必须计算行和列,然后他/她才能在控制台中编写他/她想要汉化的地方。这对用户来说并不是一个好的体验,所以我想知道是否有任何方法可以从1到10对行和列进行编号,以便用户更容易选择他/她想要选择的坐标。1

网格的代码如下所示

代码语言:javascript
复制
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 + " ";
    }

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-05-10 01:14:22

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

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

Board的print方法可以:

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

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

它看起来就像这样

代码语言:javascript
复制
  0 1 2 3 4 5 6 7 8 9
A . . . . . . . . . .
B . . . . . . . . . .
C . . . . . . . . . .
D . . . . . . . . . .
E . . . . . . . . . .
F . . . . . . . . . .
G . . . . . . . . . .
H . . . . . . . . . .
I . . . . . . . . . .
J . . . . . . . . . .

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

希望这能有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61700430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档