Java课设对对碰_第11章对对碰游戏(图形版)(Java游戏编程原理与实践教程课件).ppt...

游戏界面和相关图片素材 11.3 程序设计的步骤 11.3.1 设计游戏窗口类(GameRoom.java) 游戏窗口类GameRoom实现游戏全部功能,继承JFrame组件实现的。是由上方Panel1和中间Panel2组成。 11.3.2 设计内部游戏面板类 游戏面板类RoomPanel是图形化实现对对碰游戏的关键,在面板中重载Paint事件将背景图片、动物池和所有动物绘制到面板中。 11.3.3 设计内部定时器类 内部定时器类TimeListener修改剩余时间,并判断是否到达100,如果到达则定时器结束,出现对话框提示是否继续游戏,如果用户选择“是”按钮则可以开始新游戏,选择“否”按钮则退出程序。 Java游戏编程原理与实践教程 主编 陈锐 夏敏捷 人民邮电出版社 游戏在8 × 8格子的游戏池中进行。每个格子中有一个图像。鼠标连续选中两个相邻的图像,它们的位置会互换,互换后如果横排或竖排有 3 个以上相同的图像,则可以消去该图像,并得分。 本章开发的游戏开始界面如图11-1,用户开始游戏后,直到窗口上方的时间值为0秒时结束。消掉图像方块可以增加用户的得分(消去一块用户的得分增10分)。 第11章 对对碰游戏(图形版) 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()刷新显示需要绘制的所有方块图形,从而看到动态游戏效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值