乱数の発生

 乱数の発生です。ただし、math.randomseed()で乱数の初期化をしなければ同じ乱数になってしまいます。

while not Keys.newPress.Start do
	Controls.read()
	startDrawing()
	screen.print(SCREEN_UP, 0, 0, "Press START to quit")
 
	screen.print(SCREEN_DOWN, 0, 0* 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 1 * 8, math.random(1,10))	--  110
	screen.print(SCREEN_DOWN, 0, 2 * 8, math.random(100))	--  1100
	screen.print(SCREEN_DOWN, 0, 3 * 8, math.random(1,100))	--  1100
	screen.print(SCREEN_DOWN, 0, 4 * 8, math.random(10,99))	--  1099
 
	screen.print(SCREEN_DOWN, 0, 10 * 8, "1~10 TEST")
	screen.print(SCREEN_DOWN, 0, 11 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 12 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 13 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 14 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 15 * 8, math.random(10))	--  110
 
        stopDrawing()
end
 

 そこで乱数を初期化を行ったサンプルです。
while not Keys.newPress.Start do
 
	math.randomseed( os.time() )	-- 乱数を初期化
	Controls.read()
	startDrawing()
	screen.print(SCREEN_UP, 0, 0, "Press START to quit")
 
	screen.print(SCREEN_DOWN, 0, 10 * 8, "1~10 TEST")
	screen.print(SCREEN_DOWN, 0, 11 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 12 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 13 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 14 * 8, math.random(10))	--  110
	screen.print(SCREEN_DOWN, 0, 15 * 8, math.random(10))	--  110
 
        stopDrawing()
end
 





タグ:

+ タグ編集
  • タグ:
最終更新:2010年07月11日 23:30
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。