本帖最後由 鄭繼威 於 2023-7-7 20:54 編輯
1. 在比賽首頁顯示第幾局
2. 在比賽結束頁顯示哪一位選手勝出
法1:看哪隻馬跑到終點(s==73),就代表他贏- #include<iostream>
- #include<cstdlib>
- #include<ctime>
- using namespace std;
- int main()
- {
- int round=1;
-
- re:
- system("cls");
-
- int s[]={0,0,0,0}; //存放進度用的
- string n[]={"◆","★","▲","●"}; //存放馬用的
- srand(time(NULL));
- cout<<"「好事成雙」賽馬場 round:"<<round<<endl;
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
- //把馬印出來
- for(int i=0;i<=3;i++)
- {
- cout<<n[i]<<endl;
- }
- system("pause");
- //開始賽馬
- while(true)
- {
- system("cls"); //清空畫面
- int r=rand()%4; //0~3 (抽馬)
- s[r]++; //看電腦抽到哪隻馬就+1
- cout<<"比賽進行中"<<endl;
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
-
- for(int j=0;j<=3;j++)
- {
- for(int i=0; i<=s[j]; i++)
- {
- cout<<" ";
- }
- cout<<n[j]<<endl;
- }
- //
- //抵達終點
- if(s[r]==73)
- break;
- _sleep(0.05);
- }
-
- system("cls");
- for(int i=0;i<=3;i++)
- {
- if(s[i]==73)
- {
- cout<<"比賽結束! 由 "<<n[i]<<" 先馳得點!"<<endl;
- }
-
- }
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
- //印空格(看進度是多少就印多少空格)
- //把馬印出來
- for(int j=0;j<=3;j++)
- {
- for(int i=0; i<=s[j]; i++)
- {
- cout<<" ";
- }
- cout<<n[j]<<endl;
- }
-
- system("pause");
- round++;
- goto re;
- return 0;
- }
複製代碼 法2:取最大數(max)並將馬紀錄下來(win=i;),就代表他贏- #include<iostream>
- #include<cstdlib>
- #include<ctime>
- using namespace std;
- int main()
- {
- int round=1; //局數
-
- re:
- system("cls");
- srand(time(NULL));
- int s[]={0,0,0,0}; //存放進度用的
- string p[]={"◆","★","▲","●"}; //存放馬用的
- int r=0;
- cout<<"「好事成雙」賽馬場 第"<<round<<"局"<<endl;
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
- for(int i=0; i<4; i++)
- cout<<p[i]<<endl; //把馬印出來
- system("pause");
- system("cls"); //清空畫面
- while(s[r]<=73) //開始賽馬
- {
- r=rand()%4; //0~3 (抽馬)
- s[r]++; //看電腦抽到哪隻馬就+1
- cout<<"比賽進行中"<<endl;
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
- for(int i=0; i<4; i++)
- {
- for(int j=0; j<s[i]; j++)
- cout<<" "; //印空格(看進度是多少就印多少空格)
- cout<<p[i]<<endl; //把馬印出來
- }
- _sleep(50);
- system("cls");
- }
- //取最大數
- int max=0,win;
- for(int i=0;i<=3;i++)
- {
- if(max<s[i])
- {
- max=s[i];
- win=i;
- }
- }
-
- cout<<"比賽結束! 由 "<<n[win]<<" 先馳得點!"<<endl;
- cout<<"-------------------------------------------------------------------------| 終點"<<endl;
- for(int i=0; i<4; i++)
- {
-
- for(int j=0; j<s[i]; j++)
- cout<<" ";
- cout<<p[i]<<endl;
- }
- system("pause");
- round++; //局數+1
- goto re;
- return 0;
- }
複製代碼 |