当前位置:网站首页>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 .

边栏推荐
- View UI plus released version 1.3.0, adding space and $imagepreview components
- TYUT太原理工大学2022数据库题库选择题总结
- Alibaba cloud side: underlying details in concurrent scenarios - pseudo sharing
- Cloud native trend in 2022
- Data manipulation language (DML)
- Tyut Taiyuan University of technology 2022 introduction to software engineering examination question outline
- View UI plus released version 1.2.0 and added image, skeleton and typography components
- MySQL limit x, -1 doesn't work, -1 does not work, and an error is reported
- Comparison between FileInputStream and bufferedinputstream
- 12 excel charts and arrays
猜你喜欢

Arduino+ds18b20 temperature sensor (buzzer alarm) +lcd1602 display (IIC drive)

学编程的八大电脑操作,总有一款你不会

View UI Plus 发布 1.2.0 版本,新增 Image、Skeleton、Typography组件

继承和多态(下)

There is always one of the eight computer operations that you can't learn programming

7.数组、指针和数组的关系

String类

Smart classroom solution and mobile teaching concept description

Conceptual model design of the 2022 database of tyut Taiyuan University of Technology

Relational algebra of tyut Taiyuan University of technology 2022 database
随机推荐
Record: newinstance() obsolete replacement method
2-year experience summary, tell you how to do a good job in project management
更改VS主题及设置背景图片
TYUT太原理工大学2022数据库大题之分解关系模式
Share a website to improve your Aesthetics
架构师怎样绘制系统架构蓝图?
View UI Plus 發布 1.3.1 版本,增强 TypeScript 使用體驗
Several high-frequency JVM interview questions
Inheritance and polymorphism (Part 2)
MySQL 30000 word essence summary + 100 interview questions, hanging the interviewer is more than enough (Collection Series
Record: the solution of MySQL denial of access when CMD starts for the first time
View UI plus released version 1.3.0, adding space and $imagepreview components
View UI Plus 发布 1.3.0 版本,新增 Space、$ImagePreview 组件
Abstract classes and interfaces
Tyut outline of 2022 database examination of Taiyuan University of Technology
初识C语言(上)
最新坦克大战2022-全程开发笔记-1
Floating point comparison, CMP, tabulation ideas
TYUT太原理工大学2022数据库大题之概念模型设计
最新坦克大战2022-全程开发笔记-3