当前位置:网站首页>3. Number guessing game
3. Number guessing game
2022-07-06 13:25:00 【It's Wang Jiujiu】
Guess the number game : Random generation 1~100 Number of numbers , Let users guess . When the guessed number is larger than the random number , Tips “ Guess the ”; When only the number of hours than random , Tips “ Guess a little ”; The number guessed is the same as the random number , Tips “ Guessed it ”.
1. The overall framework
First , Start with a menu , Print out options in the menu bar :1.paly、0.exit.
then , Player input options , When the input 1 when , Start the game ; Input 0 when , End the game ; Go out for other hours , Re input . And set the game to be playable , After playing once , You can continue to play .
#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));// use srand modification rand
do
{
menu();
printf(" Please select (1/0):>");
scanf("%d", &input);
switch (input)
{
case 0:
printf(" Quit the game \n");
break;
case 1:
printf(" Start the game , Please guess the number (1~100)\n");
game();// game
break;
default:
printf(" Input error , Please re-enter \n");
}
} while (input);
return 0;
}2. Game part
When the overall framework is written , Run the test . Test success , Start writing the game part game() Code .
The design of the game part is mainly : The system generates a number —— Players enter —— Judge —— Wrong guess. —— Tips —— Re input —— Judge —— Guessed it ( Or the number of times is exhausted )
Because the whole process needs constant input 、 Judge , So you need to use while loop .( Be careful : The generated random number part cannot be put into while In circulation , Otherwise, every cycle , Will generate new random numbers )
void game()
{
int num = rand() % 100 + 1;// Generate 1~100 The random number
int guess = 0;
int count = 6;
while (count--)//6 Second chance ; After ++, Use it first and then ++
{
printf(" Please enter :>\n");
scanf("%d", &guess);
if (guess > num)
{
printf(" Guess the \n");
}
else if (guess < num)
{
printf(" Guess a little \n");
}
else
{
printf(" Guessed it \n");
Sleep(500);// Stop running 500 millisecond
system("cls");// Clear the screen .......
break;
}
}
printf(" I'm sorry , The opportunity has run out \n");
Sleep(500);// Stop running 500 millisecond
system("cls");// Clear the screen
}(1) When using rand() Function when creating random values , You will find that the random value is the same every time , utilize MSDN, The query shows that :


At this time, you need to use srand Decorate it rand Function of , Use time time, To generate a random number .
srand((unsigned int)time(NULL)), here (unsigned int) take time Casts the return value of , Convert to unsigned integer , And then to time Pass a null pointer (NULL) that will do . Use rand Need to include header file <stdlib.h>, Use time Need to include <time.h>.
(2)int num = rand() % 100 + 1, When random numbers %100 when , Its scope is 0~99, So we need to +1.
(3)while (count--), Specified here count Second chance , After -- It means to use , Again --, When count=0 End cycle at .
(4)sleep(a) To stop running a millisecond ,system("cls") To clear the screen , Need to include header file <windows.h>.
The overall code is as follows :
// Guess the number game
#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;// Generate 1~100 The random number
int guess = 0;
int count = 6;
while (count--)//6 Second chance ; After ++, Use it first and then ++
{
printf(" Please enter :>\n");
scanf("%d", &guess);
if (guess > num)
{
printf(" Guess the \n");
}
else if (guess < num)
{
printf(" Guess a little \n");
}
else
{
printf(" Guessed it \n");
Sleep(500);// Stop running 500 millisecond
system("cls");// Clear the screen .......
break;
}
}
printf(" I'm sorry , The opportunity has run out \n");
Sleep(500);// Stop running 500 millisecond
system("cls");// Clear the screen
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));// use srand modification rand
do
{
menu();
printf(" Please select (1/0):>");
scanf("%d", &input);
switch (input)
{
case 0:
printf(" Quit the game \n");
break;
case 1:
printf(" Start the game , Please guess the number (1~100)\n");
game();// game
break;
default:
printf(" Input error , Please re-enter \n");
}
} while (input);
return 0;
}
If you want to send the game we made to your classmates to try , take VS in debug Change to release, Test and save , Go to the place where the project is saved release file .

X86 by 32 position , It is recommended to save X64, take X64 Sending it to students can work normally .

Click on release—— Will be one of the exe Send the documents to the students .

边栏推荐
- Record: I accidentally wrote a recursion next time
- View UI plus released version 1.3.1 to enhance the experience of typescript
- string
- 2.C语言初阶练习题(2)
- 阿里云一面:并发场景下的底层细节 - 伪共享问题
- Interview Essentials: talk about the various implementations of distributed locks!
- Record: the solution of MySQL denial of access when CMD starts for the first time
- Design a key value cache to save the results of the most recent Web server queries
- TYUT太原理工大学2022数据库大题之分解关系模式
- Application architecture of large live broadcast platform
猜你喜欢

十分鐘徹底掌握緩存擊穿、緩存穿透、緩存雪崩

Tyut Taiyuan University of technology 2022 "Mao Gai" must be recited

arduino+DS18B20温度传感器(蜂鸣器报警)+LCD1602显示(IIC驱动)

西安电子科技大学22学年上学期《信号与系统》试题及答案

阿里云微服务(一)服务注册中心Nacos以及REST Template和Feign Client

Introduction and use of redis

图书管理系统小练习

(超详细二)onenet数据可视化详解,如何用截取数据流绘图

5.MSDN的下载和使用

魏牌:产品叫好声一片,但为何销量还是受挫
随机推荐
How to ensure data consistency between MySQL and redis?
学编程的八大电脑操作,总有一款你不会
TYUT太原理工大学往年数据库简述题
西安电子科技大学22学年上学期《基础实验》试题及答案
Record: I accidentally wrote a recursion next time
十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
8.C语言——位操作符与位移操作符
Small exercise of library management system
架构师怎样绘制系统架构蓝图?
系统设计学习(三)Design Amazon‘s sales rank by category feature
System design learning (III) design Amazon's sales rank by category feature
String类
最新坦克大战2022-全程开发笔记-1
View UI Plus 發布 1.3.1 版本,增强 TypeScript 使用體驗
[while your roommate plays games, let's see a problem]
4.30 dynamic memory allocation notes
Conceptual model design of the 2022 database of tyut Taiyuan University of Technology
Smart classroom solution and mobile teaching concept description
Tyut Taiyuan University of technology 2022 "Mao Gai" must be recited
Comparison between FileInputStream and bufferedinputstream