我正在构建俄罗斯方块并试图思考我应该如何旋转碎片。
它们是在一个块上旋转吗?或者他们应该变形......也就是交换位置?
我正在考虑这样做的方式是硬编码......就像(伪代码):
if (rotateRight()) {
if (Piece == "T") {
if (Piece.getCurrRotation() == down (aka.. 180 degrees))
move each Tile in Piece from the down rotation to the left rotation... each coordinate would be pre-specified for a given condition... aka lot's of hardcoding
}
if (Piece == "L") { etc...
}
}
if (rotateLeft()) {
perform same checks for the Left...
}
但这似乎是大量的代码,只是为了弄清楚
首先)当前件在哪个旋转(每件有4个可能的旋转)
其次)从那里...将其设置为基于该部分的新硬编码坐标
我必须为每一件作品都这样做......这似乎是错误的思考方式。
还有其他想法吗?