实战小项目_猜数字小游戏
生活随笔
收集整理的這篇文章主要介紹了
实战小项目_猜数字小游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
猜數字游戲
- 基本功能: 在1-100中間隨機生成一個整型數字,選手進行猜測,直到猜中為止,選手每猜錯一次從總成績中扣除3分,初始成績為100,最低成績為0;
- 隨機數字生成: 利用函數 rand() ,該函數會根據一個初始值(隨機種子)經過一系列的運算產生一個數字序列,隨機種子不變則該數字序列不遍,因此單純利用 rand() 函數不能完全實現產生隨機數,需要借助 srand() 函數每次來生成隨機的初始值(隨機種子),參數帶入當前的時間戳(因為時間戳是一個每時刻都不相同的變量),srand(time(0));
- 時間戳: 時間戳是是指從 1970年01月01日00時0分0秒開始 到目前為止的總秒數
- 基本思想: 選手輸入的數字和隨機生成的數字進行對比,從而給出"大了!","小了!"的提示,直到選手猜中數字將會提示 “猜中了!”
代碼不是特別簡潔 還需要改進
#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "time.h"// 猜數游戲,在1-100中間隨機生成一個整數,選手進行猜數,直到猜中為止 // rand() 函數產生隨機數 // srand() 函數產生隨機種子 int GetNum(void) {int choice;printf("*********************************\n");printf("*********1-開始一局新游戲********\n");printf("*************2-結束游戲**********\n");printf("*********************************\n");printf("輸入你的選擇:");scanf("%d", &choice);srand(time(0));if (choice == 1) {printf("開始輸入你猜的數字:");return rand() % 100 + 1;}else if (choice == 2) {return 0;}printf("您的輸入非法!!!請重新輸入!!!\n\n\n");return -1; } int main() {// 定義一個中間數字為用戶輸入的數字 mid ,將 mid 和隨機數相比較,從而確定隨機數字所在的更小范圍,直到找出隨機數// rand() 隨機數的產生要依賴于一個初始值(隨機種子),根據這個隨機種子會產生一個數字序列,隨機種子相同產生的數字序列相同// 因此為產生一個完全隨機的數字序列,必須每次運行函數的隨機種子不相同。// 我們利用隨機種子設置函數 srand() 引入參數 time(0) 獲取當前的時間戳,// 時間戳總不相同因此生成了完全隨機的初始值,從而生成完全隨機的數字序列。int mid = 1;int randnum;int score = 100;while (mid != 0) {randnum = GetNum();if (randnum != 0 && randnum != -1) {while (1) {scanf("%d", &mid);if (randnum < mid) {printf("大了!\n");score -= 3;}else if (randnum > mid) {printf("小了!\n");score -= 3;}else {printf("猜中了!\n");if (score <= 0) {score = 0;}printf("最終成績為:%d 分\n\n\n\n", score);break;}}}else if (randnum == 0) {printf("游戲結束!!!\n");break;}}system("pause");return 0; }總結
以上是生活随笔為你收集整理的实战小项目_猜数字小游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页加速插件Decentraleyes使
- 下一篇: c语言错误c1010怎么办,fatal