lua 隨機數 math.random()和math.randomseed()用法

用法一:  不給範圍,就隨機算一個0~1之間的小數:dom

             

 

 

用法二:給一個參數,就取1~n之間的隨機數函數

              

 

用法三:給兩個參數,就取m~n之間的隨機數lua

              

 

 

math.randomseed()用法:spa

    因爲C中所產生的隨機序列是固定的。也就是每次執行時取得的隨機數是同樣的虛擬機

    lua的random函數只是對ansi c的隨機函數的一次封裝。因此依然存在這個問題class

    在lua虛擬機啓動的時候設置一個隨機種子,讓系統產生的隨機序列不相同, 隨機數

    但使用randomseed的時候也還要注意一個問題,那就是作種子的數要足夠的大,大於10000就好了。方法

 

解決:只要在lua虛擬機啓動的時候調用一下randomseed(os.time())就能夠解決這個問題了。im

可是有個缺陷就是每次第一次調用時獲取的隨機數依然就固定的,至於緣由就涉及到lua內部實現了。img

解決方法很簡單,就是在設置隨機種子的時候調用一下random函數隨後 就能正常獲取隨機數了

相關文章
相關標籤/搜索