- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 游戏型教学软件设计与制作案例 * 游戏功能 游戏素材 地图设计 游戏规则和对应算法 代码讲解 游戏关卡地图编辑器 案例:推箱子游戏 * 推箱子游戏的设计 1、游戏功能 (1)游戏运行载入相应的地图,出现一个推箱子的工人,围墙、人可以走的通道、几个箱子和箱子放置的目的地。 (2)让玩家通过按上下左右方向键控制工人推箱子,当箱子们都推到了目的地后出现过关信息,并显示下一关。 (3)推错了玩家可以按空格键 重新玩这关。 * 2、游戏素材 * 3、地图设计 地图想象成一个2维表格,每个格子就是工人每次移动的步长,也是箱子移动的距离。我们设计一个7行*7列的二维数组myArray。对于每个格子的X,Y坐标,可以由二维数组下标换算。 每个格子的状态值分别用枚举类型值 Wall(0)代表墙, Worker(1)代表人, Box(2)代表箱子, Passageway (3)代表路, Destination(4)代表目的地, WorkerInDest(5)代表人在目的地, RedBox(6)代表放到目的地的箱子。 文件存储的原始地图中格子的状态值采用相应整数存放。 * 4、游戏规则和对应算法 1.P1是通道 如果工人前方是通道 { 工人可以进到P1方格;修改相关位置格子的状态值。} 2.P1是围墙 如果工人前方是围墙 { 退出规则判断,布局不做改变; } 3.P1是目的地 如果工人前方是目的地 { 工人可以进到P1方格;修改相关位置格子的状态值。} * 4.前方P1是箱子 (1)P1处为箱子,P2处为墙 如果工人前方P1处为箱子,P2处为墙或出界;退出规则判断,布局不做任何改变。 (2)P1处为箱子,P2处为通道; 如果工人前方P1处为箱子,P2处为通道;工人可以进到P1方格;P2方格状态为箱子。修改相关位置格子的状态值。 (3)P1处为箱子,P2处为目的地; 如果工人前方P1处为箱子,P2处为目的地;工人可以进到P1方格;P2方格状态为放置好的箱子。修改相关位置格子的状态值。 4、游戏规则和对应算法 设计MoveTo()函数来实现,这是最复杂的部分,实现所分析的所有的规则和对应算法。 * private void MoveTo(int x1, int y1, int x2, int y2) { Map_State P1,P2; P1 = P2 = Map_State.None; if(IsInGameArea(x1, y1)) //判断p1是否在游戏区域 P1=myArray[x1, y1]; if (IsInGameArea(x2, y2)) P2 = myArray[x2, y2]; if (P1 == Map_State.Passageway)//P1处为通道 { MoveMan(x,y); x = x1; y = y1; myArray[x1, y1] = Map_State.Worker; } if (P1 == Map_State.Wall || !IsInGameArea(x1, y1)) //P1处为墙 return; if (P1 == Map_State.Destination)//P1处为目的地 { MoveMan(x, y); x = x1; y = y1; myArray[x1, y1] = Map_State.WorkerInDest; } MoveTo( )函数代码讲解 * //以下P1处为箱子 if (P1 == Map_State.Box )//P1处为箱子 if (P2 == Map_State.Wall || P2 == Map_State.Box)//P2处为墙 return; } //P1处为箱子,P2处为通道 if (P1 == Map_State.Box P2 == Map_State.Passageway) { MoveMan(x, y); x = x1; y = y1; myArray[x2,y2]=Map_State.Box; myArray[x1, y1] = Map_State.Worker; } MoveTo( )函数代
您可能关注的文档
- 演示文稿2重点.ppt
- 第十五章蒸汽净化和锅炉水质讲解.ppt
- 第十五章空场采矿法讲解.ppt
- 第十五章陶行知教育思想讲解.ppt
- 第十五章建筑电气工程施工图讲解.ppt
- 第十五节齿轮的规定画法、结构及图样讲解.ppt
- 演讲、论辩与逻辑重点.ppt
- 演讲-梦想高中生重点.ppt
- 演讲技巧培训(PPT 56页)重点.ppt
- 演讲稿的写作重点.ppt
- 1.1细胞是生命活动的基本单位课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 1.2细胞的多样性和统一性第1课时课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 第16课《白杨礼赞》课件-2025-2026学年统编版语文八年级上册.pptx
- 2026届高三生物一轮复习课件+减数分裂与生物的遗传、变异.pptx
- 3.1细胞膜的结构和功能第2课时课件-2025-2026学年高一上学期生物人教版必修1.pptx
- 2025届高三生物一轮复习课件2.1减数分裂和受精作用.ppt
- 中考语文二轮专题复习课件:新闻概括题.pptx
- 第6课《我看》课件+++2025-2026学年统编版语文九年级上册.pptx
- 第21课《人民英雄永存不朽》课件-2025-2026学年统编版语文八年级上册.pptx
- 2025年广西河池罗城特聘农机技术指导员的(1人)考前自测高频考点模拟试题含答案详解(b卷).docx
最近下载
- 神经内科三基考试题及答案.doc VIP
- 等离子体物理与当代高新技术(本科生).ppt VIP
- SMTC 2 800 003 LIN节点设计需求LIN node design requirements(20180730).pdf
- 医院医院安保服务及停车场运营管理服务招标文件.pdf
- (最新)社区网格员考试试题(含答案).docx VIP
- 老小区燃气管道改造监理实施细则.docx VIP
- 中国行业标准 YY/T 1831-2021梅毒螺旋体抗体检测试剂盒(免疫层析法).pdf
- Walkera华科尔无人机FCS-F8使用指南_CN_V1.2_2020.10.12(金属壳版).pdf
- 五升六数学暑假作业60天附答案.docx VIP
- 高中物理:强基计划专题讲座.pptx VIP
文档评论(0)