15回目.前回投稿分の補足

 前回、ストーリーの紹介をしましたが、そこで触れていなかった細かい仕様について紹介していきます。就職活動により、今日をもって一週間に一度の投稿を停止したいと思います。不定期でも投稿を継続して、4年次の卒業研究につなげたいと考えています。

キー操作停止のflagについて

宝箱に入ったシイタケ入手するとき、宝箱から空箱に画像に変更をします。

この時、宝箱を開けた1秒後に「シイタケを手に入れた」と表示させてから、宝箱を空箱である85に配列を変える処理をします。しかし、「鍵をつかって宝箱を開けた」と表示された後から1秒後の「シイタケを手に入れた」と表示される間の1秒以内にキー操作をしてしまうと…
本来、宝箱に上書きしたいところ、移動先に書かれてしまうというバグを見つけました。そこでキー操作を停止させるためflagでの管理をしました。

通常をfalseにしておき
var stopKey = false;

キー操作にかかわる関数を
if (stopKey == false) {
            var dx = px, dy = py;
falseでしか動かなくしておき、止めたいときにはstopkeyフラグがtrueにしてキー操作の関数の発動を止めました。

これを活用して
シイタケ入手イベント(宝箱)が発動したときにstopkeyをtrueにして移動を制限、1秒間の処理が終わり、空箱を上書きした後にstopkeyを再びfalseにすることでバグを修正できました。