常见问题
我收到下面的错误,我该怎么办?
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
方法,所以确保你引用的是正确的变量!