Java仿贪吃蛇游戏源码之小游戏吃豆豆源码附带文档
2018-02-07 12:51
861 查看
今天给大家分享一款小游戏源码,非常简单的吃豆豆小游戏,类似贪吃蛇一样的功能,有详细的功能接口描述文档,最下面会有下载地址。
一、 背景描述
在完成面向对象、Swing、线程的课程后,可以开始练习本项目的部署安排。安排本练习的主要目的理解面向对象、能够用面向对象的思路去思考问题,结合Swing和现成的知识完成本项目。
二、 实现要求
使用面向对象的方式,完成本项目。
三、 实现技术
a) 熟练使用if、for等语句进行逻辑操作。
b) 分析数据的属性和方法,能够熟练地写出该数据表示的类。
c) 使用JFrame创建一个窗体。
d) 掌握ActionListener等事件的注册、添加、操作等。
e) 使用Grahpics能够绘制一般的图形、根据需要定制自己需要的复杂图形。
四、 类图
a) 类图
b) 类图说明
c) 程序效果图
获取地址:http://programmer.ischoolbar.com/index.php/article/article/id/82.html
若上述地址失效请加我:
V X:qixinfang002,(加的时候备注项目名称)
更多Java项目:http://programmer.ischoolbar.com
一、 背景描述
在完成面向对象、Swing、线程的课程后,可以开始练习本项目的部署安排。安排本练习的主要目的理解面向对象、能够用面向对象的思路去思考问题,结合Swing和现成的知识完成本项目。
二、 实现要求
使用面向对象的方式,完成本项目。
三、 实现技术
a) 熟练使用if、for等语句进行逻辑操作。
b) 分析数据的属性和方法,能够熟练地写出该数据表示的类。
c) 使用JFrame创建一个窗体。
d) 掌握ActionListener等事件的注册、添加、操作等。
e) 使用Grahpics能够绘制一般的图形、根据需要定制自己需要的复杂图形。
四、 类图
a) 类图
b) 类图说明
类名称 | BigMouthFishFrame | |
类描述 | 大嘴鱼界面类。完成大嘴鱼的界面的绘制。该类继承JFrame。 | |
包描述 | main | |
函数描述 | public static void main(String[] args) | 程序的主函数。 |
BigMouthFishFrame() | 构造函数。构造大嘴鱼界面。 |
类名称 | BigMouthFish | |
类描述 | 大嘴鱼类。此类继承AcitonListener,实现AcitonPerformed方法,练习ActionListener的另一种实现方法。此类还练习定时器Timer的使用。此类还练习图形类Graphics的使用。 | |
包描述 | fish | |
函数描述 | public BigMouthFish() | 大嘴鱼缺省构造函数.创建一个位置为(200,200),大小为50,方向为右,颜色为Color.CYAN,速度为10的大嘴鱼 |
public BigMouthFish(int posx,int posy,int size,int direction,Color color,int speed) | 根据位置、大小、方向、颜色、速度构造一个大嘴鱼。 | |
public void move() | 大嘴鱼移动。根据鱼的方向移动鱼。 | |
public void changeColor(Color color) | 改变大嘴鱼身体的颜色。 | |
public void changeDir(int direction) | 改变大嘴鱼的方向 | |
public void paint(Graphics g) | 使用画笔绘画大嘴鱼.大嘴鱼的头像:一个扇形的是鱼脸,上面有一个小圆是眼睛1.保存画笔颜色、2.绘制大嘴鱼的脸、3.绘制大嘴鱼的眼睛、4.恢复画笔颜色 |
类名称 | FishPool | |
类描述 | 鱼池类。大鱼和小鱼放到此鱼池中,当大嘴鱼每吃10条小鱼的时候,鱼的size加1,速度加2。每条小鱼默认存在的时间是15秒钟。10秒后自动消失。此类练习if、for、Timer、内部类等的使用。更重要的是,希望学员做这个的游戏时候能做好严谨的逻辑考虑后,再动手。难点:大嘴鱼在鱼池边界的处理、大嘴鱼升级时的相关问题的处理。 | |
包描述 | fish | |
函数描述 | FishPool() | 鱼池的缺省构造函数。此处需要完成上下左右键的注册功能。 |
private void initFishBean() | 初始化小鱼。保证小鱼生成的位置与大嘴鱼的位置不重叠。 | |
private void beanNewPos() | 小鱼重新生成新位置。保证小鱼生成的位置与大嘴鱼的位置不重叠。 | |
public void paint(Graphics g) | 覆盖JLabel的paint事件。 | |
private void bigFishMove(int direction) | 大嘴鱼的移动。根据大嘴鱼嘴的方向,判断其是否到了鱼池边界(此处为难点)。 | |
private boolean isTouched() | 检测大嘴鱼是否吃到了小鱼。 | |
内部类 | private class RightListenerImpl extends AbstractAction | 内部类 -向右按键事件。 |
private class DownListenerImpl extends AbstractAction | 内部类 -向下按键事件。 | |
private class DownListenerImpl extends AbstractAction | 内部类 -向下按键事件。 | |
private class LeftListenerImpl extends AbstractAction | 内部类 -向左按键事件。 | |
private class TimerListenerImpl implements ActionListener | 内部类 -图形重回事件。 |
类名称 | FishBean | |
类描述 | 豆豆类 | |
包描述 | fish | |
函数描述 | public FishBean() | 缺省构造函数。按位置(190,190),大小10,颜色Color.MAGENTA构造一个豆豆。 |
public FishBean(int posx,int posy,int size,Color newColor,Color oldColor) | 按照位置、大小、颜色构造一个豆豆类。 | |
public void newPos(int posx,int posy) | 移动豆豆到新的位置。 | |
public void paint(Graphics g) | 绘制豆豆。 | |
public void stopTimer() | 停止Timer。 | |
public void runTimer() | 启动Timer。 | |
public void actionPerformed(ActionEvent e) | 定时器事件。 | |
public boolean timerIsRunning() | Timer定时器是否运行中。 |
类名称 | FishUtilities | |
类描述 | 检测大嘴鱼和小鱼碰撞类。此类练习Math的静态函数的使用。 | |
包描述 | tools | |
函数描述 | public static boolean isInteraction(BigMouthFish fish,FishBean bean) | 返回大嘴鱼是否吃掉了小鱼。方式:检测2鱼(圆)之间是否相切或相交。判断2圆心之间的距离小于2圆半径之和。此处判断小于大嘴鱼的半径即可。让大嘴鱼可以吃掉小鱼。 |
类名称 | RandomUtil | |
类描述 | 数学类-随机数生成类 | |
包描述 | tools | |
函数描述 | public static int randomInt(int a,int b) | 生成a-b的随机数 |
public static int randomInt(int a) | 返回0-a的随机数。 |
c) 程序效果图
获取地址:http://programmer.ischoolbar.com/index.php/article/article/id/82.html
若上述地址失效请加我:
V X:qixinfang002,(加的时候备注项目名称)
更多Java项目:http://programmer.ischoolbar.com
相关文章推荐
- Java swing实现的小游戏24点游戏源码附带视频指导教程
- Java swing mysql(Oracle)实现的飞机订票系统项目源码附带视频教程及设计文档
- 【Java】Java小游戏之Shoot游戏源码及详解
- Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】
- [置顶] 数千个Android项目源码安卓游戏源码大全经典安卓项目附带源码(文档版)
- java swing实现的小游戏flybird源码附带视频配置修改教程
- java版 贪吃蛇小游戏 完整源码 (测试100%无误
- Java开发的游戏之二 贪吃蛇 完整源代码
- 框架应用开发【★更新★】Portal-Basic Java Web 开发框架 v3.1.1 正式发布(源码、示例及文档)-java教程
- JAVA使用POI操作word文档实例,兼容doc,docx(附源码)
- Java打飞机小游戏(附完整源码)
- java Swing实现的星际争霸游戏源码
- myeclipse每次启动都提示注册的解决方案(附带生成注册码的java源码)
- 【java核心技术】开发环境配置-eclipse关联源码和文档
- Java游戏服务器成长之路——弱联网游戏篇(源码分析)
- flash 2.5D游戏引擎,开源,带全套源码 附送2个小游戏
- Java贪吃蛇游戏
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之服务器端类
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之服务器端类
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之客户端类