回答
如果你的C實現符合C89,它應該包括工作rand()
- 也許你忘了,包括<stdlib.h>
?
如果不是,編寫自己的rand
是微不足道的,只要您不需要非常高質量的生成數字,您不應該爲TETRIS的目的。這個微小的實現是由POSIX晉升爲一個選項,需要重複僞隨機數的相同的序列在不同體系結構的程序:
static unsigned long next = 1;
/* RAND_MAX assumed to be 32767 */
int myrand(void) {
next = next * 1103515245 + 12345;
return((unsigned)(next/65536) % 32768);
}
void mysrand(unsigned seed) {
next = seed;
}
它不會給你帶來很大的僞隨機性,但它不會是比許多現實生活中的rand()
還要差。
謝謝,我會試試這個 – Zolyboy 2013-03-05 09:16:45
你能提供一個鏈接到這個例子(或告訴我如何創建種子)? – 2013-03-05 09:17:32
@DavidRF鏈接到什麼樣的例子?發佈的代碼是獨立的。 – user4815162342 2013-03-05 09:39:24
- 1. 在函數中調用RAND()
- 2. rand函數值
- 3. PHP .rand函數,
- 4. PHP rand()函數
- 5. Matlab中是否存在函數緩存?
- 6. 休眠 - 函數rand()在MYSQLDialect
- 7. PHP「randomize」rand()函數?
- 8. rand()函數返回
- 9. 實現rand函數
- 10. 簡單Rand()函數
- 11. Python中是否存在「缺失」函數?
- 12. Swift中是否存在析構函數?
- 13. 檢查javascript中是否存在函數
- 14. rand()和srand()在C++中的函數
- 15. Activeperl是否使用Windows的stdlib作爲rand函數
- 16. 什麼是SQL Server Rand函數算法?
- 17. 數組是否存在.isHidden函數?
- 18. 在C++中使用rand()函數的正確方法是什麼?
- 19. 使用rand()函數im mysql
- 20. 與rand()函數相關
- 21. MySQL的rand()函數BY
- 22. 修改PHP rand函數
- 23. php rand函數有問題
- 24. 如何使用rand函數?
- 25. 甲骨文rand()函數
- 26. 如何將rand()函數中獲得的數字存儲在for循環中?
- 27. 是否存在`tf()`的反函數?
- 28. 如何檢查函數是否存在?
- 29. PL/SQL函數是否存在?
- 30. 檢查列是否存在函數
閱讀簡單實現。你也可以使用ADC的噪聲來提高隨機性。 – 2013-03-05 09:07:50
與編譯器無關,而與您正在使用的libc無關。 – m0skit0 2013-03-05 09:08:33
我想實現一個俄羅斯方塊遊戲,但我不知道如何隨機生成形狀 – Zolyboy 2013-03-05 09:09:47