- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java游戏编程原理与实践教程课件第11章—陈锐夏敏捷主编
Java游戏编程原理与实践教程;游戏在8 × 8格子的游戏池中进行。每个格子中有一个图像。鼠标连续选中两个相邻的图像,它们的位置会互换,互换后如果横排或竖排有 3 个以上相同的图像,则可以消去该图像,并得分。
本章开发的游戏开始界面如图11-1,用户开始游戏后,直到窗口上方的时间值为0秒时结束。消掉图像方块可以增加用户的得分(消去一块用户的得分增10分)。; 游戏界面和相关图片素材 ;11.2 程序设计的思路
游戏屏幕由8行8列的方块组成,方块的动物图案各不相同。为了存储游戏画面中方块动物的图案采用二维数组animal [8,8],储存对应按钮的动物图案ID(0到6的数字)。
在定时器timer控制下,不停的更新剩余时间,如果剩余时间为0秒,则游戏结束,出现图11-3游戏结束对话框提示用户是否继续。 ;11.2 程序设计的思路
当用户鼠标连续选中两个相邻的方块,这里不是按钮,所以识别是那个动物方块是通过鼠标单击处像素坐标计算出棋盘坐标来识别。由于两次选择所以通过(x1, y1)记录第一次位置,( x2, y2)记录第2次位置。交换二维数组animal中(x1, y1)和( x2, y2)元素两个方块的动物图案ID,交换以后调用isThreeLinked(y2, x2)和|isThreeLinked(y1, x1)检测屏幕上是否有符合消去规则的方块,如果有被消去的方块,则removeLinked(y2, x2)修改记录要绘制方块的动物图案ID的animal数组对应元素的值,不需要绘制为EMPTY(即7,因为动物图案ID是0到6的数字)。并调用updateAnimal()从游戏屏幕该列上方重新随机产生新的动物图案ID,更新动物图案ID数组animal[8][8]。最后repaint()刷新显示需要绘制的所有方块图形,从而看到动态游戏效果。;11.3 程序设计的步骤
11.3.1 设计游戏窗口类(GameRoom.java)
游戏窗口类GameRoom实现游戏全部功能,继承JFrame组件实现的。是由上方Panel1和中间Panel2组成。
11.3.2 设计内部游戏面板类
游戏面板类RoomPanel是图形化实现对对碰游戏的关键,在面板中重载Paint事件将背景图片、动物池和所有动物绘制到面板中。
11.3.3 设计内部定时器类
内部定时器类TimeListener修改剩余时间,并判断是否到达100,如果到达则定时器结束,出现对话框提示是否继续游戏,如果用户选择“是”???钮则可以开始新游戏,选择“否”按钮则退出程序。
您可能关注的文档
- CI教学第9讲—基本组合设计.ppt
- conversion英语对话翻译技巧.ppt
- CKONGERP09生产作业操纵.ppt
- CNE040613040009HUAWEIBSC6000故障管理—200611228—A—1.2.ppt
- CM—集群管理与负载均衡系统.pptx
- CJ3-3免疫功能异常.ppt
- Civil2012—升级内容.pptx
- CO的化学性质及用途.ppt
- CIS作业展示第6组.ppt
- CorelDRAWX4实用案例教程第1章入门.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)