前言
本文分享了C语言中 猜数字小游戏 的编写过程,
关于规则
首先,程序创建一个随机数,需要玩家来猜测数值;
然后,程序对玩家给出的数值判断,并告知“猜大了”或者“猜小了”;
当玩家猜出数值的时候,游戏结束;
关于编写过程
一.主体结构
1.首先,需要打印出界面
我们设计一个界面:
****** 猜数字 ******
*** 1. 开始游戏 ***
*** 2. 退出游戏 ***
代码可以这样写:
printf("****** 猜数字 ******\\n");
printf("*** 1. 开始游戏 ***\\n");
printf("*** 2. 退出游戏 ***\\n");
printf("请输入(1/0)\\n");
2.我们需要一个整型来接收结果
int a = 0;
scanf ( "%d" , &a );
3.接着写分支语句
if (a == 1)
{
printf("准备开始\\n");
game();
}
else if (a == 2)
{
printf("正在退出\\n");
printf("已退出\\n");
}
else
{
printf("请输入(1/0)\\n");
}
4.考虑到玩家想继续玩或者输入错误,所以我们整体把他放到一个循环中,
并在退出的后面加break;
while (1)
{
printf("****** 猜数字 ******\\n");
printf("*** 1. 开始游戏 ***\\n");
printf("*** 2. 退出游戏 ***\\n");
printf("请输入(1/0)\\n");
int a = 0;
scanf("%d", &a);
if (a == 1)
{
printf("准备开始\\n");
game();
}
else if (a == 2)
{
printf("正在退出\\n");
printf("已退出\\n");
break;
}
else
{
printf("请输入(1/0)\\n");
}
}
5.主体结构为
int main()
{
while (1)
{
printf("****** 猜数字 ******\\n");
printf("*** 1. 开始游戏 ***\\n");
printf("*** 2. 退出游戏 ***\\n");
printf("请输入(1/0)\\n");
int a = 0;
scanf("%d", &a);
if (a == 1)
{
printf("准备开始\\n");
game();
}
else if (a == 2)
{
printf("正在退出\\n");
printf("已退出\\n");
break;
}
else
{
printf("请输入(1/0)\\n");
}
}
return 0;
}
二.游戏程序
1.先告知玩家数字的范围,如“请猜一个数字,范围是0~1000”
printf ( "请猜一个数字,范围是0~1000\\n" );
2.然后让系统创建随机数(详见第一篇文章)
srand ( (unsigned int) time (NULL) );
int b = rand() &1000+1;
3.创建变量接受玩家输入结果
int c = 0;
scanf ( "%d" ,&c );
4.写分支语句,根据数值判断大小,并给出提示
if (c > b)
{
printf("猜大了\\n");
}
else if (c < b)
{
printf("猜小了\\n");
}
else
{
printf("猜对了\\n");
}
5.一般不会一次猜对,所以 3 和 4 整体放入循环中,并在 猜对后边加上 break;
while (1)
{
scanf("%d", &c);
if (c > b)
{
printf("猜大了\\n");
}
else if (c < b)
{
printf("猜小了\\n");
}
else
{
printf("猜对了\\n");
break;
}
}
6.游戏程序为
void game()
{
printf("请猜一个数字,范围是0~1000\\n");
srand((unsigned int)time(NULL));
int b = rand()%1000+1;
int c = 0;
while (1)
{
scanf("%d", &c);
if (c > b)
{
printf("猜大了\\n");
}
else if (c < b)
{
printf("猜小了\\n");
}
else
{
printf("猜对了\\n");
break;
}
}
}
三.补充部分
1.可以利用Sleep 函数,实现停顿,让程序看着更舒服;
2.写上头文件,查看最终效果;
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<Windows.h>
void game()
{
printf("请猜一个数字,范围是0~1000\\n");
srand((unsigned int)time(NULL));
int b = rand()%1000+1;
int c = 0;
while (1)
{
scanf("%d", &c);
if (c > b)
{
printf("猜大了\\n");
}
else if (c < b)
{
printf("猜小了\\n");
}
else
{
printf("猜对了\\n");
Sleep(1000);
break;
}
}
}
int main()
{
while (1)
{
printf("****** 猜数字 ******\\n");
printf("*** 1. 开始游戏 ***\\n");
printf("*** 2. 退出游戏 ***\\n");
Sleep(1000);
printf("请输入(1/0)\\n");
int a = 0;
scanf("%d", &a);
if (a == 1)
{
printf("准备开始\\n");
Sleep(1000);
game();
}
else if (a == 2)
{
printf("正在退出\\n");
Sleep(1000);
printf("已退出\\n");
break;
}
else
{
printf("请输入(1/0)\\n");
Sleep(1000);
}
}
return 0;
}
文章结束,谢谢您看我的文章。
评论前必须登录!
注册