見出し画像

生き物迷路

このnoteでは、小学生の息子が作成したプログラムを紹介しています。

実行動画

どんなプログラム?

赤い接触センサーを持つ、黒い体の生き物が、画面中央から発生します。
生き物たちは、画面左上の緑色のマルを目指してランダムに迷路を探索します。センサーは壁を探知するためのものです。
左下には黄色い敵が発生し、生き物と接触すると「生き物を削除するとかわいそうだから、初期位置に戻る」だそうです。

プログラムの中身

ゴールの緑マル


ゴールの緑マルのプログラム

ゴールの緑マルには、3つのプログラムが書かれています。
まず、左のプログラムは初期設定のプログラムのようです。生き物の数をリセットし、緑マルを初期位置に配置します。もし生き物(黒で判別)が緑マルに触れればゴール音であるポップを鳴らすようになっています。

次に、右上。こちらはデバッグ用なのかな?生き物の数の表示・非表示を変えるための変数を変更するものです。
右下のプログラムは、表示非表示用の変数によって、生き物の数変数を表示させるかどうか判断しています。
開始条件が初期設定プログラムと同じなので、混ぜてしまえばいいのでしょうが、見やすさからこうしたのかな…

敵のプログラム


敵(黄色、左下に発生する)

敵のプログラムは主にランダム移動について書かれています。どうも、何度か試しているうちに壁にめり込むことがあったらしく、「怪しい値」という変数を使ってなんとかしようとしているみたいです。

生き物のプログラム


生き物のプログラム

生き物はちょっと複雑ですが…
まず左上、「旗が押されたとき」は、このオブジェクトは非表示状態です。

その下、「リセットが送られたとき」は、緑マルが旗で初期位置についたあとに「リセット」を送っており、それを受け取って動作するものです。
0.5秒ごとにクローンを100体まで作ります。

飛んで一番右、「クローンされたとき」は、削除フラグが立っていれば削除することや、黄色い敵と接触した際のプログラムが書かれています。

真ん中も「クローンされたとき」です。これは、クローンされた個体についての設定で、見た目と速度を変更しています。
クローンされたあとでコスチュームを変更します。見た目によって、センサー部分が長かったり小さくて速かったりします。
そして、乱数で回転したり進んだりしています。

ステージのプログラム


ステージのプログラム

なんと、迷路自体もいくつか種類があったようです。乱数で振り分けています。ここらへんは、一度乱数を生成してその値で判断すればいいのでしょうが、セオリーを知らないなりにがんばったかんじが見て取れます。

遊んでみてね

ぜひ遊んでみてください。
なかなか緑マルにたどり着かないので、ついつい生き物ガンバレ〜!!!って応援してしまいます。

もし投稿が気に入ってもらえたら、サポートいただけるととても嬉しいです!