飞机大战设计流程

飞机大战的需求:

  1. 所参与的角色:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空

  2. 角色间的关系:

    • 英雄机发射子弹(单倍火力、双倍火力)

    • 子弹打敌人(小敌机、大敌机、小蜜蜂),若击中了:

      • 子弹直接消失、敌人先爆破再消失

      • 若击中的是小敌机,玩家得1分

        若击中的是大敌机,玩家得3分

        若击中的是小蜜蜂,英雄机得奖励(1条命,或,40火力值)

    • 敌人(小敌机、大敌机、小蜜蜂)撞英雄机,若撞上了:

      • 敌人先爆破再消失

      • 英雄机减1条命,同时火力值归0-------命数为0时游戏结束

    • 英雄机、子弹、小敌机、大敌机、小蜜蜂都在天空上飞

设计:

  1. 基于对象设计类、设计类中的实例变量

  2. 设计FlyingObject超类(设计超类抽的共性的过程叫做泛化)

  3. 设计超类的构造方法、派生类的构造方法

  4. 准备Images图片类

  5. 画窗口、画对象

  6. 功能实现:

    • 敌人入场

    • 子弹入场

    • 飞行物移动

    • 英雄机移动

    • 删除越界的飞行物

    • 子弹射击敌人

    • 敌人和英雄机撞

    • 检测游戏结束

    • 画状态

 

游戏状态分4种:

  1. 启动状态--------------------开点着火了,但还没有走

  2. 运行状态--------------------车走着了

  3. 暂停状态--------------------红灯了,暂时停止了

  4. 游戏结束状态--------------车停了

 

启动状态、暂停状态、游戏结束状态-------------------有图,但对象不动

运行状态--------------------------------------------------------没有图,但对象动

posted @   约拿小叶  阅读(207)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示