2017-2018-1 JaWorld 团队作业--冲刺5(20162310)

团队项目之战斗机类分析博客

总结

  • 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏
  • 游戏中所有模型的原型设定是精灵,因此不管是敌机还是战斗机都是精灵类,精灵类是所有类的父类
  • 精灵类(Sprite)下有三个子类,一个是战斗机类,也就是玩家;一个是走直线的精灵类(AutoSprite),也就是对敌机的统称;- - 还有一个是爆炸类,指的是敌机或战斗机被摧毁。
  • 我所负责的是精灵类(Sprite)下的 战斗机类(CombatAircraft)

战斗机类CombatAircraft

战斗机类出现的过程分为,

显现-->被敌机击中-->爆炸-->战斗机闪烁-->消失
方法为beforeDraw---->afterDraw

战斗机效果

战斗机位于一个Canvas范围内

如果战斗机没有击毁
if(!isDestroyed()){
validatePosition(canvas);}

每隔7帧发射子弹

if(getFrame() % 7 == 0){
fight(gameView);
}

发射子弹,分为单发子弹和双发子弹,单发模式下渲染效果是黄色子弹,双发模式下是蓝色子弹

  • 单发模式下发射单发黄色子弹

      if(single){
    Bitmap yellowBulletBitmap = gameView.getYellowBulletBitmap();
    Bullet yellowBullet = new Bullet(yellowBulletBitmap);
    yellowBullet.moveTo(x, y);
    gameView.addSprite(yellowBullet);
    }
  • 双发模式下发射两发蓝色子弹

          float offset = getWidth() / 4;
    float leftX = x - offset;
    float rightX = x + offset;
    Bitmap blueBulletBitmap = gameView.getBlueBulletBitmap(); Bullet leftBlueBullet = new Bullet(blueBulletBitmap);
    leftBlueBullet.moveTo(leftX, y);
    gameView.addSprite(leftBlueBullet); Bullet rightBlueBullet = new Bullet(blueBulletBitmap);
    rightBlueBullet.moveTo(rightX, y);
    gameView.addSprite(rightBlueBullet); doubleTime++;
    if(doubleTime >= maxDoubleTime){
    single = true;
    doubleTime = 0;

发射炸弹

战斗机获得道具

判断是否获得炸弹道具

List<BombAward> bombAwards = gameView.getAliveBombAwards();
for(BombAward bombAward : bombAwards){
Point p = getCollidePointWithOther(bombAward);
if(p != null){
bombAwardCount++;
bombAward.destroy();
//Game.receiveBombAward();
}

判断是否获得子弹道具

List<BulletAward> bulletAwards = gameView.getAliveBulletAwards();
for(BulletAward bulletAward : bulletAwards){
Point p = getCollidePointWithOther(bulletAward);
if(p != null){
bulletAward.destroy();
single = false;
doubleTime = 0;
}
}

明天成员安排:

  • 马平川同学负责最后的类之间的耦合,所有成员讨论需要修改的地方。

2017-2018-1 JaWorld 团队作业--冲刺5的更多相关文章

  1. 2017-2018-1 JaWorld 团队作业--冲刺1

    2017-2018-1 JaWorld 团队作业--冲刺1(20162301) 一.小组分工: 由于小组成员在本周比较忙碌,所以考虑后本组的冲刺就按照每天加入不同的类来完成.我们根据类的难度大小来决定 ...

  2. 2017-2018-1 JaWorld 团队作业--冲刺2

    2017-2018-1 JaWorld 团队作业--冲刺2 (20162314) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...

  3. 2017-2018-1 JaWorld 团队作业--冲刺3

    2017-2018-1 JaWorld 团队作业--冲刺3 (20162306) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...

  4. 2017-2018-1 JaWorld 团队作业--冲刺4

    2017-2018-1 JaWorld 团队作业--冲刺4 (20162305) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...

  5. 2017-2018-1 JaWorld 团队作业--冲刺6

    2017-2018-1 JaWorld 团队作业--冲刺6(20162308) 实现 由于我在冲刺部分负责的是类之间的耦合,所以我就介绍一下本次游戏的总体实现. 我们定义了Sprite类,即精灵类,游 ...

  6. 2017-2018-1 JaWorld 团队作业--冲刺7

    2017-2018-1 JaWorld 团队作业--冲刺7 冲刺博客 冲刺1 冲刺2 冲刺3 冲刺4 冲刺5 项目完成情况 存在的问题 存在的问题是敌机只设置了一种,没能实现多种敌机的游戏设置. 界面 ...

  7. 【2017集美大学1412软工实践_助教博客】团队作业4——第一次项目冲刺(Alpha版本)小组 成绩

    第四次团队作业成绩公布 题目 团队作业4: http://www.cnblogs.com/happyzm/p/6722264.html 团队成绩 成绩公示如下: 检查项 会议内容 代码签入 心得体会或 ...

  8. 【2017集美大学1412软工实践_助教博客】团队作业8——第二次项目冲刺(Beta阶段)

    题目 团队作业8: http://www.cnblogs.com/happyzm/p/6856179.html 团队作业8-1 beta冲刺计划 团队 新加入的成员,担当的角色,技术特点 下一阶段需要 ...

  9. 【2017集美大学1412软工实践_助教博客】团队作业7——Alpha冲刺之事后诸葛亮

    题目 团队作业7: http://www.cnblogs.com/happyzm/p/6827853.html 团队成绩 评分项目 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 全组 ...

随机推荐

  1. IOS深入学习(20)之Object modeling

    1 前言 本节简单的介绍了对象建模,以及需要注意的事项. 2 详述 对象建模是对设计通过一个面向对象应用检测和操作服务的对象或者类的加工.许多模型技术是可能的:Cocoa开发环境不推荐歧义性. 典型地 ...

  2. java基础---->Java中图片的缩放

    缩略图代表网页上或计算机中图片经压缩方式处理后的小图 ,其中通常会包含指向完整大小的图片的超链接.缩略图用于在 Web 浏览器中更加迅速地装入图形或图片较多的网页.今天,我们就开始java中图像的缩略 ...

  3. html-withimg-loder

    由于 webpack 对 html 的处理不太好,打包 HTML 文件中的图片资源是相对来说最麻烦的.这里需要引用一个插件—— html-withimg-loder // 打包 HTML 文件中的图片 ...

  4. 安装php环境xampp

    1.下载xampp 安装 2.如果启动时发生端口占用错误, 是443和80端口被占用, 可以改成444,88端口, 在C:\xampp\apache\conf\extra\httpd-ssl.conf ...

  5. iOS 如何在视图中添加一个用xib创建的view

    NSArray *nib = [[NSBundle mainBundle]loadNibNamed:[pages objectAtIndex:] owner:self options:nil]; // ...

  6. android系统自带图标

      android:src="@android:drawable/ic_media_rew"    

  7. Unity3D 笔记一 初始Unity3D

    一.初步认识Unity 1.Unity支持C#.JavaScript.Boo,JavaScript不是标准语法,常称为UnityScript更合适 2.Update 每一帧都会调用该方法.Start. ...

  8. 处理URL传递中文乱码问题

    在网上搜了很多资料都没有搞定,一般都有以下几种说法: 方法1:在后台中先获得字符串的iso-8859-1编码形式数组,再使用此数组实例一个UTF-8编码形式String类型字符串. 页面提交的url为 ...

  9. 封装自己的getClassName函数

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. mongodb实现对某列求和SUM

    mongodb数据如下: db.cpc_0103.find() { "a" : 8, "b" : "108177_200701010000" ...