我正在用 Java 制作俄罗斯方块游戏,当他们击中另一块已经降落的块时,我很难让当前块停止。我为每个 tetromino 形状都有单独的类。当 currentPiece 下降时,将 Y 坐标最低且 X 值与 currentPiece 相同的形状设置为 currentPiece 的停止点。问题是这块通过与 currentPiece 中心相邻的块,并且对所有可能的形状和旋转进行编码是很乏味的
有没有更好的方法来做到这一点?基本上,我的问题是,如何处理俄罗斯方块的边界?
链接到我的 java 文件: http: //goo.gl/Ms8Mj (请原谅我的混乱)
每个块都由一个值表表示,对于 L 形状,它是:
{0,0},{1,0},{0,1},{0,2}
“中间”块被视为原点。我正在考虑制作一个二维布尔数组来判断一个位置是否被占用。