標題:
[專題實作] 超級金頭腦 (二)
[打印本頁]
作者:
葉桔良
時間:
2022-10-21 23:15
標題:
[專題實作] 超級金頭腦 (二)
本帖最後由 葉桔良 於 2022-10-29 16:58 編輯
備註:若課堂上未能完成,當作業!
設計遊戲 "超級金頭腦",
讓使用者計算兩個範圍介於51~99之隨機亂數的和.
參考作法如下:
1. 要有一個起始畫面, 顯示標題與遊戲規則
2. 參賽人數
3. 參賽者姓名
4. 請就位的訊息
5. 測驗中畫面
6. 排名
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int people; //設定人數
srand(time(NULL));
cout<<"*** 超級金頭腦 v1.0 ***"<<endl<<endl;
cout<<"遊戲規則: 電腦隨機出題, 比賽誰能在最短的時間內算對三題!"<<endl<<endl;
cout<<"有幾位挑戰者? ";
cin>>people;
string name[people];
int time[people];
for(int i=0;i<people;i++)
{
system("cls");
cout<<"第 "<<i+1<<" 位挑戰者你好, 請輸入你的大名: ";
cin>>name[i];
cout<<name[i]<<"同學請就位!";
system("pause");
system("cls");
int right=0;
int answer; // 使用者輸入的答案
time[i] = 0;
while(right<3)
{
int x=rand()%49+51; // 設定題目_被加數
int y=rand()%49+51; // 設定題目_加數
int ans_c=x+y; // 正確答案
cout<<x<<" + "<<y<<" = "; // 顯示題目
int t1=clock();
cin>>answer;
int t2=clock();
int pass=t2-t1;
if(answer==ans_c)
{
cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
right = right + 1;
}
else
cout<<"答錯了! "<<"正確答案是. "<<ans_c<<"本題花了"<<pass<<"毫秒思考!"<<endl;
time[i] = time[i] + pass;
cout<<endl;
}
cout<<name[i]<<"同學總共花了"<<time[i]<<"秒!"<<endl;
}
for(int i=0;i<people-1;i++)
{
for(int j=i+1;j<people;j++)
{
if(time[i]>time[j])
{
string tmp1 = name[i];
name[i] = name[j];
name[j] = tmp1;
int tmp2 = time[i];
time[i] = time[j];
time[j] = tmp2;
}
}
}
for(int i=0; i<people; i++)
cout<<"第"<<i+1<<"名\t"<<name[i]<<"\t"<<time[i]<<"毫秒"<<endl;
cout<<endl;
system("pause");
return 0;
}
複製代碼
本帖隱藏的內容需要回復才可以瀏覽
作者:
黃昱琁
時間:
2022-10-22 17:40
此帖僅作者可見
作者:
許浩浩
時間:
2022-10-22 21:16
此帖僅作者可見
作者:
石皓云
時間:
2022-10-26 21:50
此帖僅作者可見
作者:
黃昱琁
時間:
2022-10-29 09:33
此帖僅作者可見
作者:
謝閔丞
時間:
2022-10-29 14:47
此帖僅作者可見
作者:
張駿霖
時間:
2022-10-29 15:15
此帖僅作者可見
作者:
侯宣任
時間:
2022-10-29 15:29
此帖僅作者可見
作者:
郭閎宇
時間:
2022-10-29 17:01
此帖僅作者可見
作者:
孫文康
時間:
2022-10-31 20:55
此帖僅作者可見
作者:
錢冠叡
時間:
2022-11-3 20:47
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2