1.创建弹窗,并设置窗口属性。
2.创建Pool类,继承JPanel类,并重写paint方法。
3.创建Net类,
4.创建Fish类,继承Thread类,重写run方法。
5.刚开始先画一条鱼,一个动作,然后利用数组,定义多条鱼,在水里游起来,最后定义catchFish方法,捕鱼。
import javax.swing.*;
public class FishGame {
public static void main(String[] args) {
//创建窗口
JFrame jFrame = new JFrame();
//创建一个Pool对象,并把该对象放到窗口上
Pool pool = new Pool();
jFrame.add(pool);
//设置大小(窗口大小由池塘图片大小决定)
jFrame.setSize(800,480);
//设置居中
jFrame.setLocationRelativeTo(null);
//设置大小不可变
jFrame.setResizable(false);
//设置关闭窗口退出程序
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//展示窗口
jFrame.setVisible(true);
}
}
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
//继承JPanel类
public class Pool extends JPanel {
//声明池塘图片
BufferedImage poolImage;
//声明池塘的宽和高,XY坐标
int poolWidth = 0;
int poolHeight = 0;
int poolX = 0;
int poolY = 0;
//定义一个构造方法
Pool(){
try {
//接收读取到的池塘图片,宽和高
poolImage = ImageIO.read(new File("src/images/bg.jpg"));
poolWidth = poolImage.getWidth();
poolHeight = poolImage.getHeight();
} catch (IOException e) {
e.printStackTrace();
}
}
//重写父类paint方法
@Override
public void paint(Graphics g) {
g.drawImage(poolImage,0,0,null);
}
}
运行结果如下

import javax.swing.*;
public class FishGame {
public static void main(String[] args) {
//创建窗口
JFrame jFrame = new JFrame();
//创建一个Pool对象,并把该对象放到窗口上
Pool pool = new Pool();
jFrame.add(pool);
//设置大小(窗口大小由池塘图片大小决定)
jFrame.setSize(800,480);
//设置居中

本文介绍了一个使用Java开发的多线程捕鱼达人小游戏。通过创建弹窗、Pool类、Net类和Fish类,实现了游戏的基本功能。Fish类继承Thread类,模拟多条鱼在水中游动的效果。玩家可以通过鼠标捕获游动的鱼,被捕获的鱼会回到起点重新开始游动。游戏具有交互性,渔网可随鼠标移动,点击鱼即可进行捕捉。
最低0.47元/天 解锁文章
582

被折叠的 条评论
为什么被折叠?



