猜數字遊戲2位數的 |
尚未結案
|
神影
一般會員 發表:1 回覆:0 積分:0 註冊:2004-10-28 發送簡訊給我 |
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
神影您好..以您的文意推斷..我想好像是"電腦出給人猜"而不是"人出給電腦猜"..所以程式簡單多了..不需要寫AI 可以用以上思路去實現..我寫成演算法.供您了解.您自己寫成C吧(這是您的作業)..
< class="code">
1..不能直接用RANDOM去取亂數..因為猜數字的字不能重複..所以..您必須使用洗牌法來取亂數
宣告陣列0~9 DIG(10)
寫一個FOR..使DIG(0)=0..DIG(1)=1....DIG(9)=9..
randomize();//重建亂數種子
FOR i=0~9{
N=random(9) 1; //從10個數隨便抽一個數
SWAP(DIG(i),DIG(N)); //在與第I個數交換
}
2..洗玩牌之後..取前4個數字當作要給玩家猜的數字
3..預設A=0..B=0..及宣告玩家輸入陣列IN(4)<==IN(0)為第1個字..IN(3)為第4個字
4..當玩家輸入數字..將他轉存到IN(0)~IN(3)中..
5..開始判斷幾A幾B
FOR i=0~3{
if (IN(i)==DIG(i)) {A ;} <---位置相同A就 1
FOR j=0~3{
if (IN(i)==DIG(j))&&(i!=j){B ;} <--若在別的位置找到..B就 1
}
}
6..IF A=4{輸出"猜對了"}
else{輸出 幾A幾B..
回到第3步驟..繼續猜..
}
程式演算法就是這樣..加油吧 發表人 -
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
您好,新進會員請閱讀本站規定
新手需知--本站使用說明 請勿張貼作業而索求答案,本站的宗旨是討論交流,並非幫人寫作業
請將有問題的程式碼貼上,或是詳細說明遇到的問題
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |