スポンサーリンク

【JavaScript】プログラミング授業案⑫【当たり1%シミュレーション】

hit-coolCode

2年後には実際にプログラミングを授業の中で実施しなくてはなりません。
どんな授業を行うか、検証を兼ねて検討しています。
前回までは、実際に今年度の3年生の授業で実践できる内容を考えてきました。

【JavaScript】プログラミング授業案⑪【3択クイズ】
2年後には実際にプログラミングを授業の中で実施しなくてはなりません。授業案の11時間目。配列と条件分岐を組み合わせて、3択クイズを作成します。

今回は、趣向を少し変えてシミュレーションをプログラミングで行いました。

今回の学習成果

    当たり1%ガチャシミュレーション


    当たり回数:

    試行回数:

    結果:

   <h2>当たり1%ガチャシミュレーション</h2>
    <button id="btn">ガチャを引く</button>
    当たり回数:<div id="hit">-</div>
    試行回数:<div id="try">-</div>
    結果:<div id="result">-</div>

オンラインゲームにある「100回で1回当たるガチャ」が、本当に100回回せば1回当たるのかを検証します。

CSSの記述


CSSは、必要最低限です。
buttonがinline-blockプロパティなので、blockに書き換えています。
それ以外は、正直なくてもいいです。

JavaScriptの記述


clickイベントのあとでMath.randomでランダムの値を呼び出します。
それが1/100、つまり0.01より少なければ当たり、
それ以上であればハズレの判定を条件分岐で行います。
あとは、引いた回数のカウントと当たった回数のカウント、呼び出されたランダムの値の表示のみです。
プログラムとしては、至ってシンプルな構造ですね。

検討事項

この授業案とプログラムは、某社の定期発行されてくる情報冊子を参考にしました。
buttonを押していくと、Math.randomで呼び出された数字が並んでいきます。
その中で、0.01以下だったら当たりということです。
1/100の割合ということですね。
よく考えられています。
100回回してどこかで1回当たればいいのですが、私は2〜3回ほど完全に空振りでした。
プログラムができたところで、クラス全体で回してみて標本をとってデータ化すると、情報Ⅰで求められる「モデル化とシミュレーション」の内容に繋がりそうです。
ゲームも課金すればいいってもんじゃないことも学べるかもしれません。
やるなってことじゃなくて、賢く遊ぶって勉強ですね。

コメント

タイトルとURLをコピーしました