主題:
[求助]
[原創][求助]搖獎程式編寫
[打印本頁]
發表人:
guo_shlan
時間:
2008-1-17 12:30 PM
主題:
[原創][求助]搖獎程式編寫
請問各位大大:有人可以教導如何編寫搖獎程式或該去哪找呢?
我已經搜尋好久了(已爬過文)..
因為尾牙要用..
發表人:
阿達猴
時間:
2008-1-17 01:17 PM
是要亂數抓一筆資料出來的功能而以?!
發表人:
atree
時間:
2008-1-17 02:42 PM
搖獎嗎
要看用那種語言寫吧
如果是簡單的從眾多號碼選一個出來的話
應該很簡單吧
我以前也有寫過
發表人:
bonta
時間:
2008-1-17 03:21 PM
準備個摸彩箱吧
這樣就不用寫程式了
發表人:
wugen
時間:
2008-1-17 03:39 PM
基本的其實不難.. 主要是用亂數產生器去產生一組數字:
1. 初始化亂數產生器(要不然每次結果都一樣)
2. 產生亂數
3. 轉成需要的數字(1-10,1-100等)
發表人:
alexanita
時間:
2008-1-17 04:26 PM
<script type="text/javascript">
var vNum
vNum = Math.random()
vNum = Math.round(vNum*10)
document.write(vNum)
</script>
搜尋「random round 亂數」應該就很多範例了,
不過程式來抽大獎會不會被動手腳呢?
[alexanita 在 2008-1-17 04:28 PM 作了最後編輯]
發表人:
guo_shlan
時間:
2008-1-17 09:06 PM
恩..說明一下..
就是假如有100個數字..搖100次..然後每一次的數字都不一樣..
因為我不會寫任何程式語言
不知有哪些大大可以教教我該怎麼做..
發表人:
atree
時間:
2008-1-17 09:36 PM
那麼條件式
1.數字是001~100嗎
2.是100次內出現的數字都不能重覆嗎
先寫個大概
拿a大的來用一用
不過JAVA的我沒學過
應該還需要做陣列比對才不會重覆
將後面.txt改成.html
可以先看一看
是不是類似此種程式
[atree 在 2008-1-17 10:26 PM 作了最後編輯]
附件:
抽獎程式.txt
(2008-1-17 10:23 PM, 448 bytes) / 該附件被下載次數 16
http://twed2k.org/attachment.php?aid=33702
發表人:
jazzblue
時間:
2008-1-17 10:26 PM
引用:
guo_shlan
寫到:
恩..說明一下..
就是假如有100個數字..搖100次..然後每一次的數字都不一樣..
因為我不會寫任何程式語言
不知有哪些大大可以教教我該怎麼做..
要一個完全不懂程式語言的人在短時間內寫出搖獎程式
是很困難的 ! 就算用最容易學的程式語言也要一段時間
還不如叫一個懂程式語言的人幫你寫比較快 ,我記得網路上有現成的亂數產生器程式
設好數字範圍就可以開始跑了 !
若是要求公平且透明化應該用搖獎機比較好 !
[jazzblue 在 2008-1-17 10:27 PM 作了最後編輯]
發表人:
guo_shlan
時間:
2008-1-17 10:36 PM
沒錯..就是像 atree 大大所說的..
可否請大大幫忙一寫下呢..
是否可寫成一個執行檔..然後有一些畫面..
例如說:請按此鈕..抽出獎項為..一些選項(因為我不懂..也不知道在說什麼)
就類似這樣..不知大大可不可以幫幫我們這些不懂程式語言的..
發表人:
atree
時間:
2008-1-17 10:52 PM
可不可以將大概的流程講一下
例如
每個人自己去點按紐出現中獎號碼跟獎項嗎
獎項是100個嗎?
還是由主管按一次
一次出現100個不同的號碼跟獎項
發表人:
guo_shlan
時間:
2008-1-17 11:13 PM
說明一下:
1.我們公司有101個員工,有101個獎項,我們先抽出員工姓名,然後每位員工自己去按鈕,然後由程式去選獎項,1~101號都不能重複,要人人都有獎
2.我是否可希望獎項數量可調整..例如:101改為45,或改為25,但還是跟之前所述,號碼都不能重複,因為公司是否到時會有人離職或新進,比較難控制
3.畫面可隨大大設計..不難看就好(基本上只要有程式..我都不會說不好看啦..要懷著感恩的心,有人幫就該偷笑了)
發表人:
wugen
時間:
2008-1-18 08:45 AM
說實話, 用彩球也許會簡單一點, 也比較透明化.
要產生N組不重複的連續亂數, 需要用到一組陣列或是Linked List來儲存開獎號碼.
發表人:
atree
時間:
2008-1-18 10:41 AM
最大的問題就是不重覆的陣列問題
人數跟獎項沒固定的話
可能要用動態記憶體配置
然後陣列比對問題
如果比對存放陣列中有重覆的話
在重跑一次~~這個寫法比較簡單,但是得到結果的時間久
要跑太多次了
另一個陣列是儲存1~101or 1~?的數值
抽到那一號就把那一個陣列打掉後面的往前補
不過這樣寫的話
好複雜說
外觀還不難
主要是計算方式
發表人:
jazzblue
時間:
2008-1-18 10:59 AM
對於會寫程式的人這種演算法並不困難
不過敝人很久沒碰程式語言了,不可能短時間內寫出來,沒辦法幫到你!
離尾牙也沒幾天了,何不採用搖獎機呢
抽出的彩球只要不放回機器就不會重覆被抽到了
預算不多就自己做
買一百顆塑膠球,編上號碼放到紙箱中,紙箱上面挖一個僅容手伸入的圓孔
抽獎者手伸入抓一顆球出來就可以了。
這會比找人幫你寫程式還容易 !
求人不如求己
[jazzblue 在 2008-1-18 11:13 AM 作了最後編輯]
發表人:
dennischerry
時間:
2008-1-18 01:37 PM
設浮動布林陣列,用亂數產生號碼順位
當亂數產生號碼順位, 布林值改為0,
例如有100個人, 第一次出現8 , 則陣列8布林值為0
第二次以99為底產生號碼10, 用迴圈找陣列中布林值1的第10個順位(11)
第三次以98為底產生如果號碼又是10, 用迴圈找陣列中布林值1的第10個順位(12)
發表人:
bonjacky
時間:
2008-1-18 02:30 PM
引用:
atree
寫到:
在重跑一次~~這個寫法比較簡單,但是得到結果的時間久
要跑太多次了
另一個陣列是儲存1~101or 1~?的數值
抽到那一號就把那一個陣列打掉後面的往前補
不過這樣寫的話
好複雜說
外觀還不難
主要是計算方式
反正是用完就丟的程式
用 JavaScript 隨便寫寫
就算是 JavaScript ,用這種陣列的做法,很快就得到答案了
發表人:
atree
時間:
2008-1-18 03:45 PM
JavaScript沒寫過
以前都用C++來寫
我還在研究JavaScript陣列要怎麼用說
發表人:
Jonson
時間:
2008-1-18 04:34 PM
簡單用 HTA 寫了一個 (請下載附件解壓縮)
不知 HTA 如何執行者,用 IE 開啟即可
PS:
稍做補充...
HTA 其實就像是網頁,可用文字編輯器開啟、修改
檔案中:
var numLength = 101; //陣列大小、員工人數
var endMessage = '所有獎項已抽出,搖獎結束。'; //陣列已空,搖獎結束
這兩行是可以隨意修改的
numLength
是員工人數
endMessage
是所有獎項都抽完後要顯示的訊息
[Jonson 在 2008-1-18 05:21 PM 作了最後編輯]
附件: [抽獎程式2]
rand.rar
(2008-1-18 05:21 PM, 1.37 K) / 該附件被下載次數 16
http://twed2k.org/attachment.php?aid=33709
發表人:
atree
時間:
2008-1-18 04:43 PM
引用:
Jonson
寫到:
簡單用 HTA 寫了一個 (請下載附件解壓縮)
不知 HTA 如何執行者,用 IE 開啟即可
行家果然寫的比較快
發表人:
Jonson
時間:
2008-1-18 05:01 PM
只是個玩家而已啦^^
不過程式沒有在搖獎後暫時凍結搖獎鈕
要慎防有人不小心連按兩下
PS: 附件已更改,新增: 搖獎後暫鎖搖獎鈕約 1 秒
[Jonson 在 2008-1-18 05:24 PM 作了最後編輯]
發表人:
Moffatt
時間:
2008-1-18 05:21 PM
剛剛閒著沒事, 手癢用 VC++ 寫了一個....
電腦抽奬程式
發表人:
guo_shlan
時間:
2008-1-18 10:52 PM
謝謝各位大大的支援及教導..
發表人:
innova
時間:
2008-1-21 11:29 PM
如果是 尾牙要用的?
還是用 實際的 抽獎箱 會比較好吧?
用程式... 難免會有人懷疑 程式碼裡面有鬼 作假!?
尤其是... 當 抽出來的獎 大部分落在某部門人員身上的時候......
或是 程式提供/攥寫者 抽到大獎時!!
歡迎光臨 TWed2k (http://twed2k.org/)
Powered by Discuz! 4.1.0