项目 射击游戏

这是一个使用Java编写的射击游戏,包含猪和鸟两种角色。游戏中的猪和鸟以标签控件的形式在背景面板上移动,线程控制它们的移动速度并随机休眠。当玩家点击鼠标时,如果子弹准备就绪,会消耗子弹并根据击中目标进行加分或扣分操作。
摘要由CSDN通过智能技术生成

Component at = backgroundPanel.getComponentAt(e.getPoint())
if (at instanceof BackgroundPanel)( //如果点到面板也扣除子弹MainFrame.useAmmo(); //消耗子弹

//生成猪角色的线程
class PigThread extends Thread(
@Override
public void run() (
while (true) (
// 创建代表猪的标签控件
PigLabel pig =new PigLabel();
pig.setSize(120,80); //设置控件初始大小
backgroundPanel.add(pig); // 添加控件到背景面板
try(
//线程随机休眠一段时间
sleep((long) (random() *3000) + 500);
) catch (InterruptedException e)(
e.printStackTrace();
/1生成鸟角色的线程
class BirdThread extends Thread (
@Override
public void run()t
while (true) (
// 创建代表鸟的标签控件
BirdLabel bird =new BirdLabel();
bird.setSize(50,50); //设置控件初始大小
backgroundPanel.add(bird); //添加控件到背景面板
try(
//线程随机休眠一段时间
sleep((long) (Math.random() *3000) + 500);
)catch (InterruptedException e)(
e.printStackTrace();

import java.awt Container;
import java awt.event.;
import javax.swing."
public class BirdLabel extends JLabel implements Runnable(
//随机生成线程的休眠时间,即控制鸟的移动速度
private int sleepTime = (int) (Math.random() *300) + 5;
private int y = 100;
private Thread thread; //将线程作为成员变量
private Container parent;
private int score = 15; /1 该类角色对应的分数
1/ 构造方法
public BirdLabel() (
super();
// 创建鸟的图标对象
Imagelcon icon = new lmagelcon(getClass().get

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值