ひまわりの条件分岐 その2
前ページで見た「もし」ですが、もう少し、突っ込んだ使い方をしてみましょう。例えば、買い物をするためにスーパーへ行ったとして、りんご
書式: もし、(条件)ならば〜。違えば〜。 が、1個、98円より安かったなら、りんごを買うことにして、それより高かったら、買うのはやめよう、という状況を、プログラムにしてみましょう。
こんな具合です。
りんごの値段は、90{円}
もし、りんごの値段 <= 98{円}
ならば、「りんごを買う」と、言う。
違えば、「りんごを買わない」と、言う。
(条件)の中に書けるのは、以下のいずれかです。 あ=い あが、いと、等しい場合 あ≠い または あ<>い あが、いと、等しくない場合 あ>い あが、いより、大きい場合 あ≧い または あ>=い あ、いと、等しいか、大きい場合 あ<い あが、いより、小さい場合 あ≦い または あ<=い あが、いと、等しいか、小さい場合
夢も希望も、バナナ
次第・・・
小学生のころ、遠足のお菓子は、200円までと、決められていました。
そして、そこで、必ずと言っていいほど、話題になるのが、
「バナナは、お菓子として、200円の中に数えるのか?」
と、いうことです。
そこで、これを、お菓子として扱うかどうかで子供たちが、実際に買えるバナナ以外の金額を計算してみましょう。
{遠足バナナチェックプログラム}
お金は、200{円}
バナナ金額は、40{円}
「バナナはお菓子ですか?」と、二択。{←はい、いいえで、尋ねます}
もし、それが、はいならば、お金=お金−バナナ金額{注1}
「お菓子は、{お金}円分使えます」と、言う。
競輪場にて
高校生の頃、学校の近くに、競輪場がありまして、私の悪友はよく、年齢を偽ってギャンブルに身を落としていました。
その時、競馬場で、年齢検査をするのに、よく使われていたのが、まず、年齢を尋ね、その後に、「生まれた年を言ってみろ!」という、検査でした。もし、間髪いれずに正しく答えられるようなら、合格、そうでなければ、追い出されるというものだったそうです。
悪友達は、予め、20歳になったつもりで、西暦を計算し、競輪場へ通ったそうです。(さすが、進学校の生徒ですね。抜かりが無い。)
そういうわけで、効果のほどは、確かではありませんが、この年齢チェックを、ひまわりで、作ってみましょう。
{年齢チェックプログラム}
今年={西暦}2001{年}。{←年が変わったら変えてね。}
「君、今年で、何歳になるの?」と、尋ねる。
年齢=それ。
「生まれた年は?」と、尋ねる。
生まれた年=それ。
もし、(今年−年齢)=生まれた年
ならば、「ご来場ありがとうございます」と、言う。
違えば、「大人になってから、来てね!さようなら。」と、言う。
遠足で競輪場へ?
だいたいにして、競輪場が作れるような町は、そこそこ地価が安く、競輪場の近くに、大きな池のある公園があったりします。そこで、生徒を引率する先生方は、遠足の場所を決めるとき、喜んで、この公園を選んでいました。生徒には、公園で遊ばせておいて、自分たちは、隣の競輪場で一儲けして、遠足の二次会(打ち上げ会)の費用を稼ぐんです。
そういうわけで、必死に競輪に打ち込むわけですが、もし、負けてしまったら、二次会の会場は、ラーメン屋、費用は自己負担。もし、買ったなら、二次会の会場は、すし屋、費用は、競輪で買った金から、ということになります。
では、これを、ひまわりのプログラムにしてみましょう。
{二次会のシミュレーション(5人くらいで計算)}
「競輪で勝った金額は?」と、尋ねる。
収入は、それ。
もし、それ >= 40000{円}
ならば、(会場は、「すし屋」。費用は、40000{円})。
違えば、(会場は、「ラーメン屋」。費用は、8000{円})。
支出=費用 - 収入。
ワリカン=整数(支出÷5)
「会場は {会場}、負担は {支出}円(5人だと1人{ワリカン)}円)」と、表示。
ここで、「ならば」と、「違えば」の、後ろの「(・・・)」の部分に注目してください。
普通、「ならば」「違えば」の後ろには、1つの文しか書けないことになっているのですが、こうして、( )で、複数の文を囲むことによって、1つ以上の文を書くことが出来ます。
条件を重ねる
繰り返しの時にも、出てきましたが、条件をネスト(多重構造)にするには、ならば、違えば、の、すぐ後に、丸カッコ()を書きます。
以下は、うるう年の判定プログラムです。
うるう年かどうかを判定するには、
1.400で割り切れる年は、うるう年
2.100で割り切れる年は、うるう年ではない
3.上記以外で、4で割り切れるときは、うるう年
4.上記以外で、4で割れない年は、うるう年ではない
の条件をチェックします。
{うるう年の判定プログラム}
「西暦の入力」と、尋ねる。
もし、それ%400=0ならば、「うるう年だ」と、言う。
違えば(
もし、それ%100=0ならば、「うるう年でない」と、言う。
違えば(
もし、それ%4=0ならば、「うるう年だ」と、言う。
違えば、「うるう年でない」と、言う。
)。
)。
数当てゲーム改
前回作った数当てゲームをちょっと改良して、正解率を表示することで、よりゲームをスリリングにしてみました。
{数当てゲーム}
正解数=0
「5回勝負。」と、言う。
5回(
2の、乱数。{0〜1の乱数を、「それ」に得る}
正解は、それ。
’ユーザーからの入力
「半(はい)か丁(いいえ)か?」と、二択。
もし、それが、はいならば、解答=1。違えば、解答=0。
’正解かどうか判定する
もし、解答が、正解ならば(
「当たり」と、言う。
正解数=正解数+1。
)。
違えば、「はずれ。」と、言う。
)。
’正解率の計算
正解率=整数((正解数÷5)×100)
「正解率は、{正解率}%」と、言う。
ゲーム改造のヒント
ゲームを、さらに、面白くするには、どうしたら良いでしょうか?ぜひ、改造して、血肉踊るゲームに、仕上げてみください。
- 掛け金を設定できるようにする
- 二人同時プレーができるようにする
- カジノの雰囲気を演出する(絵をつける、音をつける)