Board logo

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

作者: 王瑞喻    時間: 2019-11-14 17:41     標題: 猜拳遊戲 (四)

本帖最後由 王瑞喻 於 2019-11-28 00:54 編輯

需求說明:
1. 為程式加上一個適當的標題 (如: *** 猜拳遊戲 v1.0 ***)
2. 要有判斷輸入錯誤的機制
3. 加上戰果統計, 顯示總共贏了幾次, 輸了幾次, 平手幾次.

本帖隱藏的內容需要回復才可以瀏覽

作者: 洪榜蔓    時間: 2019-11-16 11:50

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a, b;
  7.     int win=0,lose=0,draw=0;
  8.     srand(time(NULL));
  9.     string name[]={"剪刀","石頭","布"};
  10.     cout<<"猜拳遊戲"<<endl;
  11.     start:
  12.     cout<<endl<<"請出拳! (1)剪刀 (2)石頭 (3)布 (0)結束"<<endl;
  13.     cin>>a;
  14.     if(a==0)
  15.         goto end;
  16.     else if(a>=1 && a<=3)
  17.     {
  18.        b=rand()%3+1;
  19.         cout<<"你出: "<<name[a-1]<<endl;
  20.         cout<<"電腦出: "<<name[b-1]<<endl;
  21.         if((a==1 && b==3)||(a==2 && b==1)||(a==3 && b==2))
  22.     {
  23.          cout<<"你贏了"<<endl;
  24.          win++;                                 
  25.     }
  26.     if((b==1&&a==3)||(b==2&&a==1)||(b==3&&a==2))
  27.     {
  28.          cout<<"你輸了"<<endl;  
  29.          lose++;                                   
  30.     }
  31.     if(a==b)
  32.     {
  33.     cout<<"平手"<<endl;
  34.         draw++;   
  35.     }
  36.         goto start;
  37.     }else
  38.     {
  39.         cout<<"輸入錯誤!"<<endl;
  40.         goto start;     
  41.     }
  42.     end:
  43.     cout<<endl<<"戰果統計"<<endl;
  44.     cout<<"總共贏了"<<win<<"次, 輸了"<<lose<<"次, 平手"<<draw<<"次!"<<endl<<endl;
  45.     system("pause");
  46.     return 0;   
  47. }
複製代碼

作者: 郭哲維    時間: 2019-11-16 11:55

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a, b;
  7.     int win=0,lose=0,draw=0;
  8.     srand(time(NULL));
  9.     string name[]={"剪刀","石頭","布"};
  10.     cout<<"猜拳遊戲"<<endl;
  11.     start:
  12.     cout<<endl<<"請出拳! (1)剪刀 (2)石頭 (3)布 (0)結束"<<endl;
  13.     cin>>a;
  14.     if(a==0)
  15.         goto end;
  16.     else if(a>=1 && a<=3)
  17.     {
  18.        b=rand()%3+1;
  19.         cout<<"你出: "<<name[a-1]<<endl;
  20.         cout<<"電腦出: "<<name[b-1]<<endl;
  21.         if((a==1 && b==3)||(a==2 && b==1)||(a==3 && b==2))
  22.     {
  23.          cout<<"你贏了"<<endl;
  24.          win++;                                 
  25.     }
  26.     if((b==1&&a==3)||(b==2&&a==1)||(b==3&&a==2))
  27.     {
  28.          cout<<"你輸了"<<endl;  
  29.          lose++;                                   
  30.     }
  31.     if(a==b)
  32.     {
  33.     cout<<"平手"<<endl;
  34.         draw++;   
  35.     }
  36.         goto start;
  37.     }else
  38.     {
  39.         cout<<"輸入錯誤!"<<endl;
  40.         goto start;     
  41.     }
  42.     end:
  43.     cout<<endl<<"戰果統計"<<endl;
  44.     cout<<"總共贏了"<<win<<"次, 輸了"<<lose<<"次, 平手"<<draw<<"次!"<<endl<<endl;
  45.     system("pause");
  46.     return 0;   
  47. }
複製代碼

作者: 王建葦    時間: 2019-11-16 11:58

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"---猜拳系統(Beta1.5.0)---"<<endl;
  8.     int win=0,lost=0,s=0;
  9.     re:
  10.     srand(time(NULL));
  11.     int computer,player,i;
  12.     string c[]= {"剪刀","石頭","布"};  
  13.     cout<<"請出拳!"<<" (1)"<<c[0]<<"(2) "<<c[1]<<"(3) "<<c[2]<<"(4) 結束"<<" :";              
  14.     cin>>player;
  15.     if(player<4)
  16.     {
  17.         goto rw;
  18.     }else if(player==4)
  19.     {
  20.         goto end;            
  21.     }else if(player>4)
  22.     {
  23.         cout<<"輸入錯誤"<<endl;
  24.         goto re;
  25.     }
  26.     rw:
  27.     computer=rand()%3+1;
  28.     computer=computer-1;
  29.     player=player-1;
  30.     cout<<"你出"<<c[player]<<"!"<<endl;
  31.     cout<<"電腦出"<<c[computer]<<"!"<<endl;
  32.     if(computer==player)
  33.     {
  34.           cout<<"平手!"<<endl;
  35.           s=s+1;
  36.                   cout<<endl<<endl;
  37.           goto re;              
  38.     }else if(player==0&&computer==2||player==1&&computer==0||player==2&&computer==1)
  39.     {
  40.           cout<<"你贏了!"<<endl;
  41.           win=win+1;
  42.           cout<<endl<<endl;
  43.           goto re;
  44.     }else
  45.     {
  46.               cout<<"你輸了!"<<endl;
  47.           lost=lost+1;
  48.               cout<<endl<<endl;
  49.           goto re;
  50.         }
  51.    
  52.     end:
  53.         cout<<"---戰果統計---"<<endl;
  54.         cout<<"贏"<<win<<"場 輸"<<lost<<"場 合局"<<s<<"場"<<endl;
  55.    
  56.        
  57.         system("pause");   
  58.     return 0;
  59. }
複製代碼

作者: 黃傳耀    時間: 2019-11-16 11:59

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     int computer,player,win = 0,lost=0;
  8.     srand(time(NULL));
  9.     string name [4]= {"剪子","石子","布","over"};
  10.     cout<<"出拳(1)剪子(2)石子(3)布(4)over";
  11.     cin>>player;
  12.     if(player == 1||player == 2||player == 3)
  13.     {   
  14.         computer = rand()%3+1;        
  15.         cout<<"你出"<<name[player-1];
  16.         cout<<endl;
  17.         cout<<"電腦出"<<name[computer-1];
  18.         if(player == 1)
  19.         {
  20.             if(computer == 1)
  21.                 cout<<"Again!";
  22.             if(computer == 2)
  23.             {
  24.                 cout<<"You Lost!";
  25.                 lost+=1;
  26.             }
  27.             if(computer == 3)
  28.             {
  29.                 cout<<"You Win!";
  30.                 win+=1;
  31.             }         
  32.         }
  33.         if(player == 2)
  34.         {
  35.             if(computer == 2)
  36.                 cout<<"Again!";
  37.             if(computer == 3)
  38.             {
  39.                 cout<<"You Lost!";
  40.                 lost+=1;
  41.             }
  42.             if(computer == 1)
  43.             {
  44.                 cout<<"You Win!";
  45.                 win+=1;
  46.             }         
  47.         }
  48.         if(player == 3)
  49.         {
  50.             if(computer == 3)
  51.                 cout<<"Again!";
  52.             if(computer == 1)
  53.             {
  54.                 cout<<"You Lost!";
  55.                 lost+=1;
  56.             }
  57.             if(computer == 2)
  58.             {
  59.                 cout<<"You Win!";
  60.                 win+=1;
  61.             }         
  62.         }
  63.         if(player == 4)
  64.     {
  65.         cout<<"win:"<<win<<" lost:"<<lost<<endl;     
  66.     }
  67.         cout<<endl;
  68.     }
  69.    
  70.     else
  71.         cout<<"You are beach"<<endl;
  72.     goto re;
  73.     system("pause");
  74.     return 0;   
  75. }
複製代碼

作者: 王翎璇    時間: 2019-11-16 12:05

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     cout<<"***猜拳遊戲***"<<endl;
  7.     re:
  8.     srand(time(NULL));
  9.     int player,computer;
  10.     int win=0,lose=0,draw=0;
  11.     string name[4]={"剪刀","石頭","布","結束"};
  12.     cout<<"請出拳  (1)剪刀(2)石頭(3)布(4)結束";
  13.     cin>>player;
  14.     computer=rand()%3+1;
  15.     cout<<"你出"<<name[player-1]<<endl;
  16.    
  17.     cout<<"電腦出"<<name[computer-1]<<endl;
  18.    
  19.     if(player==computer)
  20.     {   
  21.          cout<<"平手"<<endl;
  22.         draw++;
  23. }
  24.     else if((player==1&&computer==3)||(player==2&&computer==1)||(player==3&&computer==2))
  25.     {
  26.         cout<<"你贏!"<<endl;
  27.         win++;
  28. }
  29.     else
  30.     {   cout<<"電腦贏!"<<endl;
  31.         lose++;
  32.         }
  33.     cout<<endl<<endl;
  34.     goto re;
  35.     finish:
  36.     cout<<"***結算***"<<endl;
  37.     cout<<"贏了"<<win<<"次,"<<"輸了"<<lose<<"次,"<<"平手"<<draw<<"次!"<<endl;
  38.    
  39.     cout<<endl<<endl;
  40.    
  41.    
  42.     system("pause");
  43.     return 0;
  44. }
複製代碼

作者: 曾宥程    時間: 2019-11-16 12:12

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     cout<<"*****猜拳3缺1*****"<<endl;
  7.     int P1,com,win=0,lose=0,draw=0;
  8.     re:
  9.         srand(time(NULL));
  10.         string name[3]={"剪刀","石頭","布",};
  11.         cout<<"請出拳!!! <1>剪刀<2>石頭<3>布<0>結束  :";
  12.         cin>>P1;   
  13.         if(P1==0)
  14.         {
  15.             goto final;   
  16.         }else if(P1>=1 && P1<=3)
  17.         {
  18.         cout<<"你出"<<name[P1-1]<<endl;
  19.         com=rand()%3+1;
  20.         cout<<"電腦出"<<name[com-1]<<endl;
  21.         if(P1==com)
  22.         {
  23.             draw++;
  24.             cout<<"你們平手"<<endl;     
  25.         }else if(P1==1 && com==3 || P1==2 && com==1 || P1==3 && com==2)
  26.         {
  27.             win++;
  28.             cout<<"你贏了!!!!!!!!!!教師節快樂!!!!!!!!!!!!!!!!!!";
  29.         }else
  30.         {
  31.             lose++;
  32.             cout<<"你輸了!!!!!!!!!!光棍節快樂!!!!!!!!!!!!!!! 87"<<endl;
  33.         }
  34.         cout<<endl<<endl;
  35.         goto re;      
  36.     }else
  37.     {
  38.         cout<<"輸入錯誤!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
  39.         goto re;
  40.     }
  41.      
  42.     final:
  43.     cout<<"*****結果*****"<<endl;
  44.     cout<<"你贏了"<<win<<"場,輸了"<<lose<<"場,平手"<<draw<<"場"<<endl;      
  45.          
  46.     system ("pause");   
  47.     return 0;
  48. }   
複製代碼

作者: 鄭羽捷    時間: 2019-11-16 12:13

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     cout<<"☆★☆猜拳遊戲☆★☆"<<endl;
  8.     srand(time(NULL));
  9.     int player,comuter;
  10.     int win=0,lose=0,draw=0;
  11.     cout<<"請出拳!(1)剪刀(2)石頭(3)布(0)結束";
  12.     string name[3]={"剪刀","石頭","布"};
  13.     cin>>player;
  14.     comuter=rand()%3+1;
  15.     cout<<"你出"<<name[player-1]<<endl;
  16.     cout<<"電腦出"<<name[comuter-1]<<endl;
  17.     {
  18.     if(player==comuter)
  19.         cout<<"平手"<<endl;
  20.         draw++;
  21.     }else if((player==1 && comuter==3)||(player==2 && comuter=1)||(player==3 && comuter==2))
  22.     {
  23.         cout<<"你贏了"<<endl;
  24.         win++;
  25.     }else
  26.     {
  27.         cout<<"你輸了"<<endl;
  28.         lose++;
  29.     }else
  30.     {
  31.         cout<<"輸入錯誤";
  32.         goto re;
  33.     }
  34.     end:
  35.     cout<<"☆★☆戰果統計☆★☆"
  36.     cout<<"總共贏了"<<win<<"次,輸了"<<lose<<"次,平手"<<draw<<"次"<<endl;
  37.     system("pause");
  38.     return 0;
  39. }
複製代碼

作者: 林孟蓁    時間: 2019-11-18 20:37

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int player,computer,win=0,lose=0,draw=0;
  8.     string name[3]={"剪刀","石頭","布"};
  9.     cout<<"★☆★猜拳遊戲★☆★"<<endl;
  10.     re:
  11.     cout<<"請出拳! (1)剪刀(2)石頭(3)布(0)結束 :";
  12.     cin>>player;
  13.     if(player==0)
  14.     {
  15.         goto end;
  16.     }else if(player>=1&&player<=3)
  17.     {
  18.         computer=rand()%3+1;
  19.         cout<<"你出"<<name[player-1]<<endl;
  20.         cout<<"電腦出"<<name[computer-1]<<endl;
  21.         if(player==computer)
  22.         {
  23.             cout<<"平手!"<<endl;
  24.             draw++;
  25.         }else if((player==1&&computer==3)||(player==2&&computer==1)||(player==3&&computer==2))
  26.         {
  27.             cout<<"你贏了!"<<endl;
  28.             win++;
  29.             
  30.             
  31.         }else
  32.         {
  33.              cout<<"電腦贏了!"<<endl;
  34.              lose++;  
  35.         }
  36.         cout<<endl;
  37.         goto re;
  38.     }else
  39.     {
  40.         cout<<"輸入錯誤!"<<endl;
  41.         goto re;   
  42.     }
  43.     end:
  44.         cout<<endl<<"★☆★戰果統計★☆★"<<endl;
  45.         cout<<"總共贏了"<<win<<"次,輸了"<<lose<<"次,平手"<<draw<<"次!"<<endl;
  46.     system("pause");
  47.     return 0;
  48. }
複製代碼

作者: 蔡少宇    時間: 2019-11-23 10:02

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     srand(time(NULL));
  7.     int player,computer,win=0,lose=0,draw=0;
  8.     string name[3]={"剪刀","石頭","布"};
  9.     cout<<"★☆★猜拳遊戲★☆★"<<endl;
  10.     re:
  11.     cout<<"請出拳! (1)剪刀(2)石頭(3)布(0)結束 :";
  12.     cin>>player;
  13.     if(player==0)
  14.     {
  15.         goto end;
  16.     }else if(player>=1&&player<=3)
  17.     {
  18.         computer=rand()%3+1;
  19.         cout<<"你出"<<name[player-1]<<endl;
  20.         cout<<"電腦出"<<name[computer-1]<<endl;
  21.         if(player==computer)
  22.         {
  23.             cout<<"平手!"<<endl;
  24.             draw++;
  25.         }else if((player==1&&computer==3)||(player==2&&computer==1)||(player==3&&computer==2))
  26.         {
  27.             cout<<"你贏了!"<<endl;
  28.             win++;
  29.             
  30.             
  31.         }else
  32.         {
  33.              cout<<"電腦贏了!"<<endl;
  34.              lose++;  
  35.         }
  36.         cout<<endl;
  37.         goto re;
  38.     }else
  39.     {
  40.         cout<<"輸入錯誤!"<<endl;
  41.         goto re;   
  42.     }
  43.     end:
  44.         cout<<endl<<"★☆★戰果統計★☆★"<<endl;
  45.         cout<<"總共贏了"<<win<<"次,輸了"<<lose<<"次,平手"<<draw<<"次!"<<endl;
  46.     system("pause");
  47.     return 0;
  48. }
複製代碼

作者: 陳宇柏    時間: 2019-11-23 10:09

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     cout<<"猜拳遊戲"<<endl;
  7.     srand(time(NULL));
  8.     int player,computer;
  9.     int win=0,lose=0,tie=0;
  10.     string name[3]={"剪刀","石頭","布"};
  11.     cout<<"請出拳! (1)剪刀(2)石頭(3)布(0)結束 :";
  12.     if(player==0)
  13.     goto end;
  14.     cin>>player;
  15.     computer=rand()%3+1;
  16.     cout<<"你出"<<name[player-1]<<endl;
  17.     cout<<"電腦出"<<name[computer-1]<<endl;
  18.     if(player==computer)
  19.     {
  20.       cout<<"平手!!!"<<endl;
  21.       tie+=1;                  
  22.     }
  23.     if((player==1&&computer==3)||(player==2&&computer==1)||(player==3&&computer==2))
  24.     {
  25.       cout<<"你贏了!!!"<<endl;
  26.       win+=1;                  
  27.     }
  28.     else
  29.     {
  30.       cout<<"你輸了!!!"<<endl;
  31.       lose+=1;   
  32.     }
  33.     end:
  34.         {
  35.           cout<<"戰果統計"<<endl;
  36.           cout<<"贏了"<<win<<"次"<<"輸了"<<lose<<"次"<<"平手了"<<tie<<"次"<<endl<<
  37.                     
  38.                   
  39.         }
  40.     system("pause");
  41.     return 0;
  42. }
複製代碼

作者: 洪子涵    時間: 2019-12-14 12:05

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int you,cm,w=0,l=0,ev=0;
  7.     string gt[3]={"剪刀","石頭","布"};
  8.     srand(time(NULL));
  9.     re:
  10.     cout<<"請出拳! (1)剪刀  (2)石頭  (3)布   (0)離開   妳出: ";
  11.     cin>>you;
  12.     if(you>3||you<0){
  13.                       cout<<"輸入錯誤! "<<endl;
  14.                       goto re;
  15.     }else if(you==0)
  16.                     goto re1;
  17.     you--;
  18.     cm=rand()%3;
  19.     cout<<"你出"<<gt[you]<<endl;
  20.     cout<<"電腦出"<<gt[cm]<<endl;
  21.     if(you==1&&cm==1||you==2&&cm==2||you==0&&cm==0){
  22.         cout<<"平手!\n";
  23.         ev++;
  24.     }
  25.     else if(you==1&&cm==0||you==2&&cm==1||you==0&&cm==2){
  26.         cout<<"你贏了!\n";
  27.         w++;
  28.     }
  29.     else{
  30.         cout<<"你輸了!\n";
  31.         l++;
  32.     }
  33.     goto re;
  34.     re1:
  35.     cout<<"---戰果統計---\n總共贏了"<<w<<"次,輸了"<<l<<"次,"<<"平手"<<ev<<"次\n" ;
  36.     system("pause");
  37.     return 0;
  38. }
複製代碼

作者: 駱顗安    時間: 2020-8-20 19:31

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     cout<<"*** 猜拳遊戲 v1.0 ***"<<endl<<endl;
  7.     string n[]={"剪刀","石頭","布"},
  8.            m[]={"平手!","你贏了!","你輸了!"};
  9.     int box[3]={0,0,0};    //平手 贏 輸
  10.     re:
  11.     srand(time(NULL));
  12.     int player,computer;   
  13.     cout<<"請出拳! (1)剪刀(2)石頭(3)布(0)結束";
  14.     cin>>player;
  15.     if(player<=3&&player>=1)
  16.     {
  17.         computer=rand()%3+1;   
  18.         cout<<"你出"<<n[player-1]<<endl;
  19.         cout<<"電腦出"<<n[computer-1]<<endl;
  20.         cout<<m[(player+3-computer)%3]<<endl<<endl;
  21.         box[(player+3-computer)%3]=box[(player+3-computer)%3]+1;
  22.     }
  23.     else if(player==0)
  24.     {
  25.         cout<<endl<<"*** 戰果統計 ***"<<endl;
  26.         cout<<"總共贏了"<<box[1]<<"次,輸了"<<
  27.         box[2]<<"次,平手"<<box[0]<<"次!"<<endl;
  28.         system("pause");
  29.         return 0;
  30.     }
  31.     else
  32.         cout<<"輸入錯誤!"<<endl<<endl;
  33.     goto re;
  34. }
複製代碼





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