まずサブルーチンの最後にRETURNがないと呼び出したきりメインループの@Pに帰ってこないので、@D、@Oの最後にRETURNを入れましょう。 で、本題のドアの件ですが、ようは青いドアの中にひとまわり小さい黒い四角を端から徐々に描けばドアが開く様に見えるわけです。 今どうなっているのか確認する為に24の最後の0をRGB(255,255,0)にしてみて下さい。 これでRボタンでの描画箇所が黄色になるので動きがわかると思います。 あとはうまく動くよう座標を調整してから色を戻せば出来上がりです。 それから@SAがなんの処理かこのリストではわかりませんが@SAを呼び出す@Iはメインの@Pと繋がっていないのでのこのリストを見た限りでは実行されることはありません。 @P以外から呼ぶ予定がなく@Iの中にこれ以上処理が入る予定もなければ31のIFの処理は@Pの中に移動でいいと思います。