NTUE-CS101 板


LINE

: 1. 遊戲父類別: 儲存姓名跟分數 : 2. 遊戲子類別繼承父類別 : 3. "選擇遊戲"的畫面 : 4. 兩個遊戲的內容 : 5. 存檔 遊戲一 : 骰子 這應該很簡單 不用考慮點數有沒有重複 雖然他沒有規定骰子要不要用物件 這裡我還是用一下 class dice { int point; public: int play() { point=rand()%6+1; return point; } int getpoint() { return point; } }; 兩個遊戲都會用到亂數 所以記得在main的第一行要加上 int main() { srand(time(NULL)); ... 然後來看遊戲主迴圈 class game1 : public game { dice d; public: void play() { int com, ply; inputname(); // 輸入名子 ( 這個函數是 game 繼承下來的 ) for(int i=1;i<=10;i++) // 題目指定連玩10次 { cout<<"你先丟"; system("pause"); ply = d.play(); // 骰子的 play 函數有 return 點數 cout<<"你的點數是"<<ply<<"\n\n"; cout<<"換我囉"; system("pause"); com = d.play(); cout<<"電腦的點數是"<<com<<"\n\n"; cout<<"遊戲結果\n\n"; if(ply>com) { cout<<"YOU WIN\n\n"; addpoint(10); } else if(ply<com) { cout<<"YOU, LOSER!!\n\n"; } else { cout<<"DRAW\n\n"; } } } }; 遊戲二 : 抽牌 先寫撲克牌類別 class poker { int card[52]; // 把 52 張牌存在這裡 int current; // 現在拿到第幾張牌 public: void wash() { int tmp[52]; // 看哪張牌被亂數產生過了 int i,c; for(i=0;i<52;i++) tmp[i]=0; // 0代表還沒產生過 1代表產生過了 for(i=0;i<52;i++) { do { c = rand()%52; // 產生一個亂數 }while(tmp[c]==1); // 確認這個亂數沒有產生過 card[i] = c; // 把這張牌(剛產生的亂數)放到card牌堆裡 tmp[c] = 1; // 記錄產生過了 } current = 0; } int get() { return card[current++]; // 傳回current那張牌 然後把current加1 } void showcard(int c) // 傳入牌的編號 這個函數會把牌的外觀cout出來 { switch(c%4) { case 0: cout<<"梅花"; break; case 1: cout<<"磚塊"; break; case 2: cout<<"紅心"; break; case 3: cout<<"黑桃"; break; } switch(c/4) { case 1: cout<<"A"; break; case 11: cout<<"J"; break; case 12: cout<<"Q"; break; case 13: cout<<"K"; break; default: cout<<c/4; break; } } }; 再寫遊戲物件 class game2 : game { poker p; public: void play() { int com, ply; inputname(); // 輸入名子 ( 這個函數是 game 繼承下來的 ) p.wash(); // 先洗牌 for(int i=1;i<=10;i++) // 題目指定連玩10次 { cout<<"你先抽"; system("pause"); ply = p.get(); cout<<"你的牌是"; p.showcard(ply); cout<<"\n\n"; cout<<"換我囉"; system("pause"); com = p.get(); cout<<"電腦的牌是"; p.showcard(com); cout<<"\n\n"; cout<<"遊戲結果\n\n"; if(ply>com) { cout<<"YOU WIN\n\n"; addpoint(10); } else if(ply<com) { cout<<"YOU, LOSER!!\n\n"; } } } }; 搞定~ 沒有很想像中那麼難吧 試著看懂他 不要純用抄的喔 畢竟我只是猜題 看懂他 這樣考試的時候要是改了題目你也寫的出來 加油~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.74.9
1F:推 rockmyangel:揪甘心!!! 06/07 20:16
2F:推 hi29629508:快拜 06/07 21:53
3F:推 shooyu:113行的i是不是c呢?~ 06/07 22:55
謝謝提醒~ ※ 編輯: yantchen 來自: 203.68.15.209 (06/07 23:49) 噢 我忘了撲克牌抽牌之前要先洗牌@@ ※ 編輯: yantchen 來自: 203.68.15.209 (06/08 01:18) ㄟ... 有個地方52打成51了 會變無窮迴圈 ※ 編輯: yantchen 來自: 203.68.15.209 (06/08 22:37)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP