第10章 サイコロ |
サイコロを転がしたときにどの数字が出るかは、転がしてみないと分かりません。 それと同じようなプログラムを作ってみましょう。 |
rnd r,6 ;0〜5のどれかをrに代入 mes r+1 stop |
サイコロのと同じように、1〜6のどれかの数字を表示するプログラムです。 このように、一定でない数字を取得するのが、rnd命令です。 rndは、指定された変数に、指定された個数の数字からどれかを選んで代入します。 このプログラムの場合、rの中に6個の数字のどれかを入れます。 その数字は0から始まりますので、この場合は0〜5の6つの中のどれかです。 表示したい数字はサイコロと同じく1〜6のどれかですから、rに1を足しているわけですね。 このプログラムを何度も実行すると気づくと思いますが、 実は何度やっても表示される数字は同じなのです。 これを解決するためには、次のプログラムを実行してみてください。 |
randomize rnd r,6 ;0〜5のどれかをrに代入 mes r+1 stop |
どうです? これなら毎回違う結果がでますよね。 randomizeというのは、rndで取得する数字を毎回バラバラにする命令です。 この命令はrndとセットで覚えておきましょう。 ここで、よくあるおみくじのプログラムを作ってみましょう。 |
randomize rnd r,6 ;0〜5のどれかをrに代入 if r=0:mes "大凶" if r=1:mes "凶" if r=2:mes "吉" if r=3:mes "小吉" if r=4:mes "中吉" if r=5:mes "大吉" stop |
まぁたいして説明もいらないと思いますが、一応少しだけ。 randomizeで乱数のパターンを毎回変化させるようにして、rndでrに0〜5のどれかを入れます。 そして、if文でrがそれぞれ0〜5だったときの運勢を表示させているわけです。 この章は比較的簡単だったと思います。 乱数はゲームを作るときなど、よく使いますので是非覚えておいてくださいね(*^^) 次章では、先ほどのおみくじプログラムをもっと簡単にしてみます。 ここまで理解した人は、第11章へ。 |