「ゲームを自分で作りたい」

――子どもからそう聞いたとき、どこから始めればいいか迷う方も多いはずです。

今回は視聴者さんからのリクエストで生まれた「micro:bitテトリス」の制作動画をもとに、ゲームのプログラムに必要な考え方を整理してみます。

難しそうに見えて、分解すると小学生にも理解できる要素で作りました。

micro:bitの5×5画面でゲームを作る、という発想

micro:bitには5×5、合計25個のLEDが並んでいます。一般的なゲーム機のディスプレイに比べれば非常に小さいですが、だからこそゲームの仕組みをシンプルに理解しやすい。

この25個の点を「どの位置のLEDを光らせるか」で管理するのが、このテトリスの基本構造です。

座標の考え方はこうです。

左上を起点として横方向に0〜4、縦方向に0〜4の数字で各マスを指定します。

例えば「X=2、Y=0」なら上段の真ん中のLED。この考え方は、学校で習うグラフの座標と同じ発想です。

教室で小学生たちを見ていると、座標という概念をゲーム制作で初めて「使う」経験をした子は、その後の算数でグラフの問題に入ったときに驚くほどスムーズに理解します。

逆のパターン――先に学校で習ったが意味がわからなかった、という子が、プログラミングで「あ、これあの座標だ」と気づく場面も珍しくありません。

テトリスのプログラムは「役割分担」でできている

この動画で特に注目してほしいのが、プログラムを「関数」で分けているという点です。動画では次の4つの関数が登場します。

  • ブロック出現:ゲームのスタート地点(初期位置)を決める
  • ブロックをかく:LEDを点灯させてブロックを画面に描く
  • ブロックを消す:移動前のLEDを消して画面をきれいにする
  • 動きチェック:次の位置に移動できるかを確認する(壁・他ブロックとの衝突判定)

「消してから描く」をセットで使うことでブロックがなめらかに動いて見える――これはゲーム開発の基本テクニックで、大規模な商業ゲームでも同じ原理が使われています。

保護者の方からよく聞かれるのが「プログラミングで何が身につくの?」という質問です。

このテトリスの構造を見ると、一つの答えが見えてきます。「大きな問題を小さな役割に分解して、それぞれを解決する」という思考です。これは関数を使うことで自然に身につく、プログラマーとして最も重要な習慣の一つです。

「配列(リスト)」でブロックの形を表現する

テトリスのブロック(ミノ)は1マスではなく複数マスの形を持ちます。この動画では「2マスのブロック」を扱っていますが、複数の座標をまとめて管理するために「配列(リスト)」という概念が登場します。

配列とは、複数のデータをまとめて一つの名前で管理する仕組みです。「ブロックの形 = 座標の集まり」として配列で定義しておくと、形を変えるときも配列を書き換えるだけで済む。Scratchでは「リスト」、MakeCodeでは「配列」と呼ばれますが、考え方は同じです。

Scratchを使い始めた子どもが「次のステップに進みたい」と感じる瞬間は、教室でよく見ます。そのときに「配列・関数・座標」という3つの概念が出てくるのですが、この動画のようにゲームという文脈で学ぶと、「なぜこれが必要か」が体感として理解できます。抽象的な概念が具体的な動きと結びつく瞬間です。

ゲームの「ルール」をプログラムに翻訳する力

テトリスの代表的なルール「横一列が揃ったら消える」。これをプログラムに実装するには、

すべてのLEDが光っているかを確認する → 光っていたら行を消す → 上のブロックを1マス下にずらす

という手順に分解する必要があります。

日常の言葉で語られるルールを、コンピュータが実行できる手順に翻訳する力は、プログラミングの核心です。

この翻訳作業こそが「アルゴリズムを考える」ということで、数学や理科の問題を解く際にも使える汎用的な思考力につながります。

「ゲームを作りたい」という動機は、プログラミング学習においてもっとも強力な推進力の一つです。教室でゲーム制作に取り組んでいる子を見ると、他のテーマのときよりも試行錯誤を粘り強く続けることが多いです。

「自分が作りたいものを作る」という目的意識が、難しい概念を乗り越えさせる原動力になります!

家庭でこの動画を活用するなら

お子さんと一緒にこの動画を見るときは、完成したゲームを動かす場面だけでなく、プログラムの「関数」の部分に注目してみてください。

「なぜ分けているの?」という問いかけだけで、子どもは自分なりに理由を考えはじめます。

micro:bitとMakeCodeは無料で使えます。

MakeCodeはブラウザで動作するため、追加インストール不要です。

まず動画のプログラムを再現してみて、その後「ブロックの色(明るさ)を変えたら?」「3マスのブロックにしたら?」と改造してみると、学びが一段深まります。

東京都中央区のパソコン・プログラミング教室「プログラメイク」では、micro:bitを使ったゲーム制作にもチャレンジできます。
「小学生の習い事としてプログラミングを始めたい」「Scratchから一歩先に進みたい」という方は、無料体験レッスンでお話しましょう!

動画でもっと詳しく見る

本記事の内容を動画でもご覧いただけます。実際のプログラム画面・関数の構成・完成したゲームの動作まで、すべて実演しています。

中央区プログラミング教室「プログラメイク」では、小学生のプログラミング習い事として、ゲーム制作からロボット・電子工作まで幅広く取り扱っています。体験会も随時受付中です。