基本上我必須使用一個隨機函數,它可以返回0和2^16-1之間的數字。嘗試在一個數字(LUA)中生成幾個數字間隔
我想利用這一點,並生成讓我們說,6和6之間的間隔(思考骰子撲克)。基本上使用一個隨機爲我生成的數字(我只能指定範圍),最好只需要調用一次。然後取這個數字,並將其「分成」6個骰子,其值將在1-6之間。
我對使用的技術有點不確定,想到的一點是掩蓋,但我不確定這是否是正確的上下文。
從二元角度來看,骰子值在0-5之間是合理的。那會給我們二進制數字000-101。現在,隨機函數返回值的最大值是101101101101101101(六個骰子,每個都是「6」),十進制表示隨機int返回值的上限爲187245.下限爲0.現在,讓我們說隨機函數返回數字66508,使其成爲二進制形式,我們得到010 | 000 | 001 | 111 | 001 | 100,這還不夠好!在這種情況下,其中一個骰子是111 = 7,當間隔應該是0-5(1-6)時,我們不能得到這個結果:(
我需要找出一個小數點限制範圍可以包含6個骰子與值1-6(0-5),但我在一些需要援助。
不要用二進制位屏蔽做...在基地6工作a在馬克·拜爾斯的回答中。 –
這個問題與Lua有什麼關係? – lhf