• 周四. 4 月 23rd, 2026

物嫩软件资讯网

软件资讯来物嫩

Shoot射击游戏项目四andShoot射击游戏项目五

admin@wunen

4 月 24, 2025



  1. Shoot射击游戏项目四



    1.需求分析

    A:将窗体大小设置为常量

    B:画对象:

    ​ 先获取图片(每一个对象都有),获取的行为是共有的,放入父类中。

    ​ 每一个对象得到的图片行为不同,在父类中设计一个抽象方法-getimage();

    ​ 在不同状态下,得到不同照片:

    ​ 状态:父类中,设计常量:life、dead、remove

    ​ 默认状态:state=life

    ​ 获取图片的同时,需要判断当前状态

    ​ 每一个对象都需要判断,涉及到超类、父类中:

    ​ 每一个对象判断的行为都是一样的—–普通方法: FlyingObject:isLife()/isDead()/isRemove()

    C:在6个子类对象中重写getImage()方法;

    • sky:直接返回即可、
    • 子弹Bullet:如果存活的,返货images即可,如果over,删除即可。
    • 英雄机:如果存活的,返回images[0]/images[1]
    • 小敌机:如果存活,返回images[0],如果over,返回images[1]到images[4]进行切换,切换完毕,到images[4]删除。

    D:得到不同状态的图片,进行画对象;

    ​ 画对象的行为是共有的—超/父类;

    ​ 每个对象画的方式相同—普通方法;

    E:测试,调用。



    设计规则:

    ​ 将所有的子类所共有的行为和属性,可以涉及到父类中;——抽共性

    ​ 所有子类的行为都是一样的—普通方法;行为都不一样—–抽象方法。



Shoot射击游戏项目五



1.需求分析

A:敌人入场

  • 产生敌人:在shootMain类中,
  • 定时加载敌人—-enterAction()
  • 每400毫秒获取敌人,扩容,将敌人添加到最后一位。

B:子弹入场

  • 英雄机发射子弹hero类设计方法实现子弹发射—short()
  • run()方法,子弹发射shortAction()
  • 每400毫秒获取敌人,扩容,将敌人添加到最后一位。

C:飞行物的移动

  • 地热的移动
  • 天空的移动
  • 子弹的移动

D:英雄机随鼠标的移动而移动

  • 在greo中设计方法:movedTo()实现英雄级的运动;
  • 在ShootMain中建立监听机制,检测鼠标的移动事件;

删除越界的飞行物

  • 在FlyingObject中设计一个方法outOfBounds()–检测是否越界;

  • 在run()方法中,写一个方法outOfBoundsAction()删除越级的飞行物

    除越级的飞行物

    • 便利敌人、子弹数组,如果对象不越界,那么将存放到不越界的数组中,将不越界的数组复制到敌人、子弹数组中。

设计接口:

  • 击中小敌机+大敌机—–得1分 或者 3分——Enemy
  • 击中蜜蜂—–随机得生命或者火力—–Award

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注