SOGO論壇
標題:
用C語言寫賓果遊戲
[列印本頁]
作者:
咖啡香
時間:
2010-6-9 16:52:55
標題:
用C語言寫賓果遊戲
目前小妹在寫賓果的遊戲,然後遇到下列幾個問題!
還麻煩各位高手大大幫幫忙 ^^
1.要如何讓消去過的那些數字不會再出現?
因為電腦選數字是隨機選取 所以不知道怎麼讓他不跟我們選的數字&選過的數字重複!
2.我應該要用一維陣列寫,還是二維陣列比較好呢?
目前我還沒有開始寫,之前寫的... 亂七八糟的 ^^"
想知道,如果要寫賓果遊戲,大概要怎麼寫會比較好!?
麻煩各位大大幫忙 ~"~
作者:
edvx
時間:
2010-6-10 21:19:17
1.要如何讓消去過的那些數字不會再出現?
因為電腦選數字是隨機選取 所以不知道怎麼讓他不跟我們選的數字&選過的數字重複!
用for檢查,且每選一個數字就要檢查
2.我應該要用一維陣列寫,還是二維陣列比較好呢?
目前我還沒有開始寫,之前寫的... 亂七八糟的 ^^"
想知道,如果要寫賓果遊戲,大概要怎麼寫會比較好!?
用二維寫比較好,用一維寫會"時"倍功半
--------------------
大大好興致
不過,遊戲還是跟朋友一起玩會比較有趣
作者:
evance826
時間:
2010-6-13 02:00:34
如果用一為陣列,假設賓果為25個號碼,
bingo[25]={0};
產生亂數的號碼後,如產生為數字5,就把 bingo[5]=1;
其餘的還是0,再產生亂數為8, bingo[8]=1,
再產生亂數為8,只要去看bingo[8]是否為1,若是為1的時候,表示這數字已經產生過了,
所以重新再去產生一個亂數,這樣你就可以省去for迴圈的檢查,也可以只用一維陣列就好了,
如果要重新玩,就把bingo[0~25]清除為0,這樣就可以了,
下面是參考語法,並沒有寫完整。
num1=rand();
while(bingo_total<=25){
while(bingo_num==0){
if(bingo[num1]==1){
i=rand();
}else{
printf(num1);
bingo[num1]=1;
bingo_num=1;
}
}
bingo_total++;
}
《 本帖最後由
evance826
於 2010-6-13 02:04 編輯 》
歡迎光臨 SOGO論壇 (https://oursogo.com/)
Powered by OURSOGO.COM