今回のポイント
今回のおみくじプログラムは乱数を使ったプログラムですが、結果に偏りを持たせようと思います。
おみくじの結果は大吉・吉・凶の3パターンですが、結果の出やすさが吉・凶・大吉の順になるようにプログラミングしていきます。
具体的な偏りの内容は吉が60%、凶が30%、大吉が10%で結果が選ばれるようにします。
完成したプログラム
をクリックすると乱数の結果によって大吉・吉・凶のどれかを伝えます。
偏りの表し方
今回のおみくじプログラムは結果に偏りがあるようにプログラムされています。
スクラッチで偏りを表すには乱数と条件指定をうまく利用します。
まず1~10の乱数を変数に入れます。
今回は「結果」という変数を用意し、その中に1~10までの乱数を入れています。
選ばれた乱数が1の時は大吉、2~4の時は凶、5~10の時は吉というように条件を指定してあげることで結果に偏りを表すことが出来ます。
スクラッチの条件指定をするときの注意
スクラッチには数値の条件指定に使えるブロックが主に3つあります。
「>」「<」「=」の3つです。
=は直観的に使用できると思うので、今回は割愛します。
「>」「<」の使い方についてですが、条件を指定する場合には注意が必要です。
例えば結果が「2より大きい時」という条件にしたい場合、このようにしたとします。
しかしこの条件では「結果が3より大きい時」という条件になってしまいます。
記号が「≦」であれば先ほどの指定で「2より大きい時」を表せるのですが、スクラッチの記号は=がない「<」となっています。
その為スクラッチで「2より大きい時」を指定する場合はこのように指定をしなければいけません。
スクラッチの条件指定をする他のブロック
スクラッチには条件を指定する為にこのようなブロックも用意されています。
これは他のプログラム言語でもよく使われる「or」「and」「not」を現したブロックです。
スクラッチで使い方を覚えておくと、他のプログラム言語を使うときにも役に立つので是非使いこなしてください。
今回のプログラムでは「and」と同じ意味のを使用しています。
凶の条件である、結果が「2か3か4の時」というのは結果が「1より大きく かつ 5より小さい」と表せます。
それを表したのがこちらです。
これで結果が「2か3か4の時」という条件を表せます。
吉はそれ以外の時となりますので、「でなければ」の下に結果を入れてあげると「大吉でも凶でもない時は吉」というように指定できます。
今回のプログラムはここまでです。
この方法は色々なところで応用が出来る使い方なので、是非覚えておきましょう。
コメント