java多线程捕鱼达人小游戏

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.set
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值