15 Star 27 Fork 14

雨碎江南 / JavaFishlordGame

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

Java项目——捕鱼达人

需求分析

  • 在鱼池中有很多鱼,鱼各自游动。
  • 有一张渔网,随鼠标移动,点击鼠标可以抓取渔网中的鱼。
  • 抓到鱼进行计分。

功能分析

业务对象模型(“找对象”,理清对象之间的关系)---->数据模型(用合理的数据模型描述对象)----->类的设计(根据对象关系和数据模型设计类)。

业务对象模型——找对象

窗口、鱼池、多条鱼、渔网。

对象之间的关系

这种关联关系可以使用类的属性来描述。

数据模型

绘图的位置

鱼在屏幕上移动实际上就是矩形的左上角的坐标发生了变化。

如何实现捕鱼?

渔网的范围和鱼的范围重叠。——判断一个点是否在矩形范围之内即可。同理:打飞机的游戏也可以依照这种算法实现。

怎样判断是否捕鱼成功

类的设计

类模型

  • 由于每条鱼的行为不一样,所以要继承线程类,实现并发——屏幕上有多条鱼各自移动。
  • 鱼池继承JPannel,并引入自己的新的属性:鱼和鱼池。

类的详细设计

鱼类的详细设计

各个属性的说明如下:

  • step:鱼的移动速度
  • Images:鱼图片的数组
  • Image:当前正在显示的鱼的图片
  • Index:帧

如何实现诸如鱼的摆尾这样的动画效果?

我们只需要将鱼的所有运动的帧放入到一个图片数组,逐帧改变背景图片,由于人眼的视觉暂留,就会产生动画效果。

如何循环显示不同的图片

不断对Index进行自增取余运算,就类似于数据结构中的循环队列那样处理即可。

Comments ( 1 )

Sign in for post a comment

About

Java语言实现的简易捕鱼达人游戏,实现了鱼的游动、捕鱼,计分等功能。 spread retract
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more
Java
1
https://git.oschina.net/gaopengfei/JavaFishlordGame.git
git@git.oschina.net:gaopengfei/JavaFishlordGame.git
gaopengfei
JavaFishlordGame
JavaFishlordGame
master

Search