zoukankan      html  css  js  c++  java
  • JAVA入门到精通-第42讲-坦克大战9

    //坦克爆炸的效果
    炸弹从大变小;

    如果在一段时间内,坐标X,Y是连续发生变化的,
    才可以看成是一个线程类;

    //当坦克消失的时候,坦克爆一下
    三张图片切换才能组成一颗炸弹;
    //定义炸弹集合,根据时间不同显示不同图片;
     class  Bomb


    isLive这个类主要是用来决定
    类或者对象有没有必要展现在面板上
    活着就画,死亡就remove

    画图是从左上角开始画的(x,y)
    坐标在图的左上角;把被击中坦克的X/Y轴交给炸弹;

    //通过lifeDown生命周期展现图片


    //爆炸后,从向量中移除,会出现内存越来越少
    //由静态的图片在瞬间完成一个替换
    爆炸效果步骤:

    //让敌人坦克可以自由移动
    坐标应该改变,应该做成一个线程类

    向上走应该让它移动几步,再让它转换方向;

    //敌人坦克方向需要随机的变化-random:0-1的小数
    this.direct=(int)Math.random()*4;

    //敌人坦克线程的死亡:
       退出线程,不然这个坦克就会变成“僵尸进程”;永远占    用资源;不管程序员多牛逼,基本上都会出现僵尸进程;

    //启动敌人坦克线程:

    //敌人坦克平缓运动
    相当于50毫秒,换20个方向;
    走一下,sleep(50),再走30步;

    //移动的时候X/Y轴是随时带过来的;
    X/Y加上个IF语句控制住敌人的坦克;保证坦克不出边界;

    成员属性是属于哪一个对象的?
    //定义一个向量可以存放敌人的子弹

    //给敌人坦克添加一颗子弹
    Shot  s=new  Shot( );
    Shot是一个线程,需要启动

    //画出敌人坦克的时候,顺带把敌人坦克的子弹画出
       可能有多颗子弹

    //判断是否需要给坦克加入新的子弹
    //启动子弹线程

    子弹的死亡有两种可能?
    (1)打到坦克;(2)碰到边缘

    //敌人子弹的连发
     




























  • 相关阅读:
    Search in Rotated Sorted Array
    排序
    Find Peak Element
    Search a 2D Matrix II
    Search a 2D Matrix
    Search for a Range
    nodejs编译sass模块包 node-compass,与gulp包gulp-sass使用方法
    canvas基础学习
    决定整理一下canvas的基础学习
    网页宽高clientWidth clientHeight获得数值不对的问题
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10045760.html
Copyright © 2011-2022 走看看