Shoot射击游戏项目------------day06

Shoot射击游戏项目四

a:将窗体的大小设置为常量

b:画对象

	想画对象先获取图片,针对每一个对象都能够获取到图片,获取到图片的行为是共有的,设计到父类中;---------FlyingObject

	每一个对象得到图片的行为都是不一样的,设计了一个抽象方法--------------getImage();

	在不同状态下,得到不同的图片:

		状态:设计到父类中,设计常量:LIFE;DEAD;REMOVE;

		默认状态:state = LIFE

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

		每一个对象都需要判断,设计到超类,父类中;

		每一个对象的判断的行为都是一样的,设计普通方法即可。

-		--------FlyingObject:isLife()/isDead()/isRemove()

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

	天空Sky:直接返回即可。

	子弹Bullet:如果是存活的,返回images即可

				如果是over的,删除即可

	英雄机Hero:如果是存活的,返回images[0]/images[1]

	小敌机Airplane:如果是存活的,返回images[0]

			如果over,images[1]到images[4]进行切换,切换完毕,到images[4]之后进行删除

d:得到不同状态下的图片,进行开始画出来;

	画对象的行为是共有的,所以设计到超类中;

	每一个对象画的方式都是一样饿,所以设计为普通方法;

e:测试,调用即可

	设计规则:

		将所有子类所共有的行为和属性,可以设计到超类中,-----抽共性

		所有子类的行为如果都是一样的,设计为普通方法;

		所有子类的行为如果都是不一样的,要设计为抽象方法。

Shoot射击游戏项目五

a:需求分析

	敌人入场

		产生敌人:在shootMain类中nextOne()

		需要定时加载敌人;----------enterAction()实现敌人入场

		每400毫秒,获取到敌人,扩容,将敌人添加到数组的最后一位。

	子弹入场

		从英雄机里发射子弹Hero类设计一个方法来实现子弹发射--------shoot()

		run()方法中,子弹的发射shootAction()

		每400毫秒,获取到子弹数组,扩容,将子弹数组添加到数组的最后一位。

飞行物的移动 

		敌人的移动

		子弹移动

		天空移动

英雄机移动

		英雄机随鼠标进行移动

		在hero中设计一个方法 movedTo()实现英雄机的移动

		在shootmian中简历箭头机制,检查鼠标的移动时间

删除越界的飞行物

	在flyingobject中设计一个方法outOfBounds()------检测是否越界

	在run()方法中,写一个outOFBoundsAction()---------删除越界的飞行物

		遍历敌人数组  子弹数组  如果对象不越界,那么将存放到不越界的数组中,将不越界的数组复制到敌人数组中或者子弹数组中

设计接口

	击中小敌机+大敌机-------得1或3分----------Enemy

	击中蜜蜂----------随机得生命值  或 火力值---------Award
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值