「はいチーズ カシャ!!」はLINE entry「みんなの作品」で公開されている作品です。こちらなんと昨年のTech Kids Grand Prix 2020にて見事LINE entry賞の1となったものです。今回はこの作品がどのようにプログラミングされているか見てみましょう!

■どんな作品?
「はいチーズ カシャ!!」はLINE FRIENDSのキャラクターたちが海で遊んでいるところをカメラで撮影するという一見、シンプルな作りですが。しかし黒いわくをカメラのファインダーからのぞく景色に見立てたり、キャラクターの向きや重なり、たまにしか現われないキャラクターといった加点や減点の条件を加えるなど多くの工夫があり、相当に凝ったプログラムになっています。
Animation

■得点はどうやって出している?
ゲームが終わったあと、画面に「みんなの笑顔」「重なっていないか」「レアキャラ」「合計得点」の4つが表示されますね。今回は、これらの得点をどのように出しているのか、プログラムを解読してみましょう。この4つはすべて「変数」を使って画面に表示されています。変数とは箱のようなもので、変数ごとに名前をつけて数値や文字の値を入れることができます。LINE entryでプログラミング入門 第7でも変数の使い方を紹介しています。「はいチーズ カシャ!!」では、下の図のように採点する条件ごとに得点を入れておく変数を作っていました。
図3
「属性」タブ、変数を順にクリックするとプログラム中に使われている変数を見ることができます

たとえば「レアキャラ」という変数には、シャッターをクリックしたときにレアキャラが表示されていたら10点、表示されていなかったら-10点が入ります。このような得点のための変数が、10個も使われています。
そして実行画面左上のシャッターボタン(グレーのアイコン「ロボット掃除機(2)」)をクリックしたときに、それぞれ変数に入っている値(得点)をたして、最後に変数「合計得点」に入れることでこのゲームの合計得点を画面に表示しています。
図4
それでは変数に得点となる値を入れる条件をどのように作っているか見ていきましょう。

■得点の条件はどうやって作る?
LINE entryでは「制御」カテゴリーの「もし」ブロックと「判断」カテゴリーのブロックを使って条件を作ることができましたね。LINE entryでプログラミング入門 第5を読み返してみてください。このプログラムも下の図のように条件を作り、加点や減点の仕組みを作っています。
図5

これは、「コニーがブラウンやサリーと重なっているなら」という条件で、重なっていたら変数「コニー重なったか」を「-15」点にし、重なっていなかったら「15」点にするというものになります。ということは、コニーがほかのキャラクターに重なっていないときにシャッターボタンをクリックすれば、得点が高くなるということですね。
ほかの得点に関する変数がどのような条件で何点になるのかもぜひ、解読してみてください。そうすれば、いつシャッターボタンを押すのがいいのかはもちろん、最高得点が何点になるのかもわかりますよ!

今回はここまで。
ほかの人が作ったプログラムを解読すると、それだけでプログラミングの勉強になりますすし、ときにはそのゲームの必勝法がわかっちゃったりもしますよ。
次回はこのプログラムの改造にチャレンジします。

●まずは登録! →  LINE entry
●LINE entryの動画はこちら! →  YouTube
●公式Twitter フォロー、いいね!・RTもお願いします! → 公式Twitter
●ブックマーク登録お願いします →  公式ブログ