現(xiàn)實(shí)生活中我們可能會(huì)遇到這樣一種情況:當(dāng)一個(gè)地方出現(xiàn)一個(gè)數(shù)字之后晒来,過(guò)了一會(huì)兒數(shù)字就又消失不見(jiàn)竭宰,而這如果再加上一個(gè)猜數(shù)環(huán)節(jié)就成了我們的計(jì)數(shù)小游戲兼贡,但這小游戲是如何設(shè)計(jì)的呢屡拨?接下來(lái)就讓我們看看吧只酥。
首先我們需要定義一個(gè)數(shù)作為初始的計(jì)數(shù)游戲數(shù)的個(gè)數(shù),然后我們回憶一下呀狼,如果記錯(cuò)那么游戲會(huì)失敗裂允,然后就直接退出,但如果回答正確就會(huì)加一個(gè)數(shù)讓你繼續(xù)挑戰(zhàn)哥艇,因此我們就先在外面套一個(gè)死循環(huán)绝编,即是
int count = 3;
while(1){
}
而后我們想想里面的內(nèi)容首先我們得產(chǎn)生一個(gè)數(shù)字再消失,但如何產(chǎn)生呢她奥?這便需要srand()函數(shù),不過(guò)比較時(shí)因?yàn)閮纱问褂胹rand函數(shù)時(shí)間間隔太長(zhǎng)瓮增,會(huì)導(dǎo)致比較時(shí)出現(xiàn)錯(cuò)誤,所以需要將種子time(NULL)(獲取當(dāng)前系統(tǒng)的時(shí)間信息)定義于開(kāi)始哩俭,記作:unsigned int seed = time(NULL)绷跑,而用它來(lái)定義數(shù)便會(huì)有:
int temp1;
unsigned int seed = time(NULL);
srand(seed);
for(int a = 1;a <= count;a++){
printf("%d",temp1);
}
int temp2;
printf("請(qǐng)輸入你的答案:");
srand(seed);
for(int a = 1;a<= count;a++){
scanf("%d",&temp2);
if(temp2 != temp1){
printf("錯(cuò)誤 退出!");
exit(EXIT_SUCCESS);
}
}
當(dāng)這樣做了之后一切都結(jié)束了是吧凡资?如果這樣做了砸捏,那你就大錯(cuò)特錯(cuò)了,我們回到上面步驟隙赁,當(dāng)輸出值得時(shí)候你就確定輸出的數(shù)一定是隨機(jī)的嗎垦藏?因此我們還需要一個(gè)rand()函數(shù),而數(shù)隨機(jī)了還不夠伞访,我們還需要讓數(shù)在兩秒后消失掂骏,于是就需要在上一圖我所留空白部分加上Sleep(2000);和system("cls");而后再加一個(gè)int old替代int temp1即可
srand(seed);
for(int i = 0; i < count; i++){
int temp2 = rand() % 9 + 1;
printf("%d ",temp2);
}
printf("\n");
Sleep(2000);
int temp;
printf("請(qǐng)輸入:");
srand(seed);
for(int i = 0; i < count; i++){
scanf("%d", &temp);
int old = rand() % 9 + 1;
printf("old:%d\n", old);
if (temp != old){
printf("錯(cuò)誤 退出!\n");
exit(EXIT_SUCCESS);
}
}
count++;