ゆすったら数字を表示するサイコロを作ろう

ゆすったら数字を表示するサイロ作り

ここにあります

まず、数字の表示です


ランダムな数字というのは、1から6までの数字を、順番をバラバラに作るという意味です。
だからサイコロをふるたびに、適当な数字をだします。
でも、何万回も何十万回もふると、どれもだんだん同じ割合になってきます。



これで、ゆすると。1から6までの数字を表示します。
ゆすってみましょう。
数字が出たら次へ進みます。

でも、ここで変数を使ってみます。

変数というグループ(と言うのかなぁ・そういっておこう)を押すと
右のような変数をつくるところが出ます。
そこで【変数を追加する】をおして・・


すると、下のようになるので
作成(さくせい)する変数(へんすう)の名前を入れる。


下のようになれば、【すうじ】という変数ができたということです。



上のようになったら、(すうじ)という変数ができたということです。
できたら次のようにします。
変数に入っている数字が表示されます。

ゆさぶると数字が出ます。
変数がでたら、ここまでは合格です。
何でわざわざ変数なんて作るのかというと、こうしないとサイコロがうまく作れないからです



次に、サイコロみたいに表示しましょう。


変数に数字がはいると、サイコロのような画面にすることができます。
もし・・・ならば というのは IF関数(いふかんすう)というしかけです。
もしもの枠(わく)をふやすには左下の【+】マークを押せばふえます・
これで1のときの模様(もよう)、2のときの模様、3のときの模様ときりかえて表示できるのです。
3より上はどんな画面のしたら良いか、工夫してみてください。
(すうじ)が6のときは、「でなければ」で書きましょう。


サイコロができれば合格(ごうかく)です。


Javaスクリプト


興味(きょうみ)のある人は、JavaScriptをおして英語を調べてみてください
意味を考えましょう。
なお、A==B というのは、AtoBが等しいという意味です。
数字==1 というのは、数字という変数が1と等しい(おなじ)と言う意味です。

let すうじ = 0
input.onGesture(Gesture.Shakefunction () {
    すうじ = randint(16)
    if (すうじ == 1) {
        basic.showLeds(`
            . . . . .
            . # # # .
            . # # # .
            . # # # .
            . . . . .
            `)
    } else if (すうじ == 2) {
        basic.showLeds(`
            # # . . .
            # # . . .
            . . . . .
            . . . # #
            . . . # #
            `)
    } else if (すうじ == 3) {
        basic.showLeds(`
            # # . . .
            # # . . .
            . . # . .
            . . . # #
            . . . # #
            `)
    } else if (すうじ == 4) {
        
    } else if (すうじ == 5) {
        
    } else {
        
    }
})

パイソン

パイソンも見てみましょう。
Javaスクリプトもパイソンも、変数に日本語が使えるのですね。
自裁は進んでいる。
でも、英語やローマ字の方が安心なのはどうして・・・年のせい?
関数名,変数名などは、小文字とアンダーバーだけが良いなぁとおもうけど・・・


すうじ = 0
def on_gesture_shake():
    global すうじ
    すうじ = randint(16)
    if すうじ == 1:
        basic.show_leds("""
            . . . . .
            . # # # .
            . # # # .
            . # # # .
            . . . . .
            """)
    elif すうじ == 2:
        basic.show_leds("""
            # # . . .
            # # . . .
            . . . . .
            . . . # #
            . . . # #
            """)
    elif すうじ == 3:
        basic.show_leds("""
            # # . . .
            # # . . .
            . . # . .
            . . . # #
            . . . # #
            """)
    elif すうじ == 4:
        pass
    elif すうじ == 5:
        pass
    else:
        pass
input.on_gesture(Gesture.SHAKE, on_gesture_shake)
ヒントへ進む