子ども向けプログラミング学習アプリ「Lightbot : Code Hour」にチャレンジ!

Lightbot : Code Hour

Lightbotは子ども向けのプログラミング学習アプリです。4〜8歳向けの「Junior Coding Puzzles」と、9歳〜の「Programming Puzzles」と無料版の3種類がリリースされています。

今回はその無料版の「Lightbot : Code Hour」にチャレンジしてみました

全ステージをクリアしたので、感想や特徴などを書きたいと思います

複数のユーザーで利用できる

セーブスロットが追加できるので、1つのアプリを複数ユーザーで利用することができます。これで兄弟で使うことができますね

Lightbot : Code Hour

あと、キャラクターは男の子のロボットと女の子のロボットから選べます。日本語にも対応しています

Lightbot : Code Hour

コースは全部で20コース

  1. 基本・・・8コース
  2. プロシージャ・・・6コース
  3. ループ・・・6コース

全20コースです
無料アプリですが、結構やりごたえがあります

プレイ方法

ロボットをコントロールして全ての青いタイルに明かりをつけるが目的。青いタイルの上に移動して電球のブロックを実行すれば明かりがつきます

Lightbot : Code Hour

使えるコマンドは全部で7種類

この無料版では最終的に7種類のコマンドが登場します

Lightbot : Code Hour歩行コマンド。1ブロック前進します
Lightbot : Code Hourライトコマンド。タイルに明かりをつけます。明かりがついたタイルで実行すると明かりが消えます
Lightbot : Code Hour左コマンド。左に向きます(反時計周り)
Lightbot : Code Hour右コマンド。右に向きます(時計周り)
Lightbot : Code Hourジャンプコマンド。段差を飛び乗ったり、飛び降りたりします
Lightbot : Code HourP1コマンド。PROC1を実行します
Lightbot : Code HourP2コマンド。PROC2を実行します

薄いグレー(選択中は黄色)がコマンドが置けるエリアです。
このステージだと、MAINに置けるコマンドは1つ、PROC1に置けるコマンドは3つです

Lightbot : Code Hour

Lightbotの特徴

プロシージャ(関数)の概念がある

複数のコマンドをまとめてプロシージャにすることができます

Lightbot : Code Hour

このステージでは・・・・

Lightbot : Code Hour

・前に進む
・前に進む
・前に進む
・明かりをつける
・右回転

という5つの動きを1つのプロージャにまとめています。メインからこのプロシージャを3回呼び出すことで目的が達成できます

目的を達成するための動きの中に同じパターンが存在すれば、それをプロシージャとしてまとめるとプログラムがスッキリします。このアプリではプロシージャをうまく利用しないとクリアできないステージがたくさん登場します

ループをプロシージャを使って実現

プロシージャ(関数)の中からプロシージャを呼び出すことでループ処理を実現しています

Lightbot : Code Hour

関数の中から関数(自分自身)を呼び出すのは「再帰」という方法で、プログラミングでよく(?)使うテクニックです。これでループを実現するのはなかなか面白いです。Lightbotでは最小限の種類のコマンドで、複雑な動きができるように工夫されています

プロシージャが2つ登場するステージでは、PROC1からPROC2を呼び出し、PROC2からPROC1を呼び出しを行うことで、複雑な動きを繰り返し実行することができるようになります

Lightbot : Code Hour

最後に

こういったキャラクターをコントロールするプログラミングのチュートリアルは多数ありますが、その中でも難易度が高めです

キャラクターの動きが早いので、できればもうちょっとゆっくり動作するモードが欲しいです(さらに早くすることはできる)。動きが早いため、間違っていた時にどの地点で間違ってしまったのかが非常にわかりにくいです。不満な点はそれくらいでしょうか

難易度的には小学生の高学年〜です。それなりに頭を使うので、大人でも十分楽しめます。僕は最後のステージで随分悩みました。一回わかってしまうと簡単なのですが・・・

おまけ:最後のステージのヒント

最後のステージはちょっと複雑なので、ヒントです

Lightbot : Code Hour

同じ形のエリアが4つあるので、4つに分割して考えるとわかりやすいです。1→2→3→4の順に明かりをつけていきます

Lightbot : Code Hour

分割した1/4のエリアの明かりを全てつけるコマンドをPROC1におきます。最後にPROC2を呼び出します

Lightbot : Code Hour

2つめのエリアの開始位置に移動するようにPROC2にコマンドをおきます。最後にPROC1を呼び出します

Lightbot : Code Hour

このPROC1(明かりをつける)とPROC2(開始位置に移動する)を交互に実行することで、4つのエリアの全ての明かりをつけることができます

面白かったので、有料版のアプリも買ってみました。そちらは後日レビューしたいと思います

タイトルとURLをコピーしました