设计模式3:飞机大战源码PPT演示录像

1.功能介绍:

java做的飞机大战,包括4个关卡,每一关有BOSS, BOSS的移动方式有三角形、抛物线等方式,敌机子弹分散发射,有道具可回血,玩家和BOSS显示生命值,每一关有胜利画面。PPT介绍每个类的作用,有演示视频录像。

这么多的功能,足够一个初学者的实训项目。

2. 好的架构

虽然增加了很多功能,和之前消消乐、飞机大战的程序差不多。增加功能,原有程序基本不用改。程序用父类、接口。新功能,只需要做子类。原有程序不改,能快速地改进、扩展,就是好架构。

3.详细功能

敌机两种运动方式:下落,抛物线拐弯后返回 

一个敌机发出3个子弹:左右斜线,下落 

随机产生道具:回血。遇到屏幕边框反弹

关底的BOSS,BOSS的产生 

BOSS的各种移动:左右,三角形,抛物线,慢速,快速,停 

BOSS的血条 ,护甲,伤害的计算  

关卡的过渡,胜利画面,失败画面

飞机移动改为鼠标单击

4.技术

状态模式(用整数和多分支实现,可以状态模式改写)。可惜,这个模式在设计模式的书本靠后。

MVC的功能划分。父类、接口,就是根据model,view, 数据初始化,数据刷新,设计变量和函数。

游戏的基本技术:时间片,帧,x,y坐标增量,增量的修改,static的数据保存。

下载地址:

https://download.csdn.net/user/weixin_42644456/uploads

不能下载的,可以留联系方式,我直接发。

类的设计:

+---carry3 包
|       GameTool.java 公用数据和常量、状态
|       MyPanel.java 面板,绘图,游戏循环
|       Scene.java 场景,关卡数据
|       SceneFail.java 失败画面
|       SceneInner.java 每一关的胜利画面
|       Started.java 程序启动
|       UserListen.java 鼠标点击监听
+---gamerole 包
|       Boss.java         BOSS
|       BulletArray.java    玩家子弹数组
|       EnemyArray.java   敌机数组
|       EnemyBulletArray.java  敌机子弹数组
|       EquipArray.java  道具数组
|       Hero.java   玩家飞机
\---item
        HitData.java                        碰撞检测,双方数组下标
        ItemArrayBase.java            父类,多个单元
        ItemBase.java                     一个单元
        Path.java                  移动接口:两个函数,改变坐标,返回名称
        PathForward.java           向某个方向移动
        PathLine.java                  上下移动
        PathLineTo.java             点A到点B
        PathLoop.java                 左右
        PathLoop2.java                 三角形
        PathPao.java                    小U型抛
        PathPao2.java                大U型抛
        PathPao3.java               D型抛

类的设计,不止一种方法,可以有更好的方案。

这个案例,综合了java,设计模式,游戏编程的技术,可以作为一个锻炼的案例。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值