坦克大战项目需求文档

01_坦克大战案例演示
 * 略
    1. 创建游戏窗体
    2. 绘制地图(阻碍物,坦克)
    3. 坦克可以移动,也可以发射子弹
    4. 碰撞(坦克和阻碍物的碰撞,子弹和阻碍物的碰撞,子弹和子弹碰撞)

02_准备工作之新建工作空间
 * 步骤
     * 1.新建一个工作空间.
     * 2.把工作空间的字符编码改为: UTF-8.
     * 3.对工作空间进行基本设置.
         * 显示行号
         * 更改字体大小.
     * 注意:
         * 坦克大战案例要求大家使用的JDK版本必须是JDK1.8(或更高版本).


 03_准备工作之非抽象方法里面可以调用抽象方法

 

 04_坦克大战案例之坦克隐藏到草坪中
 * a. 先绘制坦克,在绘制草坪(扩展性不强,不推荐).  
 * b. 采用Comparator比较器接口的方式, 对集合中的元素按照渲染层级进行排序. 
     * 渲染层级越高,元素的顺序越靠后(Element#getOrder()).
     * 此处用CopyOnWriteArrayList集合实现.

05_坦克大战案例之坦克和砖墙的碰撞检测
 * 步骤

    a. MyTank#checkHit(Steel steel); 在该方法中完成功能代码. 
       定义两个成员变量用于记录当前坦克不能移动的方向(badDirection)和碰撞的最小间隙(badSpeed),
       获取铁墙的坐标以及宽高, 同时获取当前坦克的坐标和宽高,
       预判坦克的下一步动作, 然后调用CollisionUtils#isCollisionWithRect();进行碰撞检测, 并用flag记录返回结果,
       判断flag的值, 如果为true,就将当前方向赋值给badDirection

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
游戏名称:《疯狂坦克III:火星危机》(Fortress 3: The Crisis With Mars) (1)公元2080年,太阳风暴发生,月球撞击地球,导致海啸与陆沉现象发生,旧大陆被淹没在汪洋之中;唯一露出水面的是旧大陆的山峰一角;不仅没有居住空间,而且太阳辐射撕裂了地球保护层,空气中充满强辐射的宇宙射线,全部野外生物趋于灭绝。 (2)因为提前了10年开始准备,所以人类在逐步向外星球移民的过程中,生存并没有受到过大的影响。人类依赖先进的文明科技,构筑了生物圈城市并生活在其中;通过在太空中设置了能量接收卫星,将接收到的宇宙射线发回地表的能量接收塔,作为生活的能源使用。 (3)人类在对火星的未知地域探索中,一次偶然发生的事故,竟意外地寻找到了一组神秘的人工建筑物,已经尘封在地下几千年的时间。建筑造型酷似原地球失落已久的玛雅文明;并经过科学家的分析,确定这是数千年前外星文明生物的创造。 (4)在进入火星神秘建筑的神殿中探索后,探险队员触动了神殿的机关,引动了某种神秘的宇宙能源力量,全体探险队员殉难。经科学家紧急分析,这种能源力量本来是被用于某种时空置换装置,是外星文明生物往返的交通方式;此时,太阳突然开始不断膨胀扩张,整个太阳系都处于危险之中。 (5)唯一的方法,按照科学家对神殿神秘符咒的解读,外星文明生物是通过某种神秘的晶体作为控制装置,当前散落在火星各处;如果能以能量球的形态拼接起来,其产生的能量可以使时间倒流,回到触发神殿机关之前,从而阻止危险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值