用法一: 不給範圍,就隨機算一個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函數,隨後 就能正常獲取隨機數了。