Re: ﹝問題﹞猜骰子大小

看板C_and_CPP作者 (蛋白質)時間14年前 (2010/04/11 23:47), 編輯推噓5(508)
留言13則, 3人參與, 最新討論串4/4 (看更多)
#include <cstdlib> #include <iostream> #include <ctime> #include<stdio.h> using namespace std; int main(int argc, char **argv){ int a,b,c;; //骰子 int p_mon=1000,p_bet=0,p_siz;//玩家的資本,押注,押的大小 int e_win=0,e_los=0 ; //贏幾次,輸幾次 char ch;//迴圈 srand(time(0)); cout << "\t歡迎來到義守應數賭博樂園 ● 以下開始為您介紹遊戲玩法"<<endl; cout << "\t首先,您的賭本為1000元,\n"; cout << "\t總共三個骰子,猜猜看是大(B)還是小(S)\n"; cout << "\t【大】為三個骰子總合大於11;【小】為三個骰子總合小於10\n"; do{ a = rand() % 6 + 1; b = rand() % 6 + 1; c = rand() % 6 + 1; do{ cin.clear(); cin.sync(); cout << "您現有『"<<p_mon<<"』元,請輸入要押注的金額\n" ; cin >> p_bet; if(cin.fail()){ cout << "\n請輸入正確數字\n"; }else if( p_bet <= 0 ){ cout << "無押注就無遊戲(╯‵□′) ╯ 請重新押注或滾蛋\n" ; }else if( p_bet > p_mon ){ cout << "你不是郭台銘 沒這麼多錢╮(╯_╰)╭ 請押注正確金額\n " ; } }while(p_bet <= 0 || p_bet > p_mon || cin.fail()); cout <<"您押注【" << p_bet << " 】元後剩下【"<< p_mon-p_bet << "】元\n"; cout << "現在就來猜猜是(B)ig或(S)mall還是您要(E)xit呢?\n" ; do{ ch = getchar(); }while(!(ch == 'B' || ch == 'S' || ch == 'E')); if ( ch == 'E' ) { printf("骰子為 %d + %d + %d = %d\n",a, b, c, a+b+c); if ( (a+b+c >= 11 && ch == 'B')||(a+b+c<=10 && ch == 'S') ) { e_win++; p_mon += p_bet; cout << "恭喜中獎,贏到了【"<<p_bet<<"】~ 您的總賭本尚有【" <<p_mon<<"】元!\n"; }else{ e_los++; p_mon-=p_bet; if ( a+b+c >= 11 ) ch = 'B'; } }else{ ch = 'S'; cout << "是【"<<ch<<"】喔! 恭喜莊家贏了【"<<p_bet<< "】。現在您剩【" <<p_mon<<"】元\n"; } cout<<"再玩一次嗎 ??? (Y)\n"; cin>>ch; printf("\n"); }while(ch=='y'||ch=='Y');// 輸入y就會再玩一次 cout << "您今日贏了"<< e_win << "次,輸了" << e_los <<"次。" << endl ; cout << "今日累積獎金為" << p_mon << " 元,歡迎下次再度光臨" << endl ; system("PAUSE"); return 0; } 以上是我把if內的前後{ }加上再排版的程式 有試過可以執行 除非你真的很有把握看的懂自己寫的層次 不然還是乖乖的吧if裡面的 { } 加上再縮排一下吧 這樣程式也會比較好閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.220.91

04/12 00:07, , 1F
酷斃了 可是他沒有一直跑一直跑 就是..每次遊戲結束後
04/12 00:07, 1F

04/12 00:07, , 2F
詢問玩家是否還要再玩
04/12 00:07, 2F

04/12 00:08, , 3F
SORRY 是最後一次結束後出現的贏幾次輸幾次都是0耶= =a
04/12 00:08, 3F

04/12 00:29, , 4F
我又發現一個很嚴重的問題 不管怎樣 他每次都是出現
04/12 00:29, 4F

04/12 00:29, , 5F
是【S】喔! 恭喜莊家贏了【..... 怎麼會這樣啊?
04/12 00:29, 5F

04/12 00:31, , 6F
你是趕著要交嗎= =
04/12 00:31, 6F

04/12 00:44, , 7F
明天= ="
04/12 00:44, 7F

04/12 00:45, , 8F
請學著用 debugger 去檢查程式流程吧
04/12 00:45, 8F

04/12 00:47, , 9F
對不起...可以請問樓上...那個是甚麼嗎 = =a
04/12 00:47, 9F


04/12 00:48, , 11F
可以一行一行或者一段一段跑程式的工具
04/12 00:48, 11F

04/12 00:49, , 12F
這樣你就會知道程式哪個地方跑的跟你想的不一樣
04/12 00:49, 12F

04/12 00:50, , 13F
謝謝樓上喔^.<
04/12 00:50, 13F
文章代碼(AID): #1BmUyOxn (C_and_CPP)
文章代碼(AID): #1BmUyOxn (C_and_CPP)