Board logo

標題: 猜拳遊戲 (二) [打印本頁]

作者: tonyh    時間: 2012-9-29 14:19     標題: 猜拳遊戲 (二)

本帖最後由 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. }
複製代碼

作者: 黃博鴻    時間: 2012-9-29 15:16

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     int computer;
  6.     int player;
  7.     int win=0, lose=0, even=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.       even++;      
  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.     }else if(computer==2)
  36.     {            
  37.      if(player==1)
  38.      {
  39.       cout<<"電腦出石頭,你出剪刀,你輸了!";
  40.       lose++;      
  41.      }else if(player==2)
  42.      {
  43.       cout<<"電腦出石頭,你也出石頭,平手!";
  44.       even++;      
  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.     }else 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.       even++;      
  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 totoal=win+lose+even;
  83.    
  84.     cout<<endl<<"***戰果統計***"<<endl;
  85.     cout<<"總共玩了"<<totoal<<"次, 贏了"<<win<<"次, 輸了"
  86.         <<lose<<"次, 平手"<<even<<"次."<<endl;
  87.     float rate=(win/totoal)*100;
  88.     cout<<"猜贏的機率為"<<rate<<"%.";
  89.     int level=rate/10;
  90.     switch(level)
  91.     {
  92.      case 10: case 9: case 8:
  93.      cout<<"你太神了!";
  94.      break;
  95.      case 7: case 6: case 5:
  96.      cout<<"你好厲害!";
  97.      break;
  98.      case 4:
  99.      cout<<"你運還不錯!";
  100.      break;
  101.      case 3:
  102.      cout<<"你運氣在正常範圍內!";
  103.      break;
  104.      case 2:
  105.      cout<<"你有一點背!";
  106.      break;
  107.      case 1:
  108.      cout<<"你去轉轉運吧!";
  109.      break;
  110.      case 0:
  111.      cout<<"你是不是天天踩到狗屎啊?我不知道要如何說你了...";
  112.      break;                  
  113.     }cout<<endl;     
  114.      
  115.     system("pause");
  116.     return 0;
  117. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2