プログラミング言語「スクラッチ」でゲームを作ってみたら

mother-robot-scratch

プログラミングされたお母さんの忙しい朝

プログラミングって何?

最近、よく「プログラミング」という言葉を耳にします。2020年から、小学校でもプログラミング教育が始まるそうです。

ところでプログラミングって一体何なのでしょう?「プ」の字も知らない初心者の私にも理解出来るものなのか?ずっと興味があったので、どういうものなのか調べてみることにしました。

どうやらプログラミング言語というのがあるようです。それを使ってゲームを作ることもできます。数あるプログラミング言語の中でも、「スクラッチ」(SCRATCH)は子供にもわかりやすく作られたものだとか。MITの人が、プログラミングを広く体験してもらうために作成したそうです。スクラッチのサイトにアクセスし、アカウントを取得。無料で利用できます。

本『10才からはじめるゲームプログラミング図鑑』を購入。「オリジナルゲームを作って、子供達をびっくりさせよう。フフフ。」なんて意気込んで取りかかったのはいいのですが…。

『10才から〜」と書いてあるわりには難しい

難しいプログラミング言語を使わなくても、カラフルなブロックを組み立てていくだけでゲームを作れる、という点では簡単かもしれません。ブロックパレット(ブロックが入った箱みたいなもの)に並んだブロックをドラッグして、スクリプトエリア(実際にブロックを組み立てるところ)で構成していきます。どういう動きをするかはステージ(ゲームの画面)で確認できます。

例えば「ずっと」のブロックの中に「〜歩動かす」「終わるまで〜の音を鳴らす」のブロックをはさむと、ずっとその状態がくり返されます。

「もし〜なら〜」のブロックの中に「ネコに触れた」の下に「ポップの音を鳴らす」を配置すると、もしネコに触れたらポップ音が鳴ります。

まず、頭の中でこうしたい、という事をプログラミングに置き換えます。この作業をするには自分の頭の中もコンピュータ的にしないといけません。これが結構難しい。例えば日常生活だと、ざっくりですがこんな感じ。

もし「私」がプログラミング的に行動すると

目覚ましが鳴る 「私」動き出す

→「ずっと」私、台所と子供部屋を往復 「もし」画面の端についたら跳ね返り往復 子供に向かって右向矢印キーを押す

→私の口から噴射される 起きろビーム

→起きろビームが子供に当たるまで何回もキーを押す  制限時間 10秒。 「もし」 起きたら台所で弁当を作る (野菜を入れるとスコアアップ) 「もし」起きなかったらゲームオーバー

→弁当のふりかけを選ぶ(たらこ、おかか、わさびなど6種類から1〜6の乱数) 「もし」牛そぼろになったらゲームオーバー(おかずと味が重なる)

→子供が玄関に歩いていくまでに、部屋に散乱した学校アイテムを拾い集める。教科書、弁当、体操服。雨が降ってきた場合は傘。制限時間10秒。

→無事、全て拾い集めればゴール!いってらっしゃい!

これって過保護なお母さんロボットやん!

苦労して作った結果

本を見ながら、なんとか人生初のゲームを作りました。上に書いたような複雑なプログラミングは残念ながらできません。「カエル君がお母さんから逃げ回る」というゲームを作りました。こわいお母さんが高速で動き回るのをカエル君がよけるのです。

学校から帰ってきた息子に見せると、「ふーん」という微妙な反応。やはり面白くなかったようでした。まあ予想はしてましたが。それにしても世の中のゲームを作る人達って凄い。それでお金を稼いでいる人ってどんなに頭良くてクリエイティブなんだ!

こんな結果でしたが、プログラミングとは一体何なのか?という疑問は、ほんの少しだけ解けてきた気がしました。2020年から始まるプログラミング、先生は苦労するかもしれませんね。(私みたいに。)子供達の方が、ずっと面白いゲームを作るような気がします。

プログラミングに興味がある子は、どんどんすごいゲームを作って大人をビックリさせてほしいです。

kawasemi1