完成品はこんな感じになります。

ぷよを回転させる

スペースキーを押したらぷよが回転(時計回り)させます。ぷよの回転角度はフィールド変数 PuyoAngleに保存されています。これを変化させればよいですね。

CanMoveメソッド

実際に回転処理をおこなう前に本当に回転させることが可能なのかを知る必要があります。これを調べるのがCanMoveメソッドです。回転や左右の移動させた結果、壁にめり込んでしまったり床を突き抜けてしまう場合は移動することはできないということになります。

PuyoRotateIfCanメソッド

PuyoRotateIfCanメソッドは回転させることが可能であるなら回転させます。回転軸ではないほうのぷよの位置を取得して、CanMoveメソッドをつかって回転させることが可能かどうか調べます。回転可能であれば回転させます。

左右の移動もやってみる

それでは左右の移動もやってみましょう。回転軸のぷよがある位置はフィールド変数puyoPositionXとpuyoPositionYからわかります。もうひとつのぷよの位置はGetSubPuyoPositionメソッドで求めます。そしてそれぞれを左右に移動させることができるかどうか調べて、両方とも移動可能であれば移動させます。