前言
一个小游戏,自己学一下可以提升自己的兴趣和自信心,我是小白,大佬看看就行了!!!
一、怎么玩这个游戏?
按照提示,1是玩游戏,0是退出游戏;然后他会随机生成一个1到100的整数,我们猜数字,如果猜大了,它会提示你猜大了,同样的,会提示你猜小了,猜中了会提示你“恭喜你猜中了”,然后继续下一次游戏。
二、怎么写代码制作这个小游戏?
1.
先制作一个菜单,提示你输入1开始游戏,0就退出游戏。
如果按1,他会随机生成一个数,我们就开始输入数字;
2.时间戳(生成随机数所用的)了解一下就行,不用懂这个概念
时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。
3:生成随机数的函数
了解一下生成随机数的函数,是 rand() 函数,调用时先调 srand 函数,srand函数是怎么用的?
int rand( void );//rand可以看出返回值是int类型,无参数。
而且用rand函数需要和调用srand,srand的用法如下图;
无返回值,参数是unsigned int 类型的,而且是配合着time函数一起用的,time函数返回值是long int 类型的,参数是指针,不懂的话就看看了解就行;
4:生成随机数的代码
k = rand() % 100 + 1; //放在game()函数中,每次游戏调用一次;
srand((unsigned int)time(NULL));//放在主函数即可,调用一次就行;
代码实现
#include <stdio.h>
#include <string.h>
#include <time.h>
void game() {
int k = 0, guess = 0;
k = rand() % 100 + 1;//设置1到100的随机数,rand函数就是生成随机数的函数;
while (1) {
printf("请猜数字:\n");
scanf("%d", &guess);
if (guess < k)
printf("猜小了\n");
else if (guess > k)
printf("猜大了\n");
else
{
printf("恭喜你猜中了!!!\n");
break;
}
}
}
void menu() {
printf("********************************\n");
printf("**** 1:play 0:exit ****\n");//1玩游戏,0退出游戏
printf("********************************\n");
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//时间戳,被rand函数调用时用于设置随机数;
do {
menu();//游戏菜单界面
printf("请确认>\n");
scanf("%d", &input);
switch (input) {
case 1: game();
break;
case 0: printf("退出游戏\n");
break;
default:printf("选择错误,请重新输入:\n");
break;
}
}
while (input);
return 0;
}
总结:
希望大家能够喜欢这个小游戏,也可以动手试试,我可能解释不够详细,望大家原谅!!!