はじめよう

ゲームで学ぶ
プログラミング

遊んでいるうちにプログラミングの
エッセンスを体験できます。

プログラミングに、楽しみながら触れることができるゲームがあります。プログラミングをする際には、どうやったら目的を達成できるか、どのようなステップで命令を実行すればいいか、といったことを論理的に考える必要があります。「Human Resource Machine」と「7 Billion Humans」は、そのプロセスを遊びながら学ぶことができるのです。

「Human Resource Machine」であなたは、大企業に入社し、そこで上司に指示される業務を着実に実行することを求められます。必要なのは、キャラクターを動かすためのコマンド(命令)を組み合わせて、動作を作成することです。まずはメールセンターの受信用ベルトコンベヤーに届く、数字やアルファベットが描かれた箱を、順番に送信用ベルトコンベヤーに移動させましょう。「→inbox」は受信側から箱を取り、「outbox→」は送信側に箱を置くコマンドです。コマンドを並べると、キャラクターがその通りに動いてくれます。

どう組み合わせたら目的が達成できるかを考えながら、用意されているコマンドを並べます。

昇進するにつれ、「0」と書かれた箱は除外して運ぶ、箱に描かれた数字を足し算だけで40倍にするなど、一筋縄では解けない結果を求められるようになります。足し算をする「add」、引き算をする「sub」、繰り返し動作に使う「jump」など、徐々に使えるコマンドも増えていきます。どのコマンドをどういう順番で組み合わせればキャラクターが意図した通りに動くか考えながら、試行錯誤を繰り返しましょう。行き詰まったら、コマンドを1ステップずつ実行し、キャラクターの動作を確認して問題を見つけ、修正します。

ステージをクリアし経験を積むと、やがて作業の結果だけでなく、途中のプロセスも評価されるようになります。より少ないプログラム行数、より少ない手数で同じ結果が出せるよう、コマンドの組み合わせや並べ方を工夫することが求められるのです。無駄を省くためには、時に大きく手順を変えることもあります。

解法はたくさんありますが、効率的に実行するためのサイズ目標やスピード目標を目指しましょう。

上司の指示を理解して、動作を小さなコマンドに分解し、どの順番で実行すれば最も効率がいいかを考える。コマンドを並べる作業は、まるでパズルを解くようです。そして画面内のキャラクターたちが、頭の中で思い描いた通りに動いてくれた時の喜びは格別です。

続編となる「7 Billion Humans」では、複数人の部下がいる状況で、彼らに業務をこなしてもらうコマンドの組み合わせを考えることになります。置かれている状況が必ずしも同じではない部下たちに、共通のコマンドで動いてもらうためには、「もし〇〇だったら〇〇をする、それ以外は〇〇をする」という「if〜else」コマンドを使った条件分岐などを活用する必要があり、より深く考えてコマンドを組み立てることになります。

条件分岐を活用することで、異なる状況下でのルールを作ることもできるようになります。

「Human Resource Machine」や「7 Billion Humans」の中で実行するのは、模式化されたプログラミングです。かわいらしいキャラクターで描かれた部下たちが、効率よく仕事をこなすにはどうしたらいいか。仮説を立て、コマンドを組み合わせ、結果を確認して修正を繰り返す中で、論理的に考える力を育むことができるのです。

    Human Resource Machine

    ヒューマン・リソース・マシン

    表示

    7 Billion Humans

    セブン・ビリオン・ヒューマンズ

    表示