本周,东软睿道王涛老师在直播课堂中讲解了如何用Java实现捕鱼达人游戏。这款经典的游戏,不仅仅给我们带来欢乐,也能让我们将很多重要的技术和知识点串起来。 今天,我们将课程的文档、源码、录屏分享给各位同学, 在微信公众号后台回复关键词【捕鱼达人】即可获取 。以下是课程文档,记得收藏哦!
1. 软件开发基础
开发工具:Eclipse(锅)
使用的开发包:Java Swing(原料)
开发过程:(炒菜)
设计:懂事儿(先做什么、再做什么)
编码:把事儿翻译成代码(编程基本技能)
程序框架:源代码和素材
面向对象编程思想
2. 核心模块说明
窗口:应用程序主窗口
鱼池:鱼池背景显示、鱼的游动效果、网的效果、鼠标事件监听
鱼:鱼的图片加载、鱼的速度控制、鱼的坐标修改、鱼的捕获判断
网:网的图片加载、网的图片显示
3. 捕鱼达人中的核心逻辑
3.1 窗口属性修改 面向对象的开发步骤:
定义类
创建对象
调用对象方法解决问题
以修改Title标题、设置窗口大小固定、修改Icon图标为例,说明面向对象开发过程。
3.2 鱼的移动 鱼在鱼池中移动的原理,其实就是逐帧播放原理,也就是周期性的改变鱼的坐标并重新显示,步骤如下:
鱼池每100ms重绘repaint一次
先画鱼池背景,盖住鱼池中上一次画的鱼
根据鱼的坐标位置画鱼
根据鱼的速度修改鱼的坐标
3.3 鱼的游动效果(动图切换) 在逐帧播放基础上,每次重绘的鱼身图片不断按顺序变化,即可产生鱼的游动效果,步骤如下:
10张鱼身图片存在数组中
每次重绘鱼池背景后,重绘鱼身图片
重绘后,数组下标+1操作,下标从0到9不断变化
3.4 鼠标点击后的抓鱼处理 鼠标事件监听利用内部类完成,抓鱼操作在鼠标压下事件处理中完成,步骤如下:
定义鼠标监听内部类
将鼠标监听加入鱼池对象
重写鼠标压下事件处理
判断鼠标坐标在哪条鱼的范围内
3.5 计分 不同的鱼应该有不同的积分,在鱼池中抓到鱼后累计积分,步骤如下:
鱼类中增加分值属性,每种鱼分值不同
鱼类中增加分值的getter方法
鱼池类中增加积分属性
鱼池类中,抓到鱼后,将鱼的分值累加到积分属性上
4 实现结果
注:完整代码、工程文件、课程录屏,请到【东软睿道】微信公众号后台回复关键词【捕鱼达人】获取。