当前位置: 首页 > wzjs >正文

龙岗网站建设商城开发价格服务

龙岗网站建设,商城开发价格服务,百度指数预测,站长之家网站排行榜目录一、游戏设计思路二、代码的实现2.1 菜单2.2 随机数rand函数2.3 根据难度设置猜测的次数2.4 提示2.5 结局学了也有几周c语言了,我们能不能用c语言实现一个小游戏玩一玩? 今天牛牛给大家分享一个猜数字小游戏,希望大家能够喜欢。 一、游戏…

目录

  • 一、游戏设计思路
  • 二、代码的实现
    • 2.1 菜单
    • 2.2 随机数rand函数
    • 2.3 根据难度设置猜测的次数
    • 2.4 提示
    • 2.5 结局

学了也有几周c语言了,我们能不能用c语言实现一个小游戏玩一玩? 今天牛牛给大家分享一个猜数字小游戏,希望大家能够喜欢。

一、游戏设计思路

1.菜单: 设计一个”菜单“,让玩家可以选择”玩游戏“或者”不玩“。
2. 随机数:每次进入游戏,程序会自动生成一个”随机数“为目标数字(设置范围,不可过大)。
3. 限定次数:给玩家营造紧张的氛围,我们限定最多的猜测次数。
4. 选择难度:猜测的次数由玩家自己选择。
5.提示: 玩家每次猜测数字的时候程序会给出相应提示(比目标数字大还是小?)
6. 结局:玩家成功或者失败给出相应的结果。

二、代码的实现

2.1 菜单

我们可以用自定义函数打印一个游戏菜单。
如下:

void menu()//游戏菜单
{printf("***************************************************\n");printf("*********   1.玩游戏      ******      2.不玩*******\n");printf("***************************************************\n");printf("请选择:\n");
}

2.2 随机数rand函数

函数名:rand函数
头文件#include <stdlib.h>
格式int rand(void)
返回值返回生成伪随机数的整数

rand函数会生成的随机数是int型的整数。最小值为0,但最大值(RAND_MAX)由编程环境决定,最大值最低不得低于32767.

int main()
{int retry=0;//是否再运行一次do{printf("随机数是%d\n", rand());printf("是否再运行一次:(1)是,(0)否\n");scanf("%d", &retry);} while (retry);}

通过上述代码运行结果我们发现,虽然我们的确生成了一组随机数(随机数列),但是每次重新重新生成随机数列的时候,随机数列都是一样的,这就很令人费解,这到底是不是随机数列啊?
其实rand函数是对一个叫做”种子”的基准值来运算生成的,之所以前面每次生成的随机数列都相同是因为rand函数默认的种子是常量1,要生成不同的随机数列就得改变种子的值。
那么怎么改变种子的值呢?
改变种子的值:srand函数

函数名:srand函数
头文件#include <stdlib.h>
格式void srand(unsigned seed(种子))
功能改变rand函数的种子
返回值

例如:srand(10)就是将rand函数的种子改成了10.
我们希望种子的值是变化的,那样rand函数生成的随机数组才是完美的随机数列。
时间不就是在一直变化吗?
srand((unsigned)time(NULL));//这样就可以根据时间来改变种子了。
time函数的头文件是#include <time.h>
最后:我们将rand() % 100 + 1就会=得到1到100之间的数了。

2.3 根据难度设置猜测的次数

我们设置难度级别分别为1到3三个级别。
1级三次机会
2级五次机会
3级十次机会
用count(表示机会的次数)作为玩家循环猜测的次数。
当难度不同时,count值不同。

2.4 提示

玩家如果盲目的猜数字也太难了,所以我们在每次玩家猜测过后给出相应提示,让玩家有更好的游戏体验。
比如:告诉玩家较于目标数字是大还是小,玩家还有几次机会。

2.5 结局

当玩家猜对成功后:我们恭喜玩家。
失败了:安慰一下玩家。
到这里我们的加强版猜数字游戏就结束了,如果有什么不理解的地方欢迎大家私信或者评论区指出哦。牛牛会一 一改正的。
下面是完整版的原码:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void menu()
{printf("***************************************************\n");printf("*********   1.玩游戏      ******      2.不玩*******\n");printf("***************************************************\n");printf("请选择:\n");
}
void game()
{int num = rand() % 100 + 1;//产生一个1到100的随机值int guess = 0;//定义一个玩家猜测的数int count = 0, i = 0, diffculty = 0;//count表示还剩几次机会,nandu表示游戏难度printf("游戏名:猜数字游戏\n");printf("游戏规则:系统会自动生成一个1到100之间的数,玩家在有限的机会内猜对。\n");printf("请选择游戏难度:1级别=三次机会   2级别=五次机会  3级别=十次机会\n");scanf("%d", &diffculty);//让玩家选择难度if (diffculty == 1)//难度为a时,次数为3{count = 3;}else if (diffculty == 2)//难度为b时,次数为5{count = 5;}else if (diffculty == 3)//难度为c时,次数为10{count = 10;}for (; count > 0; count--)//根据难度限定循环次数{printf("您还有%d次机会\n请输入:", count);//告诉玩家自己还有几次机会scanf("%d", &guess);//从键盘读取玩家猜测的数字if (guess < num){printf("牛牛告诉你:您猜小了,往大猜一点。\n");}else if (guess > num){printf("牛牛告诉你:您猜大了,往小猜小一点\n");}else if (guess == num){printf("恭喜您,猜对了,您太厉害了!\n");break;}}if (count == 0)//次数用完了{printf("很遗憾,你失败了,不要灰心,我们再来一次。\n\n");}
}
int main()
{srand(time(NULL));//根据时间改变种子的值int n = 0;do{menu();scanf("%d", &n);//让玩家在菜单中选择switch (n){case 1://代表玩游戏game();break;case 2:break;default:printf("没有这个选项哦。\n");//玩家不小心输错了break;}} while (n - 2);//当玩家选择2时,代表不玩了return 0;
}
http://www.dtcms.com/wzjs/820774.html

相关文章:

  • 网站索引量下降石河子农八师建设兵团社保网站
  • 江西手机版建站系统信息wordpress 建设论坛
  • 涉密项目单位网站建设流程嘉兰图工业设计公司现状
  • 有什么外贸网站免费主题wordpress
  • 云虚服务器网站建设网站建设平台哪个好
  • 海洋网站建设公司怎么弄一个网站平台
  • 互联网app下载专业seo网站优化推广排名教程
  • 外贸官网建站个人域名做邮箱网站
  • 厦门市建设局网站住房保障专栏网站建设Z亿玛酷1流量订制
  • 自媒体网站建设论文关于网站建设的论坛
  • 低价网站建设浩森宇特宁波制作网页哪家好
  • 雇人做淘宝网站多少钱网站分析工具
  • 淘宝网站建设的特点自己做网站的域名
  • 做网站分几个步骤长沙网站技术专家
  • 做网站常用的背景图像关于设计图的网站
  • 网站哪里有做的北京企业网站怎么建设
  • 全国卫生机构建设管理系统网站太原seo代理计费
  • 天津城乡住房建设厅网站首页高端网站开发平台
  • 手机系统网站帝国cms 做的博客网站
  • 二级目录做网站商场设计软件
  • 网站建设计入哪个科目排名网站建设
  • 怎么做外贸企业网站京东商城网站的搜索引擎营销做的案例分析
  • flash是怎么做网站的网站备案 营业执照副本
  • 网站平台建设的重要性wordpress创建页面模板
  • 用于网站建设的图片什么叫网页什么叫网站
  • 建设校园门户网站方案黄圃网站建设
  • 包头网站优化网络系统管理与维护电大考试题
  • 泌阳网站建设iis 网站打不开
  • 为什么网站有不同的扩展名WordPress会员注册去掉邮箱
  • 做电影网站怎么盈利杭州网站建设方案书