返回列表 發帖

[作業] 猜拳遊戲 進階 (二)

本帖最後由 tonyh 於 2012-1-14 15:50 編輯

再次改良作業中的猜拳遊戲,
讓電腦能回應玩家, 贏的機率, 並針對玩家贏的機率發表評論.
譬如: 贏的機率80%以上時, 電腦回應"哇你好厲害".
        贏的機率高於50%低於80%時, 電腦回應"還不錯喔".
        依此類推, 自由發揮.
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     int computer;
  8.     int player;
  9.     int tryagain;
  10.     float win=0, lose=0, draw=0;
  11.     int rate;
  12.     start:
  13.     srand(time(NULL));
  14.     computer=rand()%3+1;
  15.     cout<<"請輸入你要出的拳 1=剪刀 2=石頭 3=布"<<endl;
  16.     cin>>player;
  17.     if(computer==1)
  18.     {
  19.            if(player==1)
  20.            {
  21.                 cout<<"你出剪刀, 電腦也出剪刀."<<endl<<"平手!"<<endl;
  22.                 draw++;
  23.            }else if(player==2)
  24.            {
  25.                 cout<<"你出石頭, 電腦出剪刀."<<endl<<"你贏了!"<<endl;
  26.                 win++;
  27.            }else if(player==3)
  28.            {
  29.                 cout<<"你出布, 電腦出剪刀."<<endl<<"你輸了!"<<endl;
  30.                 lose++;         
  31.            }else
  32.            {
  33.                  cout<<"輸入錯誤!";
  34.            }
  35.     }
  36.     if(computer==2)
  37.     {
  38.            if(player==1)
  39.            {
  40.                 cout<<"你出剪刀, 電腦出石頭."<<endl<<"你輸了!"<<endl;
  41.                 lose++;  
  42.            }else if(player==2)
  43.            {
  44.                 cout<<"你出石頭, 電腦也出石頭."<<endl<<"平手!"<<endl;
  45.                 draw++;
  46.            }else if(player==3)
  47.            {
  48.                 cout<<"你出布, 電腦出石頭."<<endl<<"你贏了!"<<endl;
  49.                 win++;         
  50.            }else
  51.            {
  52.                  cout<<"輸入錯誤!";
  53.            }
  54.    
  55.     }
  56.     if(computer==3)
  57.     {
  58.            if(player==1)
  59.            {
  60.                 cout<<"你出剪刀, 電腦出布."<<endl<<"你贏了!"<<endl;
  61.                 win++;
  62.            }else if(player==2)
  63.            {
  64.                 cout<<"你出石頭, 電腦出布."<<endl<<"你輸了!"<<endl;
  65.                 lose++;   
  66.            }else if(player==3)
  67.            {
  68.                 cout<<"你出布, 電腦也出布."<<endl<<"平手!"<<endl;
  69.                 draw++;         
  70.            }else
  71.            {
  72.                  cout<<"輸入錯誤!";
  73.            }
  74.     }
  75.     cout<<"再玩一次嗎? 1=是 2=否"<<endl;
  76.     cin>>tryagain;
  77.     if(tryagain==1)
  78.     {
  79.            goto start;   
  80.     }else
  81.     {
  82.            goto end;
  83.     }
  84.     end:
  85.     cout<<"總共贏了"<<win<<"次, 輸了"<<lose<<"次, 平手"<<draw<<"次!"<<endl;
  86.     rate=win/(win+lose+draw)*100;
  87.     cout<<"你贏的機率為"<<rate<<"%"<<endl;
  88.     if(rate>=80)
  89.     {
  90.         cout<<"哇!你好厲害!";
  91.     }else if(rate>=50 && rate<80)
  92.     {
  93.         cout<<"還不錯喔!";
  94.     }else if(rate>=20 && rate<50)
  95.     {
  96.         cout<<"運氣有點背喔!";      
  97.     }else
  98.     {
  99.         cout<<"你也太遜了!";
  100.     }
  101.     cout<<endl;
  102.     system("pause");
  103.     return 0;   
  104. }
複製代碼

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見
May

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見
May

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表