2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  VC++課程設(shè)計(jì)報(bào)告</p><p>  姓名 學(xué)號(hào) 班級(jí) </p><p>  任課教師 時(shí)間 </p><p>  所選課題 對(duì)抗游戲 評(píng)定難易級(jí)別 B </p><p>  實(shí)驗(yàn)報(bào)告成績

2、 </p><p><b>  程序功能介紹:</b></p><p>  一個(gè)對(duì)抗游戲,根據(jù)隨機(jī)產(chǎn)生的數(shù)字決定雙方的輸贏。</p><p><b>  程序設(shè)計(jì)要求:</b></p><p>  當(dāng)雙方進(jìn)行對(duì)抗時(shí),游戲者可根據(jù)自身的牌點(diǎn)決定是否繼續(xù)下注,例如拿到A,把握增大,則在計(jì)

3、算機(jī)的牌點(diǎn)出來之前加大賭注,但不超過5點(diǎn)。</p><p>  將雙方牌點(diǎn)的比較擴(kuò)大為兩張牌點(diǎn)之和,若出現(xiàn)一組對(duì)子,則對(duì)子牌點(diǎn)大于任何單牌,若雙方均為對(duì)子,則比較牌點(diǎn)之和。</p><p><b>  源程序結(jié)構(gòu)設(shè)計(jì)圖:</b></p><p><b> ?。?lt;/b></p><p>  主要程序及

4、功能實(shí)現(xiàn):</p><p> ?。?)、首先創(chuàng)建如下一個(gè)類:</p><p>  class CCard</p><p>  {int nCard1,nCard2; //兩張牌</p><p>  static int nLoop; //出牌次數(shù),游戲結(jié)束時(shí)給出總的出牌次數(shù)</p>&

5、lt;p>  static int nScore; //總分</p><p>  static int nWin,nLose;</p><p>  static int nDraw; //輸、贏、平的次數(shù)</p><p>  int nBet; //賭注</p>&l

6、t;p><b>  public:</b></p><p>  CCard(); //構(gòu)造函數(shù)</p><p>  void SetCard(); //出兩張牌</p><p>  void Show(); //顯示牌點(diǎn)</p>

7、<p>  int AddBet(int); //增加賭注,失敗返回0</p><p>  int CheckScore(); //返回玩者的分?jǐn)?shù)</p><p>  void friend Compare(CCard&,CCard&); //友元函數(shù),比較牌點(diǎn)的大小,并顯示結(jié)果</p>&

8、lt;p>  void friend ShowResult(CCard&,CCard&); //友元函數(shù),輸出輸贏結(jié)果及最后積分</p><p><b>  };</b></p><p> ?。?)、對(duì)靜態(tài)成員以及利用構(gòu)造函數(shù)進(jìn)行初始化: </p><p>  int CCard::nLoop=0;</p>

9、<p>  int CCard::nWin=0;</p><p>  int CCard::nLose=0;</p><p>  int CCard::nDraw=0;</p><p>  int CCard::nScore=52;</p><p>  CCard::CCard()</p><p>  {

10、 nCard1,nCard2=0;}</p><p> ?。?)、隨機(jī)產(chǎn)生牌點(diǎn):</p><p>  void CCard::SetCard()</p><p>  { nCard1=rand()%MAX+2;</p><p>  nCard2=rand()%MAX+2;</p><p><b>  }&

11、lt;/b></p><p> ?。?)、建立其余成員函數(shù):</p><p>  void CCard::Show() //顯示雙方的牌</p><p>  { if(nCard1==11)</p><p>  cout<<"J"<<'

12、\t';</p><p>  else if(nCard1==12)</p><p>  cout<<"Q"<<'\t';</p><p>  else if(nCard1==13)</p><p>  cout<<"k"<<

13、9;\t';</p><p>  else if(nCard1==14)</p><p>  cout<<"A"<<'\t';</p><p><b>  else</b></p><p>  cout<<nCard1<<'

14、;\t';</p><p>  if(nCard2==11)</p><p>  cout<<"J"<<endl;</p><p>  else if(nCard2==12)</p><p>  cout<<"Q"<<endl;</p>

15、<p>  else if(nCard2==13)</p><p>  cout<<"k"<<endl;</p><p>  else if(nCard2==14)</p><p>  cout<<"A"<<endl;</p><p><

16、;b>  else</b></p><p>  cout<<nCard2<<endl;</p><p><b>  }</b></p><p>  int CCard::AddBet(int a) //下賭注</p><p>  { i

17、f(a>=1&&a<=5)</p><p><b>  return a;</b></p><p>  else return 0;</p><p><b>  }</b></p><p>  int CCard::CheckScore()</p><

18、p>  { return nScore;}</p><p> ?。?)、建立友元函數(shù):</p><p>  void Compare(CCard&player,CCard&comp) //比較牌的大小</p><p>  { int a=player.nCard1+player.nCard2;</p><p&

19、gt;  int b=comp.nCard1+comp.nCard2;</p><p><b>  if(a>b) </b></p><p>  { cout<<"恭喜!你贏了!"<<endl;</p><p>  player.nScore+=c;</p><p>  

20、if(c==0)player.nScore++;</p><p>  ++player.nWin;</p><p><b>  }</b></p><p>  else if(a<b)</p><p>  { cout<<"很遺憾,你輸了!"<<endl;</p&g

21、t;<p>  player.nScore-=c;</p><p>  if(c==0)player.nScore--;</p><p>  ++player.nLose;</p><p><b>  }</b></p><p><b>  else </b></p>&

22、lt;p>  { cout<<"勢(shì)均力敵"<<endl;</p><p>  ++player.nDraw;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void ShowResult(CCa

23、rd&player,CCard&comp) //輸出最后的結(jié)果和最后積分</p><p>  { if(player.nCard1==player.nCard2)</p><p>  { if(comp.nCard1!=comp.nCard2)</p><p>  { cout<<"恭喜!你贏了!"

24、<<endl;</p><p>  player.nScore+=c;</p><p>  if(c==0)player.nScore++;</p><p>  ++player.nWin;</p><p><b>  }</b></p><p>  if(comp.nCard1==c

25、omp.nCard2)</p><p>  Compare(player,comp);</p><p><b>  }</b></p><p><b>  else</b></p><p>  { if(comp.nCard1==comp.nCard2)</p><p>  

26、{cout<<"很遺憾,你輸了!"<<endl;</p><p>  player.nScore-=c;</p><p>  if(c==0)player.nScore--; </p><p>  ++player.nLose;</p><p><b>  }</b></

27、p><p>  else Compare(player,comp);</p><p><b>  }</b></p><p>  cout<<"你贏了"<<player.nWin<<"回"<<endl;</p><p>  cout<

28、;<"你平局了"<<player.nDraw<<"回"<<endl;</p><p>  cout<<"你輸了"<<player.nLose<<"回"<<endl;</p><p>  cout<<"

29、你的最后積分是:"<<player.nScore<<"分"<<endl; </p><p>  cout<<"你用了"<<++player.nLoop<<"輪"<<endl;</p><p><b>  }</b>&

30、lt;/p><p> ?。?)、設(shè)計(jì)主程序,創(chuàng)建兩個(gè)類對(duì)象代表玩家和計(jì)算機(jī)并通過類對(duì)象調(diào)用CCard類:</p><p>  void main()</p><p><b>  { int a;</b></p><p>  CCard player;CCard comp;</p><p>  sra

31、nd(time(NULL));</p><p>  cout<<endl<<"準(zhǔn)備開始!"<<endl<<endl;</p><p>  player.SetCard();</p><p>  comp.SetCard();</p><p>  cout<<&qu

32、ot;你的牌是兩張";</p><p>  player.Show();</p><p>  cout<<"你可以增加賭注,但不超過5點(diǎn),放棄請(qǐng)輸入不在范圍內(nèi)的任意數(shù)字,請(qǐng)輸入:"<<endl;</p><p><b>  cin>>a;</b></p><p

33、>  c=player.AddBet(a);</p><p>  cout<<"計(jì)算機(jī)有兩張";</p><p>  comp.Show();</p><p>  ShowResult(player,comp);</p><p>  switch(player.CheckScore())</p>

34、;<p>  { case 0:</p><p><b>  case 52:</b></p><p>  cout<<endl<<"游戲結(jié)束!謝謝參與."<<endl;break;</p><p><b>  default:</b></p&g

35、t;<p>  cout<<endl<<"繼續(xù)1[退出0]"<<endl;</p><p><b>  cin>>x;</b></p><p>  if(x==1) main();</p><p>  break; </p><p>

36、;<b>  }</b></p><p><b>  五、反思與總結(jié):</b></p><p>  1、通過C++的課程實(shí)踐,我對(duì)于課本上抽象的概念有了進(jìn)一步的了解,如一開始我直接在類外引用類中的私有成員,就是沒有對(duì)類的封裝性有一個(gè)很好的認(rèn)識(shí)。通過這個(gè)錯(cuò)誤,我真正對(duì)類的特性有了切身的體驗(yàn);</p><p>  2、增強(qiáng)了我

37、的自主學(xué)習(xí)能力。對(duì)抗游戲的程序中大量涉及到友元函數(shù),這一知識(shí)老師剛剛講解完,沒有實(shí)際編程的經(jīng)驗(yàn),這促使我不得不深入了解并掌握這些相關(guān)知識(shí)。而且在做這個(gè)設(shè)計(jì)之前,要對(duì)書中提供的所有源代碼都要有一定的理解,這樣才能完成最初的選題工作;</p><p>  3、激發(fā)了我學(xué)習(xí)C++的興趣。上學(xué)期學(xué)的都是基礎(chǔ)概念,使我不能感覺到C++真正的作用。但是這次的編程讓我看到了C++強(qiáng)大的功能和在軟件世界里無可替代的作用,從而喚醒

溫馨提示

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

評(píng)論

0/150

提交評(píng)論