我现在正在用 Qt C++ 编写俄罗斯方块。游戏快完成了,我唯一需要添加的是轮换。现在我正在努力解决的是旋转背后的理论。俄罗斯方块有 7 种不同的石头(I、S、Z、L、J、T、O)。不同形状的旋转是否有任何算法或类似的东西?
我不想做的是有一个用于 7 种不同形状的开关盒来处理旋转。此外,如果像 L 这样的形状被旋转,它有 4 个不同的位置,必须以不同的方式处理。
所以我唯一想到的就是询问形状,然后询问位置。这将授予我一些开关,否则如果在开关中...意味着要键入很多内容并检查编译器。
PS我的石头结构看起来像这样:(Steine =德国石头,艺术=形状)
struct position
{
int X;
int Y;
};
struct Steine
{
struct position* Position;
int Art;
};