亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? playertank.java

?? 還記得兒時在游戲機上玩坦克大戰嗎?如今這種經典游戲不在游戲機上玩了
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    /**
     * Player tanks handle key release event.
     */
    public void keyReleased(int gameAction){
        keyPressed=false;
        switch (gameAction) {
            case GameCanvas.UP:
                if(direction == BattleField.NORTH){
                    direction = BattleField.NONE;
                    break;
                }
            case GameCanvas.DOWN:
                if(direction == BattleField.SOUTH){
                    direction = BattleField.NONE;
                    break;
                }
            case GameCanvas.LEFT:
                if(direction == BattleField.WEST){
                    direction = BattleField.NONE;
                    break;
                }
            case GameCanvas.RIGHT:
                if(direction == BattleField.EAST){
                    direction = BattleField.NONE;
                    break;
                }
            case GameCanvas.FIRE:
                shoot = false;
        }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Upgrade player's tank
     */
    public void upgrade(Powerup powerup){
        switch(powerup.getType()){
            case Powerup.CLOCK:
                EnemyTank.immobilizedStartTime=System.currentTimeMillis();
                break;
            case Powerup.STAR:
                grade++;
                if(grade>MAX_GRADE ) grade=MAX_GRADE;
                switch(grade){
                    case GRADE_SPEED:
                    {
                        speed*=2;
                        int x=getX();
                        int y=getY();
                        x=(x / speed) *speed;
                        y=(y / speed) *speed;
                        setPosition(x,y);
                    }
                    break;
                    case GRADE_TWO_BULLETS:
                        avaiableBullets=2;
                        break;
                    case GRADE_THREE_BULLETS:
                        avaiableBullets=3;
                        break;
                }
        
                break;
            case Powerup.SHIELD:
                invulnerableTime=System.currentTimeMillis();
                invulnerabilityTicks=invulnerablePeriod;
                sheild.setPosition(getX(),getY());
                sheild.setVisible(true);
                break;
            case Powerup.BOMB:
                EnemyTank.explodeAllEmenies();
                break;
            case Powerup.TANK:
                avaiableLife++;
                break;
            case Powerup.SHOVEL:
                battleField.makeHomeConcreteWall();
                break;
                
        }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * set player avaiable lives.
     * @param live new life count.
     */
    public void setAvaiableLives(int live){
        avaiableLife=live;
    }
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Get player avaiable lives.
     */
    public int getAvaiableLives(){
        return avaiableLife;
    }
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Tank thinks before move.
     */
    public void think(){
        if(grade==NEW_BORN){
            newBornTimer++;
            if(newBornTimer>4){
                grade= MIN_GRADE;
                direction=BattleField.NONE;
                currentDirection=BattleField.NORTH;
                newBornTimer=0;
                setFrame(0);
                invulnerableTime=System.currentTimeMillis();
                invulnerabilityTicks=invulnerablePeriod/4;
                sheild.setPosition(getX(),getY());
                sheild.setVisible(true);
                
            }else{
                try{
                    setFrame(newBornTimer*9-1);
                }catch(Exception e){
                    //System.out.println("Playertank");
                }
            }
            
        } else{
            long tickTime = System.currentTimeMillis();
            if(tickTime-invulnerableTime>invulnerabilityTicks){
                sheild.setVisible(false);
            }else{
                sheild.setPosition(getX(),getY());
                sheild.setVisible(true);
            }
            changeDirection(direction);
            if(currentDirection!=BattleField.NONE){
                switchImage=!switchImage;
                int offset=switchImage? 0:1;
                try{
                    setFrame(currentDirection*9+((int)(grade-1)/2)*2 +offset);
                }catch(Exception e){
                    //System.out.println("Playertank1");
                }
            }
        }
        
    }
    
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN200 8  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Check if the player's tank is invulnerable
     * @return true,the tank is invulnerable.
     */
    public boolean isInvulnerable(){
        return sheild.isVisible();
    }
    
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN200 8  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Tank shoots.
     * @return the bullet the tank shoots.
     */
    public Bullet shoot(){
        Bullet bullet=null;
        int bulletCount=Bullet.getPlayerBulletCount();
        if(shoot && bulletCount<avaiableBullets){
            int step=ResourceManager.TILE_WIDTH;
            bullet=Bullet.getFreeBullet();
            if(bullet!=null){
                if(ResourceManager.isPlayingSound){
                    ResourceManager.playSound(ResourceManager.SHOOT_SOUND);
                }
                int x = getRefPixelX();
                int y = getRefPixelY();
                
                switch (currentDirection) {
                    case BattleField.NORTH:
                        y -= step / 2;
                        break;
                    case BattleField.EAST:
                        x += step / 2;
                        break;
                    case BattleField.SOUTH:
                        y += step / 2;
                        break;
                    case BattleField.WEST:
                        x -= step / 2;
                        break;
                }
                bullet.setSpeed(ResourceManager.TILE_WIDTH/2);
                bullet.setDirection(currentDirection);
                if(grade>=GRADE_BREAK_WATER){
                    bullet.setStrength(Bullet.GRADE_BREAK_WATER);
                }else if(grade>=GRADE_BREAK_CONCRETE_WALL){
                    bullet.setStrength(Bullet.GRADE_BREAK_CONCRETE_WALL);
                }else{
                    bullet.setStrength(Bullet.GRADE_DEFAULT);
                }
                
                bullet.setRefPixelPosition(x-1, y-1);
                bullet.setFriendly(true);
                bullet.setVisible(true);
            }
        }
        return bullet;
    }

    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Stop the player tank
     */
    public void stop(){
        direction=BattleField.NONE;
        shoot=false;
    }
    ////////////////////////////////////////////////////////////////////////////
    //--------------------------------- REVISIONS ------------------------------
    // Date       Name                 Tracking #         Description
    // ---------  -------------------  -------------      ----------------------
    // 16JAN2008  James Shen                 	          Initial Creation
    ////////////////////////////////////////////////////////////////////////////
    /**
     * Explode a tank.
     */
    protected void explode() {
        if(!isInvulnerable()){
            if(grade>=GRADE_BREAK_WATER){
                grade--;
            }else{
                avaiableLife--;
                super.explode();
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线免费观看| 天天色综合天天| 日韩中文字幕一区二区三区| 久久激情五月婷婷| 91国模大尺度私拍在线视频| 久久久天堂av| 美女视频免费一区| 欧美性videosxxxxx| 国产精品毛片大码女人| 美女脱光内衣内裤视频久久网站 | 69p69国产精品| 亚洲乱码国产乱码精品精小说| 毛片一区二区三区| 精品视频在线看| 亚洲激情一二三区| av成人动漫在线观看| 久久新电视剧免费观看| 青青草国产成人99久久| 欧美日韩免费在线视频| 亚洲免费在线电影| 94-欧美-setu| 亚洲欧美日韩精品久久久久| 国产精品一二三四| 久久久青草青青国产亚洲免观| 美日韩一区二区三区| 91麻豆精品国产91久久久久久久久 | 欧美午夜片在线看| 亚洲欧洲精品一区二区三区不卡 | 日韩电影一区二区三区| 一本色道久久综合亚洲精品按摩| 亚洲国产精品精华液2区45| 狠狠狠色丁香婷婷综合激情| 欧美人伦禁忌dvd放荡欲情| 亚洲自拍偷拍麻豆| 欧美亚洲综合在线| 亚洲超丰满肉感bbw| 欧美性色黄大片| 天天色 色综合| 欧美欧美欧美欧美首页| 日本不卡高清视频| 精品免费一区二区三区| 国产精品亚洲人在线观看| 国产三级欧美三级日产三级99 | 色成年激情久久综合| 亚洲女爱视频在线| 欧美精品久久99久久在免费线| 亚洲成人精品一区| 91精品国产一区二区| 九色porny丨国产精品| 国产人妖乱国产精品人妖| 成人久久久精品乱码一区二区三区| 日本一区二区久久| 93久久精品日日躁夜夜躁欧美| 亚洲影院免费观看| 日韩欧美色综合网站| 岛国精品在线观看| 亚洲午夜日本在线观看| 制服丝袜一区二区三区| 国产99精品视频| 一区二区成人在线观看| 日韩欧美电影在线| 91免费在线播放| 久久机这里只有精品| 18成人在线视频| 日韩一区二区三区免费看| 国产成人av电影在线| 一个色在线综合| 精品不卡在线视频| 在线中文字幕一区| 国产一区二区久久| 亚洲午夜影视影院在线观看| 精品福利av导航| 日本黄色一区二区| 精品一区二区免费看| 一区二区在线观看av| 欧美一二三四在线| 色成年激情久久综合| 激情小说欧美图片| 亚洲国产视频一区| 国产精品无人区| 欧美岛国在线观看| 欧美亚洲图片小说| 成人福利视频在线看| 美腿丝袜亚洲色图| 亚洲国产一区二区视频| 亚洲欧洲日韩一区二区三区| 日韩欧美中文一区二区| 在线免费观看日韩欧美| 国产宾馆实践打屁股91| 麻豆精品在线观看| 亚洲成人免费影院| 亚洲精品高清在线观看| 免费人成在线不卡| 亚洲图片欧美综合| 一区二区久久久久| 中文字幕色av一区二区三区| 久久综合九色综合欧美就去吻| 欧美日韩一区 二区 三区 久久精品| 成人美女视频在线观看| 国产成人综合亚洲网站| 精品一区二区免费| 毛片基地黄久久久久久天堂| 手机精品视频在线观看| 亚洲一二三级电影| 亚洲成av人片在线| 亚洲午夜精品17c| 一区二区三区中文字幕在线观看| 国产精品女主播av| 欧美国产视频在线| 国产欧美日韩不卡免费| 国产无一区二区| 久久久久国产精品厨房| 久久综合狠狠综合久久综合88 | 一区二区三区四区五区视频在线观看| 中文字幕va一区二区三区| 欧美电影免费观看完整版| 欧美xxx久久| 亚洲高清不卡在线观看| 午夜一区二区三区视频| 天天色图综合网| 欧美aaaaa成人免费观看视频| 日韩精品亚洲一区二区三区免费| 亚洲高清免费观看高清完整版在线观看| 一区二区三区毛片| 婷婷成人激情在线网| 日日骚欧美日韩| 久久91精品国产91久久小草| 国产精一区二区三区| 大胆亚洲人体视频| 色欧美日韩亚洲| 4438成人网| xvideos.蜜桃一区二区| 日本一区二区电影| 亚洲自拍偷拍网站| 久久国产三级精品| 丰满少妇在线播放bd日韩电影| 99久久99久久精品免费观看 | 一区二区三区日本| 884aa四虎影成人精品一区| 欧美一区二区三区性视频| 欧美大尺度电影在线| 久久久久久久综合狠狠综合| 欧美国产一区在线| 高清久久久久久| 91视频com| 日韩欧美另类在线| 日本一区二区三区久久久久久久久不 | 欧美久久久久中文字幕| 欧美大片一区二区三区| 欧美极品xxx| 日本伊人色综合网| 成人午夜激情视频| 欧美裸体一区二区三区| 久久精品这里都是精品| 亚洲第一在线综合网站| 国产福利91精品一区二区三区| 成人黄色一级视频| 欧美精品777| 国产精品久久久久久福利一牛影视| 亚洲精品乱码久久久久久久久| 免费av成人在线| 91丨九色丨国产丨porny| 日韩片之四级片| 亚洲美女免费视频| 国产精品中文字幕欧美| 欧美美女直播网站| 国产欧美日韩综合| 蜜臀av性久久久久蜜臀aⅴ| 色综合天天做天天爱| 2017欧美狠狠色| 亚洲超丰满肉感bbw| 91视频免费播放| 久久女同精品一区二区| 丝袜美腿亚洲色图| 91国偷自产一区二区使用方法| 久久久久亚洲蜜桃| 九九视频精品免费| 在线不卡中文字幕播放| 日韩伦理电影网| 成人污视频在线观看| 日韩免费一区二区三区在线播放| 自拍偷拍国产亚洲| 成人免费观看av| 久久综合色一综合色88| 麻豆视频观看网址久久| 在线播放/欧美激情| 亚洲国产人成综合网站| 91一区在线观看| 一色屋精品亚洲香蕉网站| 国产精品自拍网站| 久久综合色鬼综合色| 九九精品视频在线看| 精品乱人伦小说| 另类小说视频一区二区| 337p亚洲精品色噜噜| 日韩av一级电影| 欧美一区二区三区白人| 日韩成人一级大片| 欧美成人综合网站| 韩国三级在线一区|