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

原网站

版权声明
本文为[It's Wang Jiujiu]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060916176937.html