今回、新しいモンスター、経験値、レベルアップ、階段、BGMを実装しました。そして、やっと最初のダンジョンを作成することができました。
今回は多くのバグが見つかり、修正しました。
特に苦労したバグが予期しない行き止まりが発生するバグでした。ランダムにダンジョンを生成するためバグを再現することが難しく、原因を突き止めるのに時間がかかりました。
ほかのプログラマーの皆さんはこういうランダム要素のあるバグはどのように対応しているのでしょうか?変数を固定して対応するのでしょうか?
さらに、モンスターがプレイヤーを追いかける動作にも意図しない動作がみつかり、アルゴリズムを修正しました。以前よりも賢く追いかけてくるようになったと思います。
新しく作った階段に関してもバグが発生しました。
バーサク状態や逃走状態で階段の上に移動しても階段用メニューが開いてしまい、階段ではないところで降りられてしまいました。かなり致命的なので偶然見つかってよかったです。
また、階段を下りたあとに新しく追加されたメッセージが表示されないことがあるバグが発生しました。こちらは階段を下りるときにメッセージのスクロール量を記録している変数をリセットしていないことが原因でした。
メッセージ表示のプログラムには複雑な部分があるので、なかなか見つからず苦労しました。リファクタリングすべきなんだろうか?^^;
細かいバグも見つかっていて、モンスターの描画する・しないの判定の細かい部分や、プレイヤーがめつぶし状態のとき、プレイヤーへのダメージのメッセージが表示されないなども見つかりました。
プログラミングしていると、必ずバグとの戦いになりますね^^;
このページで本不思議のダンジョン風ゲーム「六色使いの冒険」を公開しているので動かしてみたい方はぜひどうぞ。無料で登録やインストールといった面倒なことも不要です。