C语言实现猜数字小游戏的示例代码
一、猜数字小游戏的要求
猜数字小游戏是我们小时候喜欢我们一个经典小游戏,在本文中,猜数字小游戏主要的功能如下所示
1.登入猜数字小游戏系统,显示小时欢迎界面。
2.用户猜的数字有系统随机在1-20之间生成。
3.用户可以有5次机会猜这个随机生成的数字。
4.若用户猜大了,则系统会显示猜大了,并提示还有多少猜数字的机会。
5.若5次都没有猜中系统随机生成的数字,则游戏结束。
二、猜数字小游戏实现的过程
2.1项目创建
使用VS2019创建一个名为GuessNumber的C语言项目,并在GuessNumber项目中创建Main.c源文件和Main.h头文件。
2.2头文件内容
在Main.h头文件中,将有关的头文件包含进来,如下所示
#include <stdio.h> #include <stdlib.h> #include <time.h>
在声明两个函数,如下所示
// 显示菜单 void menu(); // 猜数字游戏功能 void gameGuess();
其中,menu函数的功能是显示猜数字小游戏的初始化界面,并提供猜数字小游戏的相关说明。gameGuess函数的功能是整个猜数字游戏的核心,在gameGuess中主要是实现用户猜数字的功能,并且给用户提供友好的提示功能。
2.3源文件内容
首先将头文件包含进来
#define _CRT_SECURE_NO_WARNINGS #include "Main.h"
其中#define _CRT_SECURE_NO_WARNINGS是为了使编译器没有警告。
main函数中添加代码如下
system("color 3E"); int select = 0; //防止出现的随机数一样 srand((unsigned int)time(NULL)); //利用循环实现可以多次玩 do { menu(); printf("请输入选项:"); scanf("%d", &select); switch (select) { case 1: gameGuess(); break; case 0: break; default: printf("选择错误\n"); system("pause"); system("cls"); break; } } while (select); printf("欢迎下次使用,再见!!!\n"); system("pause"); return 0;
首先定义select 变量,根据用户输入的值,给变量select 赋值,从而进入相应的函数,进而实现相关的功能。
srand是为了防止出现的随机数一样。
根据输入的select值,进入switch 分支语句进行判断。
menu函数如下
// 显示菜单 void menu() { printf("**********************************************************\n"); printf("* 欢迎来到猜数字小游戏\n"); printf("* 规则说明\n"); printf("* 猜的数字为1-20\n"); printf("* 共有5次机会\n"); printf("* 欢迎猜中数字哦!!!\n\n"); printf("* 1.开始游戏\n"); printf("* 0.退出游戏\n"); printf("**********************************************************\n\n"); }
其主要的功能是显示系统的菜单功能,给用户提示猜数字小游戏应该如何进行。
gameGuess函数如下
//猜数字游戏功能函数 void gameGuess() { int num = 0, input = 0, count = 0; num = rand() % 20 + 1;//获取1-100的一个随机数 while (count != 5)//利用if循环判断 { printf("请输入数字:"); scanf("%d", &input); if (input == num) { printf("恭喜啦,你猜的数字是对的!!!\n"); break; } else if (input < num) { printf("你猜小了\n"); } else { printf("你猜大了\n"); } count++; if (count == 5) { printf("很遗憾,5次机会用完了,你没有猜对!!!\n\n"); printf("正确答案是:%d\n", num); break; } printf("你还有:%d次机会\n\n", 5 - count); } system("pause"); system("cls"); }
使用系统库函数rand随机生成一个1-20的数字,赋值给变量num ,然后根据输入的变量input值是否相等使用 == 进行判断。
count主要用于判断用户还有多少次猜数字的机会。
三、猜数字小游戏调试结果如下
1.进入系统,输入数字1
2.猜对的调试结果
3.没有猜对的调试结果
四、基于猜数字小游戏的总结
本文的猜数字小游戏让我们对于C语言的入门可以得到有效的提高,对于srand函数、rand函数,Switch语句、while循环、if条件判据等C语言知识点可以进一步的掌握。
五、完整代码
Main.h头文件
#pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> // 显示菜单 void menu(); // 猜数字游戏功能 void gameGuess();
Main.c源文件
#define _CRT_SECURE_NO_WARNINGS #include "Main.h" int main() { system("color 3E"); int select = 0; //防止出现的随机数一样 srand((unsigned int)time(NULL)); //利用循环实现可以多次玩 do { menu(); printf("请输入选项:"); scanf("%d", &select); switch (select) { case 1: gameGuess(); break; case 0: break; default: printf("选择错误\n"); system("pause"); system("cls"); break; } } while (select); printf("欢迎下次使用,再见!!!\n"); system("pause"); return 0; } // 显示菜单 void menu() { printf("**********************************************************\n"); printf("* 欢迎来到猜数字小游戏\n"); printf("* 规则说明\n"); printf("* 猜的数字为1-20\n"); printf("* 共有5次机会\n"); printf("* 欢迎猜中数字哦!!!\n\n"); printf("* 1.开始游戏\n"); printf("* 0.退出游戏\n"); printf("**********************************************************\n\n"); } //猜数字游戏功能函数 void gameGuess() { int num = 0, input = 0, count = 0; num = rand() % 20 + 1;//获取1-100的一个随机数 while (count != 5)//利用if循环判断 { printf("请输入数字:"); scanf("%d", &input); if (input == num) { printf("恭喜啦,你猜的数字是对的!!!\n"); break; } else if (input < num) { printf("你猜小了\n"); } else { printf("你猜大了\n"); } count++; if (count == 5) { printf("很遗憾,5次机会用完了,你没有猜对!!!\n\n"); printf("正确答案是:%d\n", num); break; } printf("你还有:%d次机会\n\n", 5 - count); } system("pause"); system("cls"); }
到此这篇关于C语言实现猜数字小游戏的示例代码的文章就介绍到这了,更多相关C语言猜数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
C++ STL标准库std::vector扩容时进行深复制原因详解
我们知道,std::vector之所以可以动态扩容,同时还可以保持顺序存储,主要取决于其扩容复制的机制。当容量满时,会重新划分一片更大的内存区域,然后将所有的元素拷贝过去2022-08-08Java C++ 算法题解leetcode1582二进制矩阵特殊位置
这篇文章主要为大家介绍了Java C++ 算法题解leetcode1582二进制矩阵特殊位置示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-09-09
最新评论