1 Star 0 Fork 26

source / JavaFishlordGame

forked from 雨碎江南 / JavaFishlordGame 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Java项目——捕鱼达人

需求分析

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

功能分析

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

业务对象模型——找对象

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

对象之间的关系

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

数据模型

绘图的位置

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

如何实现捕鱼?

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

怎样判断是否捕鱼成功

类的设计

类模型

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

类的详细设计

鱼类的详细设计

各个属性的说明如下:

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

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

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

如何循环显示不同的图片

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

The MIT License (MIT) Copyright (c) 2015 高鹏飞 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Java语言实现的简易捕鱼达人游戏,实现了鱼的游动、捕鱼,计分等功能。 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/www.future.com/JavaFishlordGame.git
git@gitee.com:www.future.com/JavaFishlordGame.git
www.future.com
JavaFishlordGame
JavaFishlordGame
master

搜索帮助

14c37bed 8189591 565d56ea 8189591