作者michael0728n (蒜˙遠古)
看板C_and_CPP
標題[問題] 不用srand(time(0)) 取亂數的方法
時間Wed Jan 19 16:19:42 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev-C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
VusualBoyAdvance開發相關(GBA模擬器)
問題(Question):
是這樣的,我跟朋友合作一個簡單的GBA遊戲(貪食蛇= =)
食物是要random出現的
我負責C++的code,他負責轉成GBA可用的東西
(據說有一個compiler可以直接轉,但GUI的部分要用不同的flag去定義)
However,剛發現那個模擬器裡沒有時間的概念
也就是time(NULL)只會傳零回來,所以不能拿它丟給srand。
那有沒有其他參數可用呢?
例如可以直接拿program counter之類的?!
(p.s.核心處理是用arm)
謝謝
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.251.47
→ stupid0319:用CPU運算的時間差取亂數 01/19 16:32
→ proLIONS:呃 沒有時間概念怎麼算時間差... 01/19 17:43
→ proLIONS:讓user隨便點螢幕幾下用座標當seed? 01/19 17:44
→ james732:看看有沒有 /dev/random 可以用? 01/19 17:44
→ michael0728n:樓上那個好像也沒有@@" 01/19 17:51
→ james732:對了,process id也可以當亂數種子,使用getpid()取得 01/19 17:52
→ michael0728n:剛剛又突然想到可以呼叫arm函式直接去叫stack上沒人 01/19 17:52
→ michael0728n:用的數XD 01/19 17:53
→ michael0728n:getpid!!! 好我試試看! 01/19 17:53
→ michael0728n:謝謝大家的推文討論回答:) 01/19 17:53
推 pichubaby:一開始的時候紀錄時間,等使用者按下START的時候取亂數? 01/19 20:04