猜数字游戏
今天分享一个在学习C语言阶段可以练练手的小项目,可以让学习编程的朋友更有动力。如有不足,请提出建议!
- 做任何一个项目或者程序,无论大小,都需要做好前期构思准备,中期实现每个部分,后期完善并且查缺补漏。
前期准备:猜数字游戏,需要的玩家与电脑进行数字匹配,电脑出一个随机值,玩家输入,电脑判定。
-可以画个流程图
中期代码实现:一般习惯使用一个头文件,俩个源文件。
game.h头文件
#define _CRT_SECURE_NO_WARNINGS 1
//调用输入输出的头文件
#include<stdio.h>
//调用随机值的头文件
#include<stdlib.h>
//调用时间的头文件
#include<time.h>
//菜单1:进入游戏|退出游戏
void menu1();
//菜单2:再次进入游戏|退出游戏
void menu2();
//游戏主题
void game();
- operate.c源文件
#include"game.h"
int main(void)
{
//调用随机值
srand((unsigned int) time(NULL));
int imput = 0;
//初次玩游戏
menu1();
printf("请输入数字:\n");
scanf("%d",&imput);
switch (imput)
{
case 1:
game();
break;
case 0:
printf("感谢你的游玩!\n");
break;
default:
printf("输入错误!请重新输入:\n");
break;
}
//再次游玩
do
{
menu2();
printf("请输入数字:\n");
scanf("%d", &imput);
switch (imput)
{
case 1:
game();
break;
case 0:
printf("感谢你的游玩!\n");
break;
default:
printf("输入错误!请重新输入:\n");
break;
}
} while (imput);
return 0;
}
game.c源文件
#include"game.h"
//菜单1
void menu1()
{
printf("************************\n");
printf("******** 1.game ********\n");
printf("******** 0.exit ********\n");
printf("************************\n");
}
//菜单2
void menu2()
{
printf("*************************\n");
printf("******** 1.again ********\n");
printf("******** 0.exit ********\n");
printf("*************************\n");
}
//进入游戏
void game()
{
//设置一个1-100的值
int rand_num = rand() % 100 + 1;
int count = 0;
do {
int imput = 0;
//设置一个计数器,设置超过7次游戏结束
printf("请猜猜数字:\n");
scanf("%d", &imput);
//与系统设定的值比较大小
if (imput > rand_num)
{
count++;
printf("不好意思!猜大了!\n");
}
else if (imput < rand_num)
{
count++;
printf("不好意思!猜小了!\n");
}
else
{
count++;
break;
}
//判定判断次数是否为7,7次后退出
if (count > 7)
{
break;
}
} while (1);
//判断次数,输出
if (count > 7)
{
printf("不好意思!您失败了!\n");
printf("真正的数字是%d \n",rand_num);
}
else
{
printf("恭喜您!猜对了!\n");
printf("您一共猜了%d次。\n",count);
}
}
后期运行结果:
这里无法演示后期完善过程,写好代码后,需要一次一次的修改和完善,所以希望大家好好加油!