スプレッドシートで迷路を作ろう!ジャイロで動かす迷路ゲーム
スプレッドシートに入力したカラーコードから迷路を読み込み、ジャイロセンサーを傾けてプレイヤーを動かす「迷路ゲーム」を作って遊びます。 今回は「プログラムを一から作る」よりも、サンプルをコピーして改造することに重点を置きます。
学習目標
カラーコード(#RRGGBB)の考え方を理解し、色でデータを表現できるようになる
-
スプレッドシートの内容を変えるだけで、ゲーム内容(迷路)をカスタマイズできることを体験する
-
ジャイロセンサーの値を使って、プレイヤーを移動させる(入力 → 処理 → 出力)
準備
16×16 LEDがなくてもOK!
16×16 RGB LEDマトリックスがなくても、ジャイロセンサーがあればシミュレータ画面上で迷路ゲームを楽しめます。
まずはシミュレータで動作確認 → 余裕があればLED表示に挑戦、という進め方がおすすめです。
必要なもの
プログラミングをするパソコンやタブレット
SPACEBLOCK®(本体)
ジャイロセンサー(必須)
16×16 RGB LEDマトリックス(任意:あると実機で光らせられる)
スプレッドシート(迷路データ:テンプレートを用意)
学習 - カラーコードで迷路を表現しよう
この迷路ゲームでは、スプレッドシートのマス目(座標)に合わせて、セルの色=迷路の情報として扱います。
たとえば、次のように役割を決めます。
-
プレイヤー:
#FF0000(赤) -
ゴール:
#00FF00(緑) -
壁:
#0000FF(青)
そして、プログラム側ではこれらの色は変数として持っているため、色のルール自体を変えることもできます。
(例:プレイヤーを赤→黄色に変える、など)

実習 - まずはコピーして動かしてみよう
1) 参考プロジェクトをコピー
下のリンクから参考プロジェクトを開き、コピーして自分のプロジェクトにします。
2) 実行して操作してみよう(ジャイロで移動)
ゲームを実行すると、シミュレータ画面(または16×16 LED)に迷路が表示されます。
ジャイロセンサーをゆっくり傾けてプレイヤーを動かします。
-
傾きに応じて、プレイヤーが上下左右に移動
-
ゴールに到達すると、クリアー画面を表示(LED点灯)
-
壁に当たると、失敗画面を表示(LED点灯)
実習2 - スプレッドシートの色を変えて迷路をカスタマイズ!
この迷路ゲームでは、スプレッドシートの各マス(座標)に カラーコード(例:
#FF0000) を入力して迷路データを作ります。つまり、セルの文字(カラーコード)を変えるだけで、迷路を自由に作り替えられます。
1) 迷路のルール(どのカラーコードが何を意味する?)
スプレッドシート内では、次のカラーコードが役割を持っています。
-
ゴール:
#00FF00(緑) -
壁:
#0000FF(青)
※これらの値はプログラム側で変数として定義されているため、後で色のルール自体を変えることもできます(次のステップで紹介します)。
2) カラーコードを書き換えて迷路を作り替える
スプレッドシート上で、迷路にしたいマスのセルにカラーコードを入力します。
例:
-
壁を増やしたいマス →
#0000FFを入力(壁になる) -
ゴールにしたいマス →
#00FF00を入力(ゴールになる)
迷路づくりのコツ
-
壁(
#0000FF)を置きすぎると詰むので、通れる道を必ず残す -
迷ったら「一本道」→ 次に「分岐を追加」がおすすめ
3) 反映してプレイ!
カラーコードを書き換えたら、ゲームを実行して動きを確認します。
スプレッドシート=ステージデータなので、入力に合わせて別ステージに変わります。
4) うまく動かないときのチェック
-
#を忘れていないか(例:FF0000になっていないか) -
文字が全角になっていないか(
#FF0000など) -
余計な空白が入っていないか(
#FF0000など)
応用学習 - 次のステップ:色ルールを変えてみよう
次は、プログラム側の変数を変えて、ゴールや壁の色ルールを変えてみましょう。
そして、スプレッドシート側も同じ色に合わせて入力を変更します。
例:
-
ゴール色:
#00FF00→#FF00FF(紫) -
壁色:
#0000FF→#FFFFFF(白)
「ルール(変数)を変える」+「データ(スプレッドシート)を合わせる」ことで、自分だけの迷路に進化します。
(余裕があれば)
-
傾きの感度(速さ)を調整する
-
クリア時にアニメーションを追加する
-
ステージを複数用意して、クリアで次へ進む
発表
自分が作った迷路を見せながら、「どこを工夫したか」を発表してみよう
-
難易度を上げた/操作しやすくした/見た目をデザインした、など
評価
- スプレッドシートのカラーコードを変えて、迷路を意図通りに作れたか?
- ルール色(変数)を変えたとき、スプレッドシート側も合わせて変更できたか?
- ジャイロ操作で、狙った方向に動かす工夫ができたか?