2017-2018-1 JaWorld 团队作业--冲刺5
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的更多相关文章
- 2017-2018-1 JaWorld 团队作业--冲刺1
2017-2018-1 JaWorld 团队作业--冲刺1(20162301) 一.小组分工: 由于小组成员在本周比较忙碌,所以考虑后本组的冲刺就按照每天加入不同的类来完成.我们根据类的难度大小来决定 ...
- 2017-2018-1 JaWorld 团队作业--冲刺2
2017-2018-1 JaWorld 团队作业--冲刺2 (20162314) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...
- 2017-2018-1 JaWorld 团队作业--冲刺3
2017-2018-1 JaWorld 团队作业--冲刺3 (20162306) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...
- 2017-2018-1 JaWorld 团队作业--冲刺4
2017-2018-1 JaWorld 团队作业--冲刺4 (20162305) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...
- 2017-2018-1 JaWorld 团队作业--冲刺6
2017-2018-1 JaWorld 团队作业--冲刺6(20162308) 实现 由于我在冲刺部分负责的是类之间的耦合,所以我就介绍一下本次游戏的总体实现. 我们定义了Sprite类,即精灵类,游 ...
- 2017-2018-1 JaWorld 团队作业--冲刺7
2017-2018-1 JaWorld 团队作业--冲刺7 冲刺博客 冲刺1 冲刺2 冲刺3 冲刺4 冲刺5 项目完成情况 存在的问题 存在的问题是敌机只设置了一种,没能实现多种敌机的游戏设置. 界面 ...
- 【2017集美大学1412软工实践_助教博客】团队作业4——第一次项目冲刺(Alpha版本)小组 成绩
第四次团队作业成绩公布 题目 团队作业4: http://www.cnblogs.com/happyzm/p/6722264.html 团队成绩 成绩公示如下: 检查项 会议内容 代码签入 心得体会或 ...
- 【2017集美大学1412软工实践_助教博客】团队作业8——第二次项目冲刺(Beta阶段)
题目 团队作业8: http://www.cnblogs.com/happyzm/p/6856179.html 团队作业8-1 beta冲刺计划 团队 新加入的成员,担当的角色,技术特点 下一阶段需要 ...
- 【2017集美大学1412软工实践_助教博客】团队作业7——Alpha冲刺之事后诸葛亮
题目 团队作业7: http://www.cnblogs.com/happyzm/p/6827853.html 团队成绩 评分项目 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 全组 ...
随机推荐
- java基础---->多线程之Daemon(五)
在java线程中有两种线程,一种是用户线程,另一种是守护线程.守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁.今天我们通过实例来学习一下java中关于守护线程的知识.我是个平 ...
- bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过.windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下 ...
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack
硬件要求 安装OpenStack 1 安装CentOS 65系统并清空iptables防火墙规则 2 安装系统需要的工具包包括Openstack依赖的和CloudFoundry依赖的 3 安装EPEL ...
- IIS 无法访问.net的动态文件
编译器错误消息:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319... 在“c:\windows\temp”这个文件夹添 ...
- NIO之Buffer的clear()、rewind()、flip()方法的区别
Java的NIO中有关Buffer的几种常用方法比如clear,rewind和flip到底有哪些区别.下面给大家这三种方法的源码,方便大家记忆.clear()方法用于写模式,其作用为情况Buffer中 ...
- 详解Go语言中的屏蔽现象
在刚开始学习Go语言的过程中,难免会遇到一些问题,尤其是从其他语言转向Go开发的人员,面对语法及其内部实现的差异,在使用Go开发时也避免不了会踩"坑".本文主要针对Go设计中的屏蔽 ...
- 双调欧几里得旅行商问题(TSPhdu2224)
http://acm.hdu.edu.cn/showproblem.php?pid=2224 The shortest path Time Limit: 1000/1000 MS (Java/Othe ...
- Linux环境下安装Redis并完成测试(已验证)
准备工作: 本人测试环境:Win7 xshell远程登录Linux Linux: ubuntu 软件包:redis-3..2.6.tar.gz (Linux下redis安装包) =========== ...
- sql 将一张表中的数据插入到另一张表
将表T_wz_wz中的部分数据插入到表t_wz_kc: insert into t_wz_kc(wzid,jldwid,kcsl,yfpkcsl,cshwcbz) select wzid,jldwid ...
- Oracle等待事件之Latch Free
1.产生原因 表示某个锁存器上发生了竞争.首先应该确保已经提供了足够多的Latch 数,如果仍然发生这种等待事件,那么应该进一步确定是那种锁存器上发生了竞争(在v$session_wait 上的P2 ...