跳转到主内容 链接 搜索 菜单 展开 文档 (外部链接)

常见问题

我收到下面的错误,我该怎么办?

Test Failed!
------------
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but th是 program performed an operation which requires it,

如果你在 testClearLines 方法中收到上述错误,请确保你没有在该方法或任何使用 StdDraw 库的方法中调用 renderBoard 。自动评分器没有渲染或显示的能力,所以使用 StdDraw 库会在自动评分器上导致问题。

我试着玩游戏,但板显示为黑屏。

一个常见的问题源于 runGame 的结构。重新查看规范可能会有帮助,其中详细介绍了 runGame 的细节,特别是这一部分:

  • 如果当前俄罗斯方块无法向下移动或无法从当前位置再移动, 它将被设置为 null 将其设置为 null 的逻辑已经为你处理好了,你不需要处理它。

在什么情况下你想要生成一个方块?

另一个问题是确保你不会在 renderScore 或实现的任何其他部分中每次渲染时都清除板。例如,在 renderScore 中调用 StdDraw.clear 可能会在每次游戏尝试渲染分数时用特定颜色清除屏幕。

我的游戏运行了,我的消除行似乎工作了,但它没有通过自动评分器测试。

你应该使用传入 clearLines 方法的 tiles 变量/对象,而不是使用 board 实例变量。自动评分器正在构建自己的板并将其传入来测试你的 clearLines 方法,所以确保你引用的是正确的变量!