第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章へ。

戻る