欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java实战项目——飞机大战

程序员文章站 2022-06-21 15:09:51
java实现的GUI小游戏,飞机大战,详解了各类对象实现思路。...

游戏功能概览

本小游戏共有五个类,分别是敌机类,蜜蜂类,英雄机类,背景类,已经继承JPanl类的绘图类Panl,子弹类。

实现功能:

  • 英雄机击毁敌机增加积分
  • 英雄机击毁蜜蜂增加血量和积分
  • 英雄机碰到敌机则扣血
  • 积分到达一定分数,游戏通关
  • 英雄机血量耗尽或子弹耗尽,游戏结束

游戏界面

Java实战项目——飞机大战

Java实战项目——飞机大战

实现思路

背景类,继承Thread类:

  • 成员变量Background:保存背景图片;
  • 成员变量x,y:保存图片的位置;
  • 构造方法:读取图片在电脑中位置,将Background,x,y赋值;
  • move方法:移动图片位置;
  • run方法:通过无限循环执行move方法,不停改变图片位置;

敌机类,继承Thread类:

  • 成员变量name:保存敌机名;
  • 成员变量nowplane:保存当前敌机图片;
  • 成员变量dieplane数组,保存敌机死亡的过程图片;
  • 成员变量x,y:保存当前敌机的位置;
  • 成员变量width,height:保存当前敌机的长宽;
  • 成员变量blood:保存敌机血量;
  • 成员变量speed:保存敌机速度;
  • 成员变量cathed:保存敌机当前状态,是否被击中;
  • 构造方法:读取敌机图片在电脑中的位置,将nowplane,dieplane,x,y,width,height赋值,再将其他变量按意愿赋值;
  • move方法:移动当前敌机位置,当敌机位置超出屏幕时重定位敌机位置;
  • out方法:将敌机位置重置,与turn方法一起使用;
  • turn方法:将当前敌机图片变成敌机被击毁的图片;
  • run方法:判定敌机未被击毁执行move方法,敌机被击毁执行turn方法和out方法;

蜜蜂类,继承Thread类,和敌机类类似;

子弹类,继承Thread类:

  • 成员变量bullet:保存子弹图片;
  • 成员变量x,y:保存子弹位置;
  • 成员变量width,height:保存子弹的长宽;
  • 成员变量hero,保存英雄机,从而定位子弹位置,使子弹每次出现在英雄机的位置;
  • move方法:改变子弹位置;
  • cathedEnemyPlane方法:判断子弹与敌机的位置,是否击中,击中则扣血,血扣光将敌机的cathed变量赋值为true;
  • cathedBeer方法:判断子弹与蜜蜂的位置,是否击中,击中则扣血,血扣光将蜜蜂的cathed变量赋值为true;
  • run方法:不断执行move方法;

英雄机类,继承Thread类:

  • 成员变量与之前类相似;
  • change方法:改变当前英雄机图片;
  • run方法:不断运行change方法;

Panl类,继承JPanel:

  • 构造方法:为成员变量蜜蜂类对象,敌机类对象,子弹类对象,英雄机对象赋值;
  • paint方法:进行一次性绘图,将各类对象画出来
  • action方法:开启各类的线程,进行无限循环调用repeat重绘方法和cathed方法;
  • cathed方法:将所有的敌机对象和子弹进行距离判断,将所有蜜蜂对象和子弹进行判断,将所有敌机和英雄机进行距离判断,实际上就是调用子弹的cathed方法,将敌机,蜜蜂对象传进去。

后续

如有需要代码,可以留言,人数多我就发一份。

本文地址:https://blog.csdn.net/weixin_44078014/article/details/109812787