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

找公司做网站的好处wordpress 社区 插件

找公司做网站的好处,wordpress 社区 插件,wordpress免费虚拟主机,惠州建设局网站首页一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…

一.扫雷游戏项目设计

1.文件结构设计

首先我们要先定义三个文件

①test.c //文件中写游戏的测试逻辑 
②game.c //文件中写游戏中函数的实现等
③game.h //文件中写游戏需要的数据类型和函数声明等


2.扫雷游戏的主体结构

使⽤控制台实现经典的扫雷游戏

•游戏可以通过菜单实现继续玩或者退出游戏

•扫雷的棋盘是9*9的格子

•默认随机布置10个雷

•可以排查雷

◦如果位置不是雷,就显⽰周围有⼏个雷

◦如果位置是雷,就炸死游戏结束

◦把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束

我们期待的游戏的界面应该是:

①初始界面


②排雷界面

 ③排雷失败界面

 

 3.面临的问题

因为我们需要在9*9的棋盘上布置雷的信息和排查雷,我们首先想到的就是创建⼀个9*9的数组来存放信息。
①返回雷的个数的越界的问题

当我们选定一个坐标时,如(x,y)我们想要得到(x,y)坐标周围8个坐标雷的总数


 

 所以,我们不得不考虑以下越界访问的问题

 为了解决以上问题,我可以将9*9栋棋盘扩大为11*11,这样就解决了棋盘越界的问题,如下图

 但注意:初始化棋盘时,11*11的格子都要进行初始化。

②保存雷的信息与显示雷的信息

继续分析,我们在棋盘上布置了雷,棋盘上雷的信息(1)和⾮雷的信息(0),假设我们排查了某⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录存储,并打印出来,作为排雷的重要参考信息的。那这个雷的个数信息存放在哪⾥呢?如果存放在布置雷的数组中,这样雷的信息和雷的个数信息就可能或产⽣混淆和打印上的困难

这里我们采用另外⼀种方案,我们专⻔给⼀个棋盘(对应⼀个数组mine)存放布置好的雷的信息,再给另外⼀个棋盘(对应另外⼀个数组show)存放排查出的雷的信息。这样就互不⼲扰了,把雷布置到mine数组,在mine数组中排查雷,排查出的数据存放在show数组,并且打印show数组的信息给后期排查参考。

show数组开始时初始化为字符 '*',为了保持两个数组的类型⼀致,可以使⽤同⼀套函数处理,mine数组最开始也初始化为字符'0',布置雷改成'1'。

 布置雷的mine棋盘

 

 显示雷的show棋盘

 

二.扫雷游戏的简单模拟实现

1.game.h

 以上代码是扫雷游戏开发。代码包含常用库引入及标准命名空间使用声明。通过宏定义设置棋盘行列及雷数等参数。还声明了一系列函数,涵盖棋盘初始化、打印、布雷、统计雷数以及扫雷等功能,为实现完整扫雷游戏逻辑搭建了基本框架。

 

2. game.cpp

 实现扫雷游戏中棋盘初始化和打印功能。 InitBoard  函数通过双重循环,将指定字符填充到棋盘二维数组对应位置,完成初始化。 PrintBoard  函数先输出游戏标题,再用循环按行列格式打印棋盘元素,同时打印行列索引,方便玩家查看,为游戏交互提供基础展示。

 

          实现扫雷游戏中布雷和统计雷数功能。 SetMine  函数利用  rand  函数生成随机坐标,在棋盘数组上随机放置地雷(用  '1'  表示),直到达到设定雷数。( EASY_COUNT )。 GetMineCount  函数通过计算目标坐标周围八个格子的字符数值总和并做相应转换,统计出周围雷的数量,为玩家判断提供依据。

 以上是雷游戏核心逻辑的代码。 FindMine  函数负责游戏流程:

 ①玩家循环输入坐标,程序先检查坐标合法性及是否已排查。

 ②若坐标对应格子有雷( a[x][y] == '1'  ),游戏结束并显示雷区。

 ③无雷时,调用  GetMineCount  统计周围雷数并显示在显示棋盘  b  上,成功排查一格  win  计数加一。

 ④当排查格子数达到总格子数减去雷数( win == ROW * COL - EASY_COUNT  ),玩家胜利并显示雷区。 代码通过这些逻辑实现了扫雷游戏基本交互和胜负判定。

 

3.test.cpp

 测试扫雷游戏的代码片段。 menu  函数输出游戏菜单,提供 “退出(0)” 和 “开始游戏(1)” 选项。 game  函数则是游戏核心流程,先定义存放雷和显示信息的二维字符数组,接着调用  InitBoard  分别将其初始化为全  '0'  和全  '*'  ,再通过  PrintBoard  打印初始棋盘,然后调用  SetMine  布置地雷,最后调用  FindMine  让玩家开始排查地雷,逐步推进游戏进程。

 构建扫雷游戏的主逻辑框架。 test  函数中,先设置随机数种子,随后通过 do - while  循环展示游戏菜单,获取玩家输入。利用 switch  语句判断输入,0代表退出游戏,1则调用 game  函数开启游戏,输入错误时给予提示并要求重新输入。 main  函数通过 clock  函数记录游戏开始和结束时间,计算并输出游戏总耗时,为玩家提供完整的游戏交互和时间统计功能。

 


文章转载自:

http://qOajrQPH.dkbsq.cn
http://B44dSq7f.dkbsq.cn
http://2QpRzrAI.dkbsq.cn
http://t0CJJyrA.dkbsq.cn
http://i9xkCixT.dkbsq.cn
http://SHHtjA4D.dkbsq.cn
http://uy0dHjkK.dkbsq.cn
http://2W5YRyuh.dkbsq.cn
http://JoPtsigs.dkbsq.cn
http://NRBU0O56.dkbsq.cn
http://GHNTct9U.dkbsq.cn
http://oIJQ1RR5.dkbsq.cn
http://UiunSwZd.dkbsq.cn
http://gxsbEVRy.dkbsq.cn
http://Di9jJIQ1.dkbsq.cn
http://ee3XbrN9.dkbsq.cn
http://ixjykPBX.dkbsq.cn
http://tcokqvPV.dkbsq.cn
http://QPlAFugO.dkbsq.cn
http://5mRulzCx.dkbsq.cn
http://MRJHfAF8.dkbsq.cn
http://YIRs94zb.dkbsq.cn
http://ckXrpeo4.dkbsq.cn
http://17LxhUQR.dkbsq.cn
http://HdrURp03.dkbsq.cn
http://5jATueGI.dkbsq.cn
http://k0ENKhlL.dkbsq.cn
http://8iv8NYNm.dkbsq.cn
http://A1GPjfKX.dkbsq.cn
http://4c9CLXGM.dkbsq.cn
http://www.dtcms.com/wzjs/669622.html

相关文章:

  • 山东省建设厅执业注册中心网站珠海市网站建设开发公司
  • 射洪网站建设工作室建设银行网站特点
  • 全网营销型推广网站建设企业网页申请制作步骤
  • 无锡模板建站网站建设结构表
  • 网站开发程序祥云平台网站建设
  • 天府新区建站公司质量好网站建设哪家便宜
  • dede怎么设置wap网站网站建设首选
  • 020网站建设如何做亚马逊国外网站
  • 人工智能自动做网站1020美金等于多少欧元
  • 负面信息网站做网站上传空间什么意思
  • 广西钦州住房与城乡建设局网站开互联网公司赚钱吗
  • 石家庄网站建设推广wordpress文章调用代码
  • 怎样创建个人的网站丹阳网站建设咨询
  • 电商购物网站开发需求分析高端网站建设成都
  • 如何建立微网站详细红色旅游网站页面建设
  • 临沂建设工程招聘信息网站英语网站的栏目名称
  • 旧域名怎么做新网站广告设计属于什么行业
  • 免费的行情网站app代码房产行业微网站建设
  • 上海模板开发建站专业制作户口本
  • 临湘网站wordpress加帝国cms
  • 网站改不了分类建设网站有哪些目的是什么
  • 马云做网站最早kuake自助建站系统源码
  • 集约化网站群建设福州 网站设计公司
  • 织梦网站修改网站加友情链接的好处
  • 公司网站怎么建立优化体系cms模板网
  • 免费网页小游戏在线玩手机优化大师下载2022
  • 小游戏网站建设公司移动互联网开发技术就业前景
  • 做网站的科技公司icp网站备案核验单下载
  • 一般网站图片尺寸聊城网站那家做的好
  • 融水苗族自治县网站建设公司宣城建设网站