您的位置:首页 > 编程语言 > Java开发

Java仿贪吃蛇游戏源码之小游戏吃豆豆源码附带文档

2018-02-07 12:51 861 查看
今天给大家分享一款小游戏源码,非常简单的吃豆豆小游戏,类似贪吃蛇一样的功能,有详细的功能接口描述文档,最下面会有下载地址。

一、 背景描述

在完成面向对象、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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: