先日、生徒が棒倒し法で迷路を作ったので、もうちょっと面白くする方法はないかと考えたところ、往年の名作、ディープダンジョンやウィザードリーを思い出しました。
私が生徒用に作ってみたサンプルです。まだ音もないし、何のギミックもないし、HSP3でつくったシンプルなプログラムです。
簡単は簡単でしたが、疑似3Dなど作ったこともなく、あーだこうだと試しながら作ったので、それなりに時間はかかりました(笑)
時間がかかった分、思った通りに動き出すと感動します。
プログラムの大まかな仕組み
初期設定としてマップを2次元配列で書いて、自分の立ち位置を決めて、そこから自分の周辺の数値をまた別の2次元配列にしまって、それに合わせて画像を表示する。
と、プログラミング自体はいたってシンプル。
デバッグしやすくしておく
- エラーは出るにきまっている
- 2次元配列の中身を見える化
- 変数の中身を見える化
このプログラム、2次元配列使いまくりで、ややこしいんです。
どっちにしろ、エラーは出るものだと考え、状況を常に見えるようにしておくことですね。どんな数値をどんなふうに並べているかを、確認しながらプログラミングしていく必要があります。
画面内に数字を並べて、自分の周辺のマップのパラメータを表示したり、方向に該当する数字を表示しています。
そういったことを、頭の中で処理して疲れて断念してしまうなんてこともあると思います。なるべくそういったことに能力は使わず、見える化して直感的にわかるようにしておくとよいですね。
それでも苦労はしますので、なるべく負担のないように作っていきましょう。
参考にしたもの
実は私、方向音痴でこどものころ、ディープダンジョンとかウィザードリーはやらなかった方でして、がんばれゴエモンからくり道中の迷路も、とにかく3Dダンジョンは正直しんどかったですね(笑)
でも、その辺の苦手なゲームを参考にしてダンジョンを考えました。
今はカーナビやスマホがあるのでリアルでは、特に方向音痴を発揮せずに済んでおりますw
考えてみるとプログラム自体より、手間取ったのは勝手のわからないグラフィックでした。
いつもなら適当にマップチップなどでやり過ごすのですが、今回はそうもいかずプログラミングして描いています。
さて、この先、どんな風に進化させていこうか、自作プログラムは想像する楽しみがありますね!