【レシピ2】もし○○なら?プログラムでルールを教えてジャンケンしようぜ!
ルーレットだけじゃなくて、
もっと作りたいな!
では、ジャンケンをプログラムして作ってみるかの。
ワワン?《コンピューターにジャンケンをさせるには、
どうすればいいかな?》
かんたんかんたん!
「コンピューター、ジャンケンしようぜ!」って命令!
!?
コンピューターはジャンケンを知ってるの!?
ジャンケンだぜ?
だれだって知ってるジョーシキじゃん!
コンピューターなら知ってて当然じゃん。
小さい子や、ジャンケンがない国から来た人は知らないでしょ。
そうじゃよ。
コンピューターもジャンケンなんて知らんぞい。
ええっ!?ウソだろ!?
ワンワン!《それを教えるのが、「プログラミング」なんだよ!》
コンピューターがジャンケンを知らない小さい子だと思って、
やさしくルールを教えればいいんだね。
えーっと、グーならチョキに勝って、パーだったら負ける・・・
どうやってこんなルールを教えればいいんだ?
そういう場合は”条件分岐”じゃよ!
「もし〜なら」を使うのじゃ!
条件分岐でルールを教えよう
スポーツやゲームには、いろいろなルールがあるよね。
野球で、もし3回アウトになったらチェンジ!
ドッジボールで、もしボールに当てられたらアウト、
だけどもし地面に落ちる前にキャッチできればセーフ!
そんな、「もし○○なら○○」をコンピューターに教えるのが条件分岐なんだ。
これをマスターすれば、もうプログラミングの半分はできたも同然かも!?
ジャンケンは、「かち」「まけ」「あいこ」の3つの条件があるね。
だから、「もし〜なら」も3つ必要。
だから3段重ねになっているぞ。
この条件分岐は、シンプルに組むことが大切。
今回はみんながわかりやすい組み方をしているけれど、
じつはもっとシンプルに組む方法もあるんだ。
プログラミングに慣れてきたら挑戦してみよう。
条件の例外って!?
ジャンケンにはグー・チョキ・パーの3つしか無いけれども、
もしグー・チョキ・パー以外の手が出されてしまったらどうする?
もちろん無視をすればいいのだけれど、そういった万が一の例外も考えて組んでおこう。
例えば、「もしグーなら」「もしチョキなら」「それ以外なら」と条件を組んでしまうと、
グー・チョキ・パー以外の手が出されてもパーになってしまうぞ。
予想外の事が起こるのがプログラム!油断は禁物だ!
ひみつのポイント
ジャンケンで結果が出ている間はボタンが押せなくなっているのだけれど、
これは「○秒待つ」ブロックや「〜と○秒表示」ブロックを使っているんだ。
その待ち時間や表示中は止まってくれるぞ。
さらに、「○秒待つ」ブロックで効果音のタイミングまで微調整!
こだわりの調整にも使える、実はちょっと便利なブロックだ。
条件分岐はこんなことに使われている!!
あらゆるプログラム自体が条件分岐のカタマリみたいなものなので、
条件分岐がないものなんて、少ないかも?
ゲーム:
プレイヤーの選択によって物語やエンディングが変わるのは、一番わかりやすい条件分岐だね。
家の中、まちの中:
設定した温度を超えたらスイッチが切り替わるエアコン、
時間が来たら音がなるアラーム、
定期券が有効なら通してくれるけど、期限が切れていたら通してくれない駅の改札や、
入れたお金が値段以上ならジュースが買えるようになる自動販売機など、
いろいろなものに条件分岐は使われているよ。
条件分岐ってむずかしそうな
言葉だけどなんとなくわかってきたかも!
これを使ってもっと新しいプログラミングをつくるぞー!
帰ったら早速プログラミングだ!
うん!でも今日は明日の小テストのために、
帰ったら勉強しようかな
え! 明日って小テストあったっけ…
もしかして忘れてた?
「もしミチタがテストで100点を取ったなら」…
取ったなら…?
「その日の夜ご飯はハンバーグになる」…ぞい
今日は帰ったら勉強する!!!!
ワン!《がんばれ~!》
- カテゴリー
- スクラッチ