C语言【猜数字游戏】详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、猜数字游戏是什么?
  • 二、使用步骤
    • 1.首先应该打印菜单
    • 2.打印我们的game()函数来实现我们的游戏具体逻辑
  • 总结


前言

本文详细介绍了猜数字游戏的具体实现逻辑


一、猜数字游戏是什么?

1、电脑自动生成一个1-100以内的数字
2、我们输入一个我们猜的数字
3、如果我们猜的数字比电脑随机生成的数字大,那么输出(猜大了)
4、如果我们猜的数字比电脑随机生成的数字小,那么输出(猜小了)
5、如此循环往复,猜到正确的数字之后游戏结束

二、使用步骤

1.首先应该打印菜单

代码如下

void menu()
{printf("*********************\n");printf("***** 1. play *******\n");printf("***** 0. exit *******\n");printf("*********************\n");
}
int main()
{menu();printf("请选择:>");int input = 0;while (input){switch (input){case 1:printf("游戏开始");game()//选择开始游戏之后,进入我们玩游戏的一个逻辑break;case 0:printf("退出游戏");break;default:printf("输入错误,请重新输入!");break;}}return 0;
}

选择1,开始游戏
选择0,游戏结束

2.打印我们的game()函数来实现我们的游戏具体逻辑

代码如下:

void game()
{int guess = 0;int ret = rand() % 100 + 1;//限制我们得到的数字为1-100之间的数字while (1)//因为猜数字是一个多次的过程,因此需要一个循坏来解决{printf("请输入你猜的数字:>");scanf("%d", &guess);//将我们猜的数字与电脑随机生的数字作对比if (guess < ret){//如果我们猜的数字比电脑的数字要小,输出猜小了printf("猜小了!\n");}else if (guess > ret){//如果我们猜的数字比电脑的数字要大,输出猜大了printf("猜大了!\n");}else{//数字猜对了,输出猜对了printf("猜对了!\n");break;}}}

注:

如果使用rand()函数,必须先调用srand()函数,再使用时间戳来形成一个随机数字。
我们调用时间戳,因此需要包含头文件
#include

【时间戳】的概念:一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
因此我们的main()函数部分就变成了如下代码所示:

int main()
{menu();printf("请选择:>");int input = 0;int n = 0;scanf("%d", &input);srand((unsigned int)time(NULL));//使用srand函数,接着使用时间戳,形成一个无符号整数//我们调用时间戳,因此需要包含头文件#includewhile (input){switch (input){case 1:game();//猜数字游戏的的逻辑break;case 0:printf("退出游戏");break;default:printf("输入错误,请重新输入!");break;}}return 0;
}

总结

本文的重点是对于时间戳的理解,以及猜数字游戏的逻辑
下面是【猜数字游戏】的全部代码

猜数字游戏1-100
#include
#include
#includevoid game()
{int guess = 0;int ret = rand() % 100 + 1;//限制我们得到的数字为1-100之间的数字//printf("%d",ret);while (1){printf("请输入你猜的数字:>");scanf("%d", &guess);if (guess < ret){printf("猜小了!\n");}else if (guess > ret){printf("猜大了!\n");}else{printf("猜对了!\n");break;}}}void menu()
{printf("*********************\n");printf("***** 1. play *******\n");printf("***** 0. exit *******\n");printf("*********************\n");
}int main()
{menu();printf("请选择:>");int input = 0;int n = 0;scanf("%d", &input);srand((unsigned int)time(NULL));while (input){switch (input){case 1:game();//猜数字的逻辑break;case 0:printf("退出游戏");break;default:printf("输入错误,请重新输入!");break;}}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部