はじめてのスクラッチ
- 1. スクラッチで順次処理を学ぼう!ネコを左右に動かすアニメーションの作り方【初心者向け】
- 2. スクラッチでネコが正方形に動くアニメーションの作り方|座標と向きの使い方
- 3. スクラッチでネコが左右にスケートするアニメーションの作り方|繰り返しの使い方
- 4. スクラッチでネコが走るアニメーションの作り方|コスチューム切り替えの使い方
- 5. スクラッチでネコがランダムな速さで走るアニメーションの作り方|乱数の使い方
- 6. スクラッチでロケットを矢印キーで動かす作り方|条件分岐の使い方
- 7. スクラッチで重力ゲームの作り方|もし〜なら・でなければブロック入門
- 8. スクラッチでスプライト同士がメッセージを送り合う作り方|みんなであいさつ
- 9. スクラッチでキャラが順番に集合するアニメの作り方|みんな集合
- 10. スクラッチで分裂するネコのアートの作り方【クローン入門】
- 11. スクラッチでネコの分身を飛ばす作り方【クローン入門】
- 12. スクラッチで音付きアニメーション!2台の車が走り抜ける作り方
- 13. スクラッチでペン拡張機能のスタンプを使った星のランダムアートの作り方
- 14. スクラッチのペン拡張機能を使って正三角形を描く方法と外角の仕組みを解説
- 15. スクラッチで足し算プログラムの作り方【変数と聞いて待つブロック入門】
- 16. スクラッチでサイコロシミュレーターの作り方│乱数とリストを使いこなそう (いまここ)
さぁ、スクラッチでナニ作る!?
動画で見てみよう
チャンネル登録して応援よろしく!チャンネル登録する
チュートリアルの元になった作品
今回の目標
ユーザーが入力した回数だけ1〜10の乱数を生成し、結果を「サイコロの記録」リストに保存・表示するプログラムを作る。
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1リストの準備
ここまでいろんな仕組みを作ってきたけど、今回は「リスト」を使ってデータをまとめて管理するサイコロシミュレーターを作るよ。まずはリストの初期化からスタートしよう。
準備
スプライト「サイコロマスター」を開く
| スプライトについて |
|---|
| サイコロを指定した回数振り、結果をリストに記録するスプライト |
| どんな役割か |
| サイコロを何回振るかをユーザーに聞いて、その回数だけランダムな数字(1〜10)をリストに追加するよ。シンプルなサイコロシミュレーターを作る感じだね。 |
実装
旗が押されたら、リスト ( ) を表示するで「サイコロの記録」リストをステージに表示して、( )のすべてを削除するで中身を全部消すんだ。毎回まっさらな状態で始められるようにする準備だね。
スクラッチのリストって、現実のメモ帳みたいなもの。買い物リストに品物をどんどん書き足すのと同じ感覚で、データを1つずつ追加できるんだ。しかもリストは画面に表示されるから、中身がリアルタイムで増えていく様子が目に見える。今回みたいに大量のサイコロ結果を記録するには、変数じゃなくてリストを使うのが正解なんだ。
旗を押すと「サイコロの記録」リストが表示されて、中身が全部リセットされたね。
#2乱数の生成
リストの準備ができたから、次はサイコロを振る仕組みを作っていくよ。ユーザーに回数を聞いて、その分だけランダムな数をリストに貯めていく。
( ) と聞いて待つで「サイコロを何回振る?」と質問すると、画面に入力欄が出てくるんだ。ユーザーが数字を入力するとその値は「答え」に入るから、( ) 回繰り返すの回数にそのまま渡すのがミソだよ。
繰り返しの中では( ) から ( ) までの乱数で1〜10の乱数を生成して、「サイコロの記録」リストにどんどん追加していく。「答え」をそのまま繰り返し回数に使うのがコツで、もしこの仕組みがなかったら毎回固定の回数しか振れなくなるから、ユーザーが好きな回数だけサイコロを振れる仕組みになっているんだ。
コンピューターが出す「乱数」って、実は完全にランダムじゃないんだよ。数学的な計算で「ランダムっぽく見える数列」を生成してるから、正式には「疑似乱数」って呼ばれてる。でも天気予報やゲームのドロップ率の計算には十分使えるし、スクラッチで何万回も振ればちゃんと均等にバラけるのが確認できるよ。
回数を入力すると、その回数だけ1〜10の乱数が「サイコロの記録」に追加されたね。
まとめ
リストって変数と違って、複数のデータをまとめて管理できるから便利だよ。今回みたいに「答え」をそのまま繰り返し回数に使うテクニックは、クイズやゲームでも大活躍する。乱数とリストの組み合わせをマスターしたら、次はスコアランキングや問題シャッフルにも挑戦してみよう!