スプレッドシートで迷路を作ろう!ジャイロで動かす迷路ゲーム

総合・探究

スプレッドシートに入力したカラーコードから迷路を読み込み、ジャイロセンサーを傾けてプレイヤーを動かす「迷路ゲーム」を作って遊びます。 今回は「プログラムを一から作る」よりも、サンプルをコピーして改造することに重点を置きます。

中学校~ 中級 45

学習目標

  • カラーコード(#RRGGBB)の考え方を理解し、色でデータを表現できるようになる

  • スプレッドシートの内容を変えるだけで、ゲーム内容(迷路)をカスタマイズできることを体験する

  • ジャイロセンサーの値を使って、プレイヤーを移動させる(入力 → 処理 → 出力)

準備

16×16 LEDがなくてもOK!

16×16 RGB LEDマトリックスがなくても、ジャイロセンサーがあればシミュレータ画面上で迷路ゲームを楽しめます。
まずはシミュレータで動作確認 → 余裕があればLED表示に挑戦、という進め方がおすすめです。


必要なもの

  • プログラミングをするパソコンやタブレット

  • SPACEBLOCK®(本体)

  • ジャイロセンサー(必須)

  • 16×16 RGB LEDマトリックス(任意:あると実機で光らせられる)

  • スプレッドシート(迷路データ:テンプレートを用意)

学習 - カラーコードで迷路を表現しよう

この迷路ゲームでは、スプレッドシートのマス目(座標)に合わせて、セルの色=迷路の情報として扱います。
たとえば、次のように役割を決めます。

  • プレイヤー:#FF0000(赤)

  • ゴール:#00FF00(緑)

  • 壁:#0000FF(青)

そして、プログラム側ではこれらの色は変数として持っているため、色のルール自体を変えることもできます。
(例:プレイヤーを赤→黄色に変える、など)

実習 - まずはコピーして動かしてみよう

1) 参考プロジェクトをコピー

下のリンクから参考プロジェクトを開き、コピーして自分のプロジェクトにします。

QR code for project

2) 実行して操作してみよう(ジャイロで移動)

ゲームを実行すると、シミュレータ画面(または16×16 LED)に迷路が表示されます。
ジャイロセンサーをゆっくり傾けてプレイヤーを動かします。

  • 傾きに応じて、プレイヤーが上下左右に移動

  • ゴールに到達すると、クリアー画面を表示(LED点灯)

  • 壁に当たると、失敗画面を表示(LED点灯)

実習2 - スプレッドシートの色を変えて迷路をカスタマイズ!

ここからが本番です。
この迷路ゲームでは、スプレッドシートの各マス(座標)に カラーコード(例:#FF0000 を入力して迷路データを作ります。
つまり、セルの文字(カラーコード)を変えるだけで、迷路を自由に作り替えられます。

※プレイヤーはスプレッドシート側で指定するのではなく、プログラム側の変数(初期位置)から自動生成されます。


1) 迷路のルール(どのカラーコードが何を意味する?)

スプレッドシート内では、次のカラーコードが役割を持っています。

  • ゴール:#00FF00(緑)

  • 壁:#0000FF(青)

※これらの値はプログラム側で変数として定義されているため、後で色のルール自体を変えることもできます(次のステップで紹介します)。



2) カラーコードを書き換えて迷路を作り替える

スプレッドシート上で、迷路にしたいマスのセルにカラーコードを入力します。

例:

  • 壁を増やしたいマス → #0000FF を入力(壁になる)

  • ゴールにしたいマス → #00FF00 を入力(ゴールになる)

迷路づくりのコツ

  • 壁(#0000FF)を置きすぎると詰むので、通れる道を必ず残す

  • 迷ったら「一本道」→ 次に「分岐を追加」がおすすめ


3) 反映してプレイ!

カラーコードを書き換えたら、ゲームを実行して動きを確認します。
スプレッドシート=ステージデータなので、入力に合わせて別ステージに変わります。



4) うまく動かないときのチェック

  • # を忘れていないか(例:FF0000 になっていないか)

  • 文字が全角になっていないか(#FF0000 など)

  • 余計な空白が入っていないか(#FF0000 など)


応用学習 - 次のステップ:色ルールを変えてみよう

次は、プログラム側の変数を変えて、ゴールや壁の色ルールを変えてみましょう。
そして、スプレッドシート側も同じ色に合わせて入力を変更します。

例:

  • ゴール色:#00FF00#FF00FF(紫)

  • 壁色:#0000FF#FFFFFF(白)


「ルール(変数)を変える」+「データ(スプレッドシート)を合わせる」ことで、自分だけの迷路に進化します。


(余裕があれば)

  • 傾きの感度(速さ)を調整する

  • クリア時にアニメーションを追加する

  • ステージを複数用意して、クリアで次へ進む

発表

  • 自分が作った迷路を見せながら、「どこを工夫したか」を発表してみよう

  • 難易度を上げた/操作しやすくした/見た目をデザインした、など

評価

  • スプレッドシートのカラーコードを変えて、迷路を意図通りに作れたか?
  • ルール色(変数)を変えたとき、スプレッドシート側も合わせて変更できたか?
  • ジャイロ操作で、狙った方向に動かす工夫ができたか?

参考プロジェクト

QR code for project