返回列表 發帖

猜拳遊戲 (二)

本帖最後由 tonyh 於 2012-9-29 15:16 編輯

讓使用者輸入0可選擇退出遊戲,
同時顯示戰果統計,
包括了共玩了幾次, 贏幾次, 輸幾次, 平手幾次, 猜贏的機率為幾%.
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     int computer;
  6.     int player;
  7.     int win=0, lose=0, draw=0;
  8.     start:
  9.     cout<<"請輸入你想出的拳, 或輸入0退出遊戲: (1=剪刀 2=石頭 3=布) ";
  10.     cin>>player;
  11.     srand(time(NULL));
  12.     computer=rand()%3+1;
  13.     if(computer==1)
  14.     {
  15.        if(player==1)
  16.        {
  17.            cout<<"電腦出剪刀, 你也出剪刀, 平手!";
  18.            draw++;
  19.        }else if(player==2)
  20.        {
  21.             cout<<"電腦出剪刀, 你出石頭, 你贏了!";
  22.             win++;
  23.        }else if(player==3)
  24.        {
  25.              cout<<"電腦出剪刀, 你出布, 你輸了!";
  26.              lose++;
  27.        }else if(player==0)
  28.        {
  29.              goto over;
  30.        }else
  31.        {
  32.             cout<<"你輸入錯誤!";     
  33.        }   
  34.     }
  35.     if(computer==2)
  36.     {
  37.        if(player==1)
  38.        {
  39.            cout<<"電腦出石頭, 你出剪刀, 你輸了!";
  40.            lose++;
  41.        }else if(player==2)
  42.        {
  43.             cout<<"電腦出石頭, 你也出石頭, 平手!";
  44.             draw++;
  45.        }else if(player==3)
  46.        {
  47.              cout<<"電腦出石頭, 你出布, 你贏了!";
  48.              win++;
  49.        }else if(player==0)
  50.        {
  51.              goto over;
  52.        }else
  53.        {
  54.             cout<<"你輸入錯誤!";     
  55.        }
  56.     }
  57.     if(computer==3)
  58.     {
  59.        if(player==1)
  60.        {
  61.            cout<<"電腦出布, 你出剪刀, 你贏了!";
  62.            win++;
  63.        }else if(player==2)
  64.        {
  65.             cout<<"電腦出布, 你出石頭, 你輸了!";
  66.             lose++;
  67.        }else if(player==3)
  68.        {
  69.              cout<<"電腦出布, 你也出布, 平手!";
  70.              draw++;
  71.        }else if(player==0)
  72.        {
  73.              goto over;
  74.        }else
  75.        {
  76.             cout<<"你輸入錯誤!";     
  77.        }
  78.     }
  79.     cout<<endl<<endl;
  80.     goto start;
  81.     over:
  82.     float total=win+lose+draw;
  83.     cout<<endl<<"***戰績統計***"<<endl;
  84.     cout<<"總共玩了"<<total<<"次, 贏了"<<win<<"次, 輸了"
  85.         <<lose<<"次, 平手"<<draw<<"次."<<endl;
  86.     float rate=win/total*100;
  87.     cout<<"你贏的機率為"<<rate<<"%"<<endl;
  88.     int level=rate/10;     
  89.     switch(level)
  90.     {
  91.         case 8: case 9: case 10:
  92.              cout<<"太神了!"<<endl;
  93.              break;
  94.         case 5: case 6: case 7:
  95.              cout<<"運氣超好的呦!"<<endl;
  96.              break;
  97.         case 4:
  98.              cout<<"運氣很不錯!"<<endl;
  99.              break;
  100.         case 3:
  101.              cout<<"今天運氣在正常範圍內!"<<endl;
  102.              break;
  103.         case 2:
  104.              cout<<"運氣有點背!"<<endl;
  105.              break;
  106.         case 1: case 0:
  107.              cout<<"你今天肯定衰到爆!"<<endl;
  108.              break;
  109.     }
  110.     cout<<endl;
  111.     system("pause");
  112.     return 0;   
  113. }
複製代碼

返回列表