当前位置:网站首页>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 .
边栏推荐
- TYUT太原理工大学2022软工导论考试题型大纲
- Tyut Taiyuan University of technology 2022 introduction to software engineering
- [while your roommate plays games, let's see a problem]
- Alibaba cloud microservices (II) distributed service configuration center and Nacos usage scenarios and implementation introduction
- 165. Compare version number - string
- Common method signatures and meanings of Iterable, collection and list
- 学编程的八大电脑操作,总有一款你不会
- 3.C语言用代数余子式计算行列式
- String class
- TYUT太原理工大学2022数据库大题之概念模型设计
猜你喜欢
7.数组、指针和数组的关系
一文搞定 UDP 和 TCP 高频面试题!
The overseas sales of Xiaomi mobile phones are nearly 140million, which may explain why Xiaomi ov doesn't need Hongmeng
继承和多态(下)
String类
Alibaba cloud microservices (I) service registry Nacos, rest template and feign client
Summary of multiple choice questions in the 2022 database of tyut Taiyuan University of Technology
Conceptual model design of the 2022 database of tyut Taiyuan University of Technology
Quickly generate illustrations
国企秋招经验总结
随机推荐
System design learning (III) design Amazon's sales rank by category feature
Record: newinstance() obsolete replacement method
Record: the solution of MySQL denial of access when CMD starts for the first time
System design learning (I) design pastebin com (or Bit.ly)
162. Find peak - binary search
抽象类和接口
Decomposition relation model of the 2022 database of tyut Taiyuan University of Technology
初识指针笔记
One article to get UDP and TCP high-frequency interview questions!
魏牌:产品叫好声一片,但为何销量还是受挫
TYUT太原理工大学2022软工导论考试题型大纲
A brief introduction to the database of tyut Taiyuan University of technology in previous years
Exception: ioexception:stream closed
面渣逆袭:Redis连环五十二问,三万字+八十图详解。
8.C语言——位操作符与位移操作符
13 power map
Design a key value cache to save the results of the most recent Web server queries
Floating point comparison, CMP, tabulation ideas
MySQL Database Constraints
9.指针(上)