• 小组项目第二周总结


    项目进展

    经过几次小组讨论交流,我们有了一些初步的设计思路,下面具体阐述:
    1.首先了解雷电游戏含有哪些元素,粗略统计一下有主人公的战斗机,有各种大大小小的敌机BOSS,有提升武器的buff道具,有密密麻麻的子弹,有血条显示板。当然,一些什么华丽的击杀特效,游戏音效这些可以后期添加,开发项目之初暂不考虑。我们这里只是进行设计简单的实现游戏。
    2.先设计最简单的子弹陷阱,我们简称危险品类trap.java,子弹会从敌机与主人公驾驶的飞机生成,子弹会进行掉落运动。BOSS生成的陷阱是禁止不动的,所以危险品有一个isStatic是否静止不动的布尔型标识,然后危险品在不是禁止不动的时候y坐标要减少就是下落,然后停止。所以在构造函数中随机一个目标y值,危险品非禁止不动状态下y坐标不断减少,当低于最低y值时候就把危险品删去。
    3.其次就是道具类,tool.java增强武器的道具有一个消失标识,采用Vector动态数组存储阳光对象,绘制时候绘制该动态数组的所有道具对象,如果该道具的消失标识为真就把该道具从容器里面进行移除,阳光的消亡标识有两种情况下变成真,一是主人公驾驶的飞机触碰,二是到了一定时间消失标识为真。对于前者,如何判断主人公的飞机模型是否触碰道具,我们可以对二者位置参数x,y进行equal判断。参数皆相等时就让消失标识为真。这里我们注意到由于道具是静态的,为了区分道具与静态的陷阱,绘制的时候道具要不断旋转,声明一个角度变量angle不断自加然后以道具的中心点为旋转中心旋转道具即可(道具不是一个点!)。至于后者,我们给道具类添加一个计数器变量count,然后不断的自加,当到达道具的消失时间就让消失标识为真.
    4.接着我们设计一个战场类university.java,战场类的作用是用来规定游戏空间大小,总共有XX个点构成,草坪的属性相对较于简单,就有一个是否容纳了子弹、陷阱、模型、道具的布尔型标识,当模型触碰子弹,相应HP减少。反之,触碰道具,攻击力上升。所以声明一个的二维空间数组,战场的位置用对应参数横坐标x与纵坐标y表示。
    5.设计好了场地,我们再来设计一个敌机类boss.java,boss有一个整形变量type代表boss的类型,0代表普通喽喽,1代表大boss,其次boss有一个整形变量HP代表boss的血量,然后有一个isexist布尔型标识表示boss是否被摧毁,小喽喽碰到子弹则立即标识为真,大boss则HP减少,降至0时满足标识为真。依旧使用一个boss容器来进行存储boss,如果boss血量为0就从该容器移除boss,创建boss的时候可以使用一个固定二维数组,如下边所示 int LEVELS[][]={{0},{0,0},{0,0,1},{0,1,1},{0,1,1},{1,0,1,1,0,1},这是一个二维数组,第一维长度为10代表10波敌机轰炸第二维表示要创建的boss,0表示普通boss,1表示大boss。当到达一定的时间就循环该波数的数组长度创建boss,然后波数值增加。
    6.然后设计子弹类Zidan.java,子弹依旧有一个整型变量type表示子弹的类型,0表示敌机的子弹,1表示主人公的子弹,跟boss一样采用Vector存储子弹对象,依旧有一个是否消失的标识,当子弹碰撞到模型后或者子弹的x坐标大于屏幕右边就让消失标识为真从容器里面移除子弹,标识为0的子弹的移动就是x坐标增加一个速度方向不定,y的坐标不断减少。标识为1的子弹的移动就是x坐标增加一个速度方向不定,y的坐标不断增加。
    7.设计主人公的飞机类feiji.java,飞机也有一个类型type,如果为0代表普通,1代表升级后的,也使用一个Vector存储飞机对象,飞机也有一个HP表示飞机的血量,不同类型的子弹有不同的攻击力。

  • 相关阅读:
    终端不显示 git branch 名字
    多线程下bufferedwriter若不关闭并不能记下所有log
    anaconda prompt execute jupyter notebook, can't open notebook
    conda 创建新环境下载包失败
    failed to install jupyter_contrib_nbextensions
    failed to install nb_conda
    Windows Server 2012R2 修复CVE-2016-2183(SSL/TLS)漏洞的办法
    SSL/TLS协议信息泄露漏洞(CVE-2016-2183)解决办法
    记录win NFS公网映射开放端口
    出题器
  • 原文地址:https://www.cnblogs.com/dky201452/p/5517144.html
Copyright © 2020-2023  润新知