c++程序設計 對抗游戲_第1頁
c++程序設計 對抗游戲_第2頁
c++程序設計 對抗游戲_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、實驗目的:

C++課程設計報告對抗游戲c++程序設計的理解,了解程序設計的流程。增強對程序模塊化思想的概念二、實驗內容:閱讀程序設計要求和源代碼,理解和分類各部分的功能。設計一個類內定義的函數(shù),實現(xiàn)增加賭注的功能。設計友元函數(shù)實現(xiàn)比大小的功能和輸出結果功能。main三、實驗環(huán)境:VC++6.0四、算法或核心技術介紹:利用類,實現(xiàn)各部分的定義。if五、附件程序代碼如下:#include"iostream"#include"math.h"#include"stdlib.h"#include"ctime"usingnamespacestd;intflag;classCCard{intnCard1,nCard2;//兩張牌staticintnLoop;intnScore;總分intnWin,nLose;staticnDraw;//贏,輸,平的次數(shù)intnBet;//賭注public:intBet;CCard();//構造函數(shù)intSetCard();//出兩張牌voidShow();//顯示牌點intAddBet(int);//增加賭注,失敗返回0voidfriendCompare(CCard&,CCard&);//友元函數(shù),比較牌點大小,并顯示結果voidfriendShowResult(CCard&,CCard&);//友元函數(shù),輸出輸贏結果及最后積分};intCCard::nDraw=0;intCCard::nLoop=0;CCard::CCard(){nScore=20;Bet=nScore;nWin=0;nLose=0;nBet=0;}intCCard::SetCard(){for(inti=0;i<=100000000;i++);srand((unsigned)time(0));nCard1=(rand()%13+1);nCard2=(rand()%13+1);returnnCard1;}voidCCard::Show(){if(nCard1>1&&nCard1<=10)cout<<nCard1<<"elseswitch(nCard1){case1:{nCard1=1;cout<<"A"<<" case11:{cout<<"J"<<" ";break;}case12:{cout<<"Q"<<" ";break;}case13:{cout<<"K"<<" ";}}if(nCard2>1&&nCard2<=10)cout<<nCard2<<" ";elseswitch(nCard2){case1:{nCard2=1;cout<<"A"<<" case11:{cout<<"J"<<" ";break;}case12:{cout<<"Q"<<" ";break;}case13:{cout<<"K"<<" ";} cout<<endl;}intCCard::AddBet(inta){nBet=a;if(nBet>nScore||nBet<1){return0;}return1;}void Compare(CCard& user,CCard&computer){if((user.nCard1==user.nCard2)&&(computer.nCard1!=computer.nCard2)){user.nScore+=computer.nBet; user.nLoop++;computer.nLoop++;user.nWin++;computer.nLose++;user.Bet=user.nScore;computer.Bet=computer.nScore;if(computer.nScore<=0){ShowResult(user,computer);return;} cout<<""<<endl;}elseif((user.nCard1!=user.nCard2)&&(computer.nCard1==computer.nCard2)){computer.nScore+=user.nBet;user.nScore-=user.nBet;user.nLoop++;computer.nLoop++;computer.nWin++;user.nLose++;user.Bet=user.nScore;computer.Bet=computer.nScore;if(user.nScore<=0){ShowResult(user,computer);return;}~"<<endl;}else{if((user.nCard1+user.nCard2)>(computer.nCard1+computer.nCard2)){ user.nScore+=computer.nBet; user.nLoop++;computer.nLoop++;user.nWin++;computer.nLose++;user.Bet=user.nScore;computer.Bet=computer.nScore;if(computer.nScore<=0){ShowResult(user,computer);return;} cout<<""<<endl;}elseif((user.nCard1+user.nCard2)<(computer.nCard1+computer.nCard2)){computer.nScore+=user.nBet;user.nScore-=user.nBet;user.nLoop++;computer.nLoop++;computer.nWin++;user.nLose++;user.Bet=user.nScore;computer.Bet=computer.nScore;if(user.nScore<=0){ShowResult(user,computer);return;}~"<<endl;}else{ cout<<""<<endl;user.nLoop++;computer.nDraw++;}}}voidShowResult(CCard&user,CCard&computer){cout<<"---------------游戲結束!結果: "<<endl;if(user.nScore<=0),!"<<endl;elsecout<<"!"<<endl;cout<<"出牌數(shù):"<<user.nLoop<<endl;cout<<"玩家積分:"<<user.nScore<<endl;cout<<"玩家勝的次數(shù):"<<user.nWin<<endl;cout<<"玩家負的次數(shù):"<<user.nLose<<endl;cout<<"玩家平的次數(shù):"<<user.nDraw<<endl;cout<<"計算機積分:"<<computer.nScore<<endl;cout<<"計算機勝的次數(shù):"<<computer.nWin<<endl;cout<<"計算機負的次數(shù):"<<computer.nLose<<endl;cout<<" "<<endl;flag=1;user.nLoop=0;user.nDraw=0;cout<<"游戲結束,按任意鍵退出"<<endl;system("pause");}voidmain(){select:flag=0;intstart,ucard,ccard,bet,cont,sel=1;//sel=0,玩家下注,sel=1,//cardcharch;CCarduser,computer;cout<<"開始游戲請按1"<<" "<<"放棄請選0"<<endl;bingin:if(flag==1){ system("cls");gotoselect;}cin>>start;switch(start){case1:{cout<<"開始發(fā)牌,期待一下吧……";user.SetCard();ucard=user.SetCard();computer.SetCard();ccard=computer.SetCard();break;}case0:{exit(0);}}cout<<endl;cout<<"你的第一張牌是:"<<endl;////////////if(ucard<=10&&ucard>1)cout<<ucard;else{switch(ucard){case1:cout<<" break;case11:cout<<" break;case12:cout<<" break;case13:cout<<" K";}}cout<<endl;}

cout<<"是否選擇下注:"<<endl;cout<<"選1下注,選0放棄"<<endl;cin>>cont;switch(cont){case0:{sel=0;gotonextplayer;}cout<<"你現(xiàn)在還有"<<user.Bet<<"賭注"<<endl;bet:cout<<"請押賭注"<<endl;cin>>bet;if(bet>5){cout<<"5gotobet;}if(!(user.AddBet(bet)&&computer.AddBet(bet))){ cout<<"0"<<endl;gotobet;}nextplayer:if(sel==0){switch(ccard){case14:{bet=5;break;}case13:{bet=3;break;}case12:{bet=2;break;}case11:{bet=1;break;}case10:{bet=4;break;}case9:{bet=1;break;}case8:{bet=3;break;}case7:{bet=4;break;}case6:{bet=5;break;}case5:{bet=1;break;}case4:{bet=5;break;}case3:{bet=2;break;}case2:{bet=3;break;}}while(!(user.AddBet(bet)&&computer.AddBet(bet))){bet--;}cout<<""<<bet<<",你是否接受Y/N"<<endl;cin>>ch;switch(ch){case'Y':{ case'y':{break; case'N':{ }case'n':{cout<<"10"<<endl;sel=1;gotobreak;}}sel=1;}cout<<"押注成功"<<endl;cout<<"繼續(xù)請選1"<<endl;cout<<"放棄請選0"<<endl;scanf("%d",&cont);switch(cont

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論