当前位置:首页 » 《随便一记》 » 正文

【c语言】写出第一个游戏:猜数字_loveliveluo的博客

6 人参与  2022年03月13日 08:02  分类 : 《随便一记》  评论

点击全文阅读


先给出我的思维导图:

 猜数字的基本要求有四个:

1.有菜单供玩家选择

2.有一百个数字,并且系统会随机给出一个数字让玩家猜。

3.猜错时,系统会给出时猜大还是猜

4.游戏能重复玩耍

写代码的流程及问题的解决

1.创建一个菜单:

建立菜单首先我们考虑使用函数menu。菜单建立如下:

void menu()
{
  printf("***********************");
  printf("*****  1.paly  ********");
  printf("*****  0.exit  ********");
  printf("***********************");
}

 其次,我们要考虑到玩家输入不同数字时产生不同的效果,所以我们使用switch分支(switch与ifelse的区别看我的文章)。

然后,为了让玩家能重复玩,且至少玩一次,我们可以考虑用dowhile循环(循环的区别看我的文章)。

具体效果如下:

do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("正在退出");
			break;
		default:
			printf("请重新输入");
			break;
		}
      } while (input);

 2.有一百个数字,并且系统会随机给出一个数字让玩家猜:

如果要让系统能创造一个随机数,就必须能让系统随时变化,这里我们可以采用时间戳。

首先我们得使用rand函数,这个函数的作用就是产生随机数,但它有个弊端,它产生随机数的依据是在数据库0~RAND_MAX(32767)这里取值。可是当数据库的起点和终点都一样时,系统每次产生的随机数就都相同了。

所以为了改变数据库的起点或终点,我们采用srand函数

srand用法::它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如:srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned)time(&t)); 还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned)time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的t数据。(转载自CSDN博主「天糊土」的原创文章)

可即使采用了srand((unsigned)time(NULL)) 仍然可能出问题,也就是这个函数放哪里。

为了增加数字的随机性,我们要把数据库的起点也就是srand((unsigned)time(NULL)) 既要放在rand前,但又不能放在游戏循环内。这样既能防止数字出现规律,又能使数字随机。

3.猜错时,系统会给出猜大了还是猜小了

既然出现了条件分支,那么就要考虑使用if语句了。这里直接给出实例:

while (1)
	{
		printf("请猜数字\n");
		scanf("%d", &guess);
		if (guess<ret)
		{
			printf("猜小了\n");
	     }
		else if (guess>ret)
		{
			printf("猜大了\n");
		}
			else
		{
			printf("猜对了\n");
			break;
		}
	}

接下来只要补充细节,便可完成这个小游戏了。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/36110.html

随机数  数字  函数  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 姐姐被害难产身亡后,我重生七零杀疯了惊天黑幕_杨雪林建志诚未删减_小说后续在线阅读_无删减免费完结_
  • 终章小说鹿言裴禹完结篇(爱你的事当做秘密)已更新+延伸(鹿言裴禹)清爽版
  • 妻子用十根钢钉迎接女儿回家,我不要她了完结全文_瑶瑶裴璇苏大强完结全文_小说后续在线阅读_无删减免费完结_
  • (陈晃陈娩)姐姐,是我的错陈晃陈娩延伸在线下载无广告章节清单
  • 梧桐影里别经年(姜岳霆裴智秀)_梧桐影里别经年(姜岳霆裴智秀)
  • 被污蔑偷换学霸高考成绩后,我杀疯了一口气看完_周启书瑶快手热门_小说后续在线阅读_无删减免费完结_
  • 黑月光钓遍全界男主都到我碗里来(桑泠贺苏言)_黑月光钓遍全界男主都到我碗里来(桑泠贺苏言)
  • 宋伊人骆屿小说完本章节前文+全篇阅读(暗香浮动月黄昏)连载中
  • 夫君是太监又怎么了?(安生阿梅)_夫君是太监又怎么了?(安生阿梅)
  • 穿成资本家大小姐,卷走家产去下乡(宋夕颜宋佳佳)全书免费_(宋夕颜宋佳佳)穿成资本家大小姐,卷走家产去下乡后续(宋夕颜宋佳佳)
  • 全书浏览他装失忆骗我三年,我装失忆送他进去(沈砚司苏念苏虞宁)_他装失忆骗我三年,我装失忆送他进去(沈砚司苏念苏虞宁)全书结局
  • 重生团宠京圈皇太女是满级大佬(桑柠秦妄)全书浏览_重生团宠京圈皇太女是满级大佬全书浏览

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1