1,游戏原理

swing+多线程+事件监听

swing实现的界面的绘制;

多线程实现产生多种鱼,实现鱼的游动,以及网的移动;

事件监听实现鼠标捕鱼事件的捕获;

2,主要类和方法解释

鱼,背景,网都是图片,之所有是动态的效果,因为线程或者鼠标移动引起图片的变化.

2.1,Fishlord

public class Fishlord {
main(){}
}

main方法实现程序的启动和游戏循环的开启;

JFrame frame = new JFrame("捕鱼达人"),这句就创建了游戏的

主窗口;Pool pool = new Pool()创建了鱼池;pool.action()开启游戏

主循环;

2.2,JPanel

class Pool extends JPanel {

//加载游戏的背景,创建鱼类

Pool() {}

//游戏主界面绘制方法

public void paint(Graphics g) { }

//游戏主循环

action(){}

//捕鱼的逻辑实现

catchFish(){}

}

Pool继承了JPanel就是在窗口上的一个面板,面板可以绘制在窗口中;

2.3,Fish

class Fish extends Thread {

}

Fish继承了Thread,鱼就是一个线程,当它的x坐标不断改变的时候,鱼就向左移动了,当同一条鱼的图片不断改变的时候,这条鱼看起来就是动态的效果;

超出边界的鱼应该消失,进入渔网的鱼应该消失,同时分数++;

2.4,Net

class Net {

}

Net就是渔网,监听鼠标后,将鼠标的中心设置为渔网的中心,鼠标移动,网页会动;

3,效果图

捕鱼达人java项目 java捕鱼达人教程_java捕鱼达人

-------------------------------------------分割线------------------------------------------------------------------------------

捕鱼达人java项目 java捕鱼达人教程_java捕鱼达人_02