Re: [問題] 如何讓timer+imagelist隨機圖不重複?

看板C_Sharp (C#)作者 (信)時間11年前 (2014/04/16 01:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《windmax1 (I do my best)》之銘言: 吃吃吃 : 產生結果如圖http://imgur.com/2AakeZL
: 想要讓六個號碼彼此之間不重複,GOOGLE研究半天研究不出個所以 : 拜託高手指點一下方向!! 排列組合 http://ppt.cc/KG6s 從n個相異物不重複的取出m個之組合數 如果你要求效率很好的話,就是把所有的結果預先產出, 然後再程式初始化時載入,省去每次產生隨機數的成本, 只要隨機挑一組樣本,執行效率非常好。 博弈遊戲的機率也是類似作法。 那單純一點的做法 你把1~n的數,初始化時放到一個vector內 每次取rand(vector.count)的隨機數,取到的就移出 所以假設 1~9取3個任意不重複數 ex: vec = {1,2,3,4,5,6,7,8,9} 1.rand(vec.count)//count = 9 -> get vec[3] -> offset 3 移出vec 2.rand(vec.count)//count = 8 -> get vec[3] -> offset 3 移出vec 3.rand(vec.count)//count = 7 -> get vec[3] -> offset 3 移出vec 最後得到 {4,5,6} -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.239.100 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1397582512.A.CC6.html
文章代碼(AID): #1JJMgmp6 (C_Sharp)
文章代碼(AID): #1JJMgmp6 (C_Sharp)