n:bitじゃんけんをつくろう

5.アイコンを使ったゲームにする

実際に遊んでみると、何も変わりませんね。
でも、micro:bit側は劇的に変化しました。
 変数を使わないプログラムの作りでは、ランダムな数字を表示した瞬間に忘れて、二度と思い出すことはできません。
 逆に、変数を使った処理では、電源を切らない限り永久に数字を覚えています。
つまり、今出した「じゃんけん」の手を覚えているので、いろいろな場面で、計算や判断ができるようになるのです。

次のプログラムが変数を使ったじゃんけんです。

プログラムのダウンロード:じゃんけん

「ゆさぶられたとき」のブロックで決まったじゃんけんの手を変数に入れて覚えます。
そのため、「ずっと」のブロックで、じゃんけんの手を判断できるので、目的のLED表示ができるようになりました。


ここで、別の変数「相手」を作って、micro:bitの無線機で、相手の手(1か2か3)を送ってもらったら、なにができるでしょうか。
勝負を自動で判断してくれるプログラムができそうですね。
ここではプログラムは作りませんが、ぜひチャレンジしてみてください。
ヒントとして、勝負を判断する式を書いておきます。

勝負 = (自分 – 相手 + 3)を3で割った余り

あと、「ゆさぶられたとき」は、常に新しいじゃんけんの手を上書きするので、一つ前に出した手を忘れます。
しかし、配列という別の種類の変数を使うことで、過去に出した手を全部覚えておくこともできるようになります。

 コンピュータ相手の将棋やチェスのプログラムも、同じ仕組みを使って対戦相手の手や自分の手を覚えていっているのです。

この教材は「Creative Commons — CC BY-SA 4.0」の下に提供されています。