java 吃豆豆游戏背景底纹_java swing开发简单的大鱼吃豆子小游戏,可用于毕业设计(附详细设计文档)...

/**

* @(#)fish.FishBean.java 2008-7-31

* Copy Right Information: Tarena

* Project: fish

* JDK version used: jdk1.6.4

* Comments: 豆豆类

* Version: 1.0

* SrDateModified ByWhy & What is modified

* 1.2008-7-31 小猪 新建

**/

package fish;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.Timer;

/**

* 豆豆类

* 2008-7-31

* @author达内科技[Tarena Training Group]

* @version1.0

* @sinceJDK1.6(建议)

* @authorAdministrator

*/

public class FishBean implements ActionListener{

/** 小鱼的位置x */

public int posx = 190;

/** 小鱼的位置y */

public int posy = 190;

/** 小鱼的大小,以size为半径画豆豆(圆)。 */

public int size = 10;

/** 小鱼的当前颜色 */

private Color color = Color.MAGENTA;

/** 小鱼的新颜色 */

private Color newColor = Color.MAGENTA;

/** 小鱼的旧颜色 */

private Color oldColor = Color.GRAY;

/** 小鱼消失时的闪烁时间 */

public static int flickerTime = 350;

/** 小鱼消失时的闪烁次数 */

public static int filckerNum = 8;

private int hasFileckedNum = 0;

/** 小鱼消失时闪烁的定时器 */

private Timer timer = null;

/**

* 缺省构造函数。按位置(40,40),大小15,颜色Color.MAGENTA构造一个豆豆。

*/

public FishBean() {

this(190,190,10,Color.MAGENTA,Color.GRAY);

}

/**

* 按照位置、大小、颜色构造一个豆豆类。

* @param posx 豆豆的水平坐标x。

* @param posy 豆豆的垂直坐标y。

* @param size 豆豆的大小。

* @param newColor 豆豆的颜色。

* @param oldColor 豆豆的旧颜色

*/

public FishBean(int posx,int posy,int size,Color newColor,Color oldColor) {

this.posx = posx;

this.posy = posy;

this.size = size;

this.newColor = newColor;

this.oldColor = oldColor;

this.color = newColor;

timer = new Timer(flickerTime,this);

}

/**

* 移动豆豆到新的位置。

* @param posx 豆豆的新水平坐标x。

* @param posy 豆豆的新垂直坐标y。

*/

public void newPos(int posx,int posy){

this.posx = posx;

this.posy = posy;

}

/**

* 绘制豆豆。

* @param g 画笔

*/

public void paint(Graphics g){

Color c = g.getColor();

g.setColor(color);

g.fillOval(posx, posy, size, size);

g.setColor(c);

}

/**

* 停止Timer。

*/

public void stopTimer(){

color = newColor;

timer.stop();

hasFileckedNum = 0;

}

/**

* 启动Timer。

*/

public void runTimer(){

timer.start();

}

/**

* 定时器事件。

*/

public void actionPerformed(ActionEvent e) {

hasFileckedNum++;

if(color.equals(newColor) || color==newColor)

color = oldColor;

else

color = newColor;

//定时器运行的次数完成时,停止定时器。

if(hasFileckedNum==filckerNum && timer.isRunning()){

stopTimer();

}

}

/**

* Timer定时器是否运行中。

* @return 返回Timer是否运行中。

*/

public boolean timerIsRunning(){

return timer.isRunning();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值