日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.猜数字游戏

發(fā)布時間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.猜数字游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

猜數(shù)字游戲:隨機生成1~100的數(shù),讓用戶去猜。當猜的數(shù)比隨機數(shù)大時,提示“猜大了”;當才的數(shù)比隨機數(shù)小時,提示“猜小了”;猜的數(shù)與隨機數(shù)相同時,提示“猜對了”。

?

1.整體框架

首先,在開始時要有一個菜單,菜單欄中打印出選項:1.paly、0.exit。

然后,玩家輸入選項,當輸入1時,開始游戲;輸入0時,結(jié)束游戲;出去其他數(shù)時,重新輸入。并且將游戲設置成可以循環(huán)玩的,玩完一次后,可以接著玩。

#include<stdio.h>void menu() {printf("******************\n");printf("***** 1.paly *****\n");printf("***** 0.exit *****\n");printf("******************\n"); }int main() {int input = 0;srand((unsigned int)time(NULL));//用srand修飾randdo{menu();printf("請選擇(1/0):>");scanf("%d", &input);switch (input){case 0:printf("退出游戲\n");break;case 1:printf("開始游戲,請猜數(shù)字(1~100)\n");game();//游戲break;default:printf("輸入錯誤,請重新輸入\n");}} while (input);return 0; }

2.游戲部分

當整體框架寫完成后,運行測試一下。測試成功,開始寫游戲部分game()代碼。

游戲部分的設計主要為:系統(tǒng)生成一個數(shù)字——玩家輸入——判斷——猜錯了——提示——重新輸入——判斷——猜對了(或是次數(shù)用盡了)

因為整個過程需要不斷的輸入、判斷,所以需要用到while循環(huán)。(注意:生成隨機數(shù)部分不能放進while循環(huán)中,否則每循環(huán)一次,都將生成新的隨機數(shù))

void game() {int num = rand() % 100 + 1;//生成1~100的隨機數(shù)int guess = 0;int count = 6;while (count--)//6次機會;后置++,先使用再++{printf("請輸入:>\n");scanf("%d", &guess);if (guess > num){printf("猜大了\n");}else if (guess < num){printf("猜小了\n");}else{printf("猜對了\n");Sleep(500);//停止運行500毫秒system("cls");//清空屏幕.......break;}}printf("對不起,機會已用完\n");Sleep(500);//停止運行500毫秒system("cls");//清空屏幕 }

(1)當使用rand()函數(shù)時創(chuàng)建隨機值時,會發(fā)現(xiàn)每次的隨機值都一樣,利用MSDN,查詢可知:

這時需要在主函數(shù)用srand修飾一下rand的函數(shù),利用時間time,來生成一個隨機數(shù)。

srand((unsigned int)time(NULL)),這里(unsigned int)將time的返回值強制類型轉(zhuǎn)換,轉(zhuǎn)成換無符號整型,然后給time傳一個空指針(NULL)即可。使用rand需要包含頭文件<stdlib.h>,使用time需要包含<time.h>。

(2)int num = rand() % 100 + 1,當隨機數(shù)%100時,其范圍是0~99,所以需要再+1。

(3)while (count--),這里指定有count次機會,后置--表示為先使用,再--,當count=0時結(jié)束循環(huán)。

(4)sleep(a)為停止運行a毫秒,system("cls")為清空屏幕,需包含頭文件<windows.h>。

整體代碼如下:

//猜數(shù)字游戲#include<stdio.h> #include<stdlib.h> #include<time.h> #include <windows.h>void menu() {printf("******************\n");printf("***** 1.paly *****\n");printf("***** 0.exit *****\n");printf("******************\n"); }void game() {int num = rand() % 100 + 1;//生成1~100的隨機數(shù)int guess = 0;int count = 6;while (count--)//6次機會;后置++,先使用再++{printf("請輸入:>\n");scanf("%d", &guess);if (guess > num){printf("猜大了\n");}else if (guess < num){printf("猜小了\n");}else{printf("猜對了\n");Sleep(500);//停止運行500毫秒system("cls");//清空屏幕.......break;}}printf("對不起,機會已用完\n");Sleep(500);//停止運行500毫秒system("cls");//清空屏幕 }int main() {int input = 0;srand((unsigned int)time(NULL));//用srand修飾randdo{menu();printf("請選擇(1/0):>");scanf("%d", &input);switch (input){case 0:printf("退出游戲\n");break;case 1:printf("開始游戲,請猜數(shù)字(1~100)\n");game();//游戲break;default:printf("輸入錯誤,請重新輸入\n");}} while (input);return 0; }

如果想將我們制作的游戲發(fā)給同學試玩,將VS中debug改成release,測試并保存,到項目保存的地方找到release文件。?

X86為32位,推薦保存X64,將X64發(fā)給同學可正常運行。

?點擊release——將其中的exe文件發(fā)給同學即可。

總結(jié)

以上是生活随笔為你收集整理的3.猜数字游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。