我是靠谱客的博主 会撒娇山水,最近开发中收集的这篇文章主要介绍java写飞机大战二,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

将游戏窗口显示出来之后,下一步要做的是考虑整个游戏的结构。

游戏角色有:(暂时没有写到可以吃的技能,也可能写不到……)

  1. 我方飞机
  2. 敌方普通飞机
  3. 敌方BOSS
  4. 还有子弹
总的来说是GameClient对这些游戏角色进行控制,所以这里用到一个叫做观察者模式的东西。
GameClient就是这个观察者,而所有游戏角色都是被观察者。
比如:当敌方飞机死亡,GameClient就给我方飞机加分。
如图:
加分的方法并不是敌方飞机需要关心的,因此,要写一个接口给GameClient。
直接上代码:
import java.util.List;
import com.mybeatplane.role.BossPcPlane;
import com.mybeatplane.role.Bullet;
import com.mybeatplane.role.NormalPcPlane;
public interface GameObserver {
// boss飞机的出现和死亡
public void onBossAppear(BossPcPlane bossPcPlane);
public void onBossDie(BossPcPlane bossPcPlane);
// 普通敌方飞机的出现和死亡
public void onNormalPcPlaneAppear(NormalPcPlane normalPcPlane);
public void onNormalPcPlaneDie(NormalPcPlane normalPcPlane);
// 子弹的出现和死亡
public void onBulletAppear(Bullet newBullet);
public void onBulletsAppear(List<Bullet> newBullets);
public void onBulletDisapper(Bullet bullet);
// 我方飞机的死亡
public void onMainPlaneDie();
}

具体的实现,就放在后面再写。
现在看的是游戏角色。
游戏角色都有出现,死亡,碰撞检测等相同的操作,这里也写一个接口给游戏角色,不过因为懒得写了,抽象程度并不高。

import java.awt.Rectangle;
// 每一个游戏角色都有的动作:
// 1,获取范围,以进行碰撞检测
// 2,死亡
// 3,移动
// 4,减血
// 5,碰撞
// 6,获取攻击力
public interface GameRole {
public Rectangle getRect();
public void godie();
public void move();
public void discreaseBlood(int discreaseValue);
public void hit(GameRole gameRole);
public int getAttackValue();
}

今天就到这吧。

最后

以上就是会撒娇山水为你收集整理的java写飞机大战二的全部内容,希望文章能够帮你解决java写飞机大战二所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部