1. 程式人生 > >坦克小作戰 js版(未完工)

坦克小作戰 js版(未完工)



<!DOCTYPE html>
<html lang="zn">
<head>
    <meta charset="UTF-8">
    <title>坦克大作戰</title>
    <style>
        #data{
            width: 61%;
            height: 100%;
            background-color: #eeeeee;
            border: 1px solid red;
            position: absolute;
            right: 0px;
            top: 0px;
        }
        #data ul li{
            float: left;
            list-style: none;
            width: 400px;
            height: 25px;
            border: 1px solid green;
        }
        #data #name li{
            width: 120px;
            float: left;
            text-align: center;
        }
    </style>
</head>
<body onkeydown="userOrder(event||window.event,hero)">
<canvas id="map"></canvas> 
<div id="data">
    <ul id="name">
        <li>坦克1</li>
        <li>坦克2</li>
        <li>坦克3</li>
        <li>坦克4</li>
        <li>坦克5</li>
        <li>英雄</li>
    </ul>
    <ul id="datas">
        <li id="i1"></li>
        <li id="i2"></li>
        <li id="i3"></li>
        <li id="i4"></li>
        <li id="i5"></li>
        <li id="i6"></li>
        <li id="i7"></li>
        <li id="i8">我方生命:</li>
        <li id="i9">我方坦克第0發子彈</li>
        <li id="i10"></li>
        <li id="i11">敵方x號坦克死亡</li>
        <li id="i12"></li>
        <li id="i13"></li>
        <li id="i14"></li>
        <li id="i15"></li>
        <li id="i16">導彈位置:</li>
        <li id="i17">hero.missileLive</li>
        <li id="i18"></li>
    </ul>
</div>
</body>
</html>
<script type='text/javascript'>
var map = document.getElementById('map');
var pen = map.getContext('2d');
var border = new Array(500,600);//地圖大小
var bg = 'background-color:black;border:1px solid red';//地圖背景屬性
var num = 5;//初始坦克數量
var enemyNum = null;//實時坦克數量
var size = 1;//坦克尺寸1~5
var speed = 10;//坦克速度
var heroColor = new Array('#fbdf7c','#946716','#af4c08','#e98223','#c3851e','#c06902','#a94200','#f8a025','#ffd94d','black','#e1b037','#d6730b','#e69a11','#fbd246','#cf7a03','#cf7a03','#cc7937','#d4741d','#ffcc5a','#d4741d','#ffcc5a','yellow','orange');//我方坦克顏色陣列
var enemyColor = new Array('#FFE7C4','#316F33','#593E18','#D59249','#797207','#B0852E','#4F1B00','#FBB14D','#FFE288','#132B30','#C1C069','#A77F1E','#CDAB2A','#FFDD7E','#988809','#988809','#918769','#A28040','#FFD899','#A28040','#FFD899','blue','white');//敵方坦克顏色陣列  
var hero = new Hero('hero',(border[0]/2-17.4),(border[1]-34),0,speed,size,heroColor);//我方坦克
var enemyTank = null;
var enemyTanks = new Array();
//子彈
var heroBullet = null ;
var heroBullets = new Array();
var enemyBullet = null ;
var enemyBullets = new Array();
//炸彈爆炸圖片
var enemyBombs = new Array();
var heroBombs = new Array();
//導彈
var heroMissile = null;
var heroMissiles = new Array();
//鎖定
var l=0;//locknum 211line
var lock=false;//是否鎖定;
var lockTigerX=0;//鎖定目標坦克位置x座標
var lockTigerY=0;//鎖定目標坦克位置y座標

var tigerX = null;//鎖定目標坦克計算後的位置x座標
var tigerY = null;//鎖定目標坦克計算後的位置y座標
var tigerR = null;//鎖定範圍半徑
//免疫攻擊
var immune = false;//我方坦克免疫攻擊
//繪製地圖
function drawMap(m,w,h,style){
    m.width = w;
    m.height = h;
    m.style = style;

    
}
drawMap(map,border[0],border[1],bg);
//測試
function text(){
  document.onkeydown=function(event){
      var e = event || window.event || arguments.callee.caller.arguments[0];
      var kk = e.keyCode;
      alert(kk);
  }
}
// text();
//解決長按鍵盤停頓問題
document.onkeyup = function(event){
    var ev = event||window.event;
    var n = ev.keyCode;
    switch(n){
        case 38:
            hero.top = false;
        break;
        case 39:
            hero.right = false;
        break;
        case 40:
            hero.bottom = false;
        break;
        case 37:
            hero.left = false;
        break;
    }
    hero.musicOpen = false;
    //結束坦克運動時的聲音
}
window.setInterval(function(){
    if(hero.top){
        hero.y -= hero.speed; 
    }else if(hero.right){
        hero.x += hero.speed; 
    }else if(hero.bottom){
        hero.y += hero.speed;  
    }else if(hero.left){
        hero.x -= hero.speed;         
    }
},100);
//坦克公共類
function Tank(type,x,y,direct,speed,size,color){
    this.type = type;
    this.x = x;
    this.y = y;    
    this.direct = direct;
    this.speed = speed;
    this.size = size;
    this.color = color;
    this.live = true;
}
//英雄類
function Hero(type,x,y,direct,speed,size,color){ 
    this.inherit = Tank;//繼承Tank類
    this.inherit(type,x,y,direct,speed,size,color);//呼叫
    this.type = 'hero';
    this.heroBulletLive = false;
    this.missileLive = false;
    this.top = false;
    this.right = false;
    this.bottom = false;
    this.left = false;
    this.musicOpen =false;
    this.music =function(){
        var au = document.createElement('audio');
        au.preload = 'auto';
        if(this.musicOpen==false){
            au.src = '';
        }else{
            au.src = 'music/move.wav'
        }            
        au.volume = 0.5;     
        au.play();//運動聲
    }
    // this.move = function(n){//我方坦克手動控制運動
    //     if(hero.live){
    //         switch(n){
    //             case 38:
    //                 this.y -= this.speed*2;
    //                 this.direct = 0;                
    //             break; 
    //             case 39:
    //                 this.x += this.speed*2;
    //                 this.direct = 1;                
    //             break;
    //             case 40:
    //                 this.y += this.speed*2;
    //                 this.direct = 2;                
    //             break;
    //             case 37:
    //                 this.x -= this.speed*2;
    //                 this.direct = 3;                
    //             break;
    //         }            
    //     }
    // }
    this.shoot = function(){
        if(this.live){
            switch(this.direct){
                case 0://上
                    var x = this.size*35.2/2+this.x;
                    var y = this.y-this.size*13.6;
                    heroBullet = new Bullet(this.type,this/*this:hero*/,x,y,this.direct,this.speed,this.size);
                break;
                case 1://右
                    var x = this.x+this.size*48;         
                    var y = this.size*35.2/2+this.y; 
                    heroBullet = new Bullet(this.type,this,x,y,this.direct,this.speed,this.size);
                break;
                case 2://下
                    var x = this.size*35.2/2+this.x;
                    var y = this.size*49.6+this.y;                 
                    heroBullet = new Bullet(this.type,this,x,y,this.direct,this.speed,this.size);
                break;
                case 3://左
                    var x = this.x-this.size*14;             
                    var y = this.size*35.2/2+this.y;  
                    heroBullet = new Bullet(this.type,this,x,y,this.direct,this.speed,this.size);
                break;  
            }
            this.heroBulletLive = true;
            heroBullets.push(heroBullet);
            var heTimer = window.setInterval('heroBullets['+(heroBullets.length-1)+'].bulletRun()',50);
            heroBullets[heroBullets.length-1].timer = heTimer;
            // hit(hero);
            // document.title = heroBullets[heroBullets.length-1].live;
        }
    }
    this.locking = function(){//鎖定目標坦克
        lock = true;
        if(l<enemyTanks.length){    
            for(var i=0;i<enemyTanks.length;i++){
                enemyTanks[i].lock = false;
            }
            if(enemyTanks[l].live&&lock){
                enemyTanks[l].lock=true;//按順序鎖定
                document.getElementById('i15').innerText='鎖定'+enemyTanks[l].code+'號目標坦克';
            }
            document.getElementById('i13').innerText=enemyTanks[0].code+':'+enemyTanks[0].lock;
            document.getElementById('i14').innerText=enemyTanks[1].code+':'+enemyTanks[1].lock; 
            l++;
            if(l>=enemyTanks.length){
                l=0;
            }            
        }
    }
    this.missile = function(){//目標坦克鎖定後發射導彈(給導彈賦值)
        // lockTigerX lockTigerY
        if(this.live){
            this.missileLive =true;
            switch(this.direct){
                case 0://上
                    var x = this.size*35.2/2+this.x;
                    var y = this.y-this.size*13.6-5;
                    heroMissile = new Bullet(this.type,this,x,y,this.direct,this.speed*0.4,this.size);
                break;
                case 1://右
                    var x = this.x+this.size*48+5;         
                    var y = this.size*35.2/2+this.y; 
                    heroMissile = new Bullet(this.type,this,x,y,this.direct,this.speed*0.4,this.size);
                break;
                case 2://下
                    var x = this.size*35.2/2+this.x;
                    var y = this.size*49.6+this.y+5;                 
                    heroMissile = new Bullet(this.type,this,x,y,this.direct,this.speed*0.4,this.size);
                break;
                case 3://左
                    var x = this.x-this.size*14-5;             
                    var y = this.size*35.2/2+this.y;  
                    heroMissile = new Bullet(this.type,this,x,y,this.direct,this.speed*0.4,this.size);
                break;                                                
            }
            heroMissiles.push(heroMissile);
            var hmTimer = window.setInterval('heroMissiles['+(heroMissiles.length-1)+'].missileRun()',50);
            heroMissiles[heroMissiles.length-1].timer = hmTimer;
            // heroMissile.live = true;   多餘
        }     
    }    
}
//敵人類
function Enemy(type,x,y,direct,speed,size,color){ 
    this.inherit = Tank;//繼承Tank類
    this.inherit(type,x,y,direct,speed,size,color);//呼叫
    this.count = 0;
    this.type = 'enemy';
    this.code = 0;
    this.enemyBulletLive = false;   
    this.lock=false;   
    this.enemyRun = function(){
        this.count++;
        if(this.count>10){
            this.direct = Math.round(Math.random()*3);
            this.count = 0;
        }        
        switch(this.direct){
            case 0:
                if(this.y<=0){
                    this.y = 0;
                }else{
                    this.y -= this.speed; 
                }                                         
            break;
            case 1:
                if((this.x+this.size*34)>=border[0]){
                    this.x = border[0]-this.size*34;
                }else{
                    this.x += this.speed;
                }                                                                  
            break;
            case 2:
                if((this.y+this.size*(34))>=border[1]){
                    this.y = border[1]-this.size*(34);
                }else{
                    this.y += this.speed;
                }                                                    
            break;
            case 3:
                if(this.x<=0){
                    this.x = 0;
                }else{
                    this.x -= this.speed;
                }                                                       
            break;             
        }
        if(this.enemyBulletLive==false&&this.live){//啟動子彈 
            switch(this.direct){
                case 0://上
                    var x = this.size*35.2/2+this.x;
                    var y = this.y-this.size*13.6;
                    enemyBullet = new Bullet(this.type,this,x,y,this.direct,15,this.size);
                break;
                case 1://右
                    var x = this.x+this.size*48;         
                    var y = this.size*35.2/2+this.y; 
                    enemyBullet = new Bullet(this.type,this,x,y,this.direct,15,this.size);
                break;
                case 2://下
                    var x = this.size*35.2/2+this.x;
                    var y = this.size*49.6+this.y;                 
                    enemyBullet = new Bullet(this.type,this,x,y,this.direct,15,this.size);
                break;
                case 3://左
                    var x = this.x-this.size*14;             
                    var y = this.size*35.2/2+this.y;  
                    enemyBullet = new Bullet(this.type,this,x,y,this.direct,15,this.size);
                break;  
            }
            enemyBullets.push(enemyBullet);
            var enTimer = window.setInterval('enemyBullets['+(enemyBullets.length-1)+'].bulletRun()',50);
            enemyBullets[enemyBullets.length-1].timer = enTimer;    
            // if(enemyBullets[(enemyBullets.length-1)].live==false){
            //     enemyBullets.length -=1;
            // }問題bug:若敵方坦克未死亡,則敵方坦克的子彈陣列會無限增加

            this.enemyBulletLive = true; 
            document.title = enemyBullets.length+'/上:'+hero.top+'/右:'+hero.right+'/下:'+hero.bottom+'/左'+hero.left; 
            for(var i=0;i<enemyBullets.length;i++){
                if(enemyBullets[i].live==false){
                    window.clearInterval(enemyBullets[i].timer);
                }                
            }

        } 
    }
    this.collisionAvoid = function(){//坦克規避
        if(enemyTanks.length>0){
            for(var i=0;i<enemyTanks.length;i++){
                if(this.code!=i){
                    if(this.direct==enemyTanks[i].direct){
                        switch(this.direct){
                            case 0:
                                if(this.x>enemyTanks[i].x&&this.x<(enemyTanks[i].x+enemyTanks[i].size*34)||(this.x+this.size*34)>enemyTanks[i].x&&(this.x+this.size*34)<(enemyTanks[i].x+enemyTanks[i].size*34)){
                                    if((this.y+this.size*34)>=enemyTanks[i].y&&(this.y+this.size*34)<=(enemyTanks[i].y+enemyTanks[i].size*34)){
                                        this.y -= this.speed;
                                        enemyTanks[i].direct = 2;
                                        enemyTanks[i].y += enemyTanks[i].speed;
                                        
                                    }else if(this.y>enemyTanks[i].y&&this.y<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                        this.direct = 2;
                                        this.y += this.speed;
                                        enemyTanks[i].y -= enemyTanks[i].speed;
                                        
                                    }                                        
                                }
                            break;
                            case 1:
                                if(this.y>enemyTanks[i].y&&this.y<(enemyTanks[i].y+enemyTanks[i].size*34)||(this.y+this.size*34)>enemyTanks[i].y&&(this.y+this.size*34)<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                    if((this.x+this.size*34)>enemyTanks[i].x&&(this.x+this.size*34)<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                        this.direct = 3;
                                        this.x -= this.speed;
                                        enemyTanks[i].x += enemyTanks[i].speed;
                                    }else if(this.x>enemyTanks[i].x&&this.x<(enemyTanks[i].x+enemyTanks[i].size*34)){
                                        this.x +=this.speed;
                                        enemyTanks[i].direct = 3;
                                        enemyTanks[i].x -= enemyTanks[i].speed;
                                    }
                                }
                            break;
                            case 2:
                                if(this.x>enemyTanks[i].x&&this.x<(enemyTanks[i].x+enemyTanks[i].size*34)||(this.x+this.size*34)>enemyTanks[i].x&&(this.x+this.size*34)<(enemyTanks[i].x+enemyTanks[i].size*34)){
                                    if((this.y+this.size*34)>enemyTanks[i].y&&(this.y+this.size*34)<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                        this.direct = 0;
                                        this.y -= this.speed;
                                        enemyTanks[i].y += enemyTanks[i].speed;
                                    }else if(this.y<enemyTanks[i].y&&this.y<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                        enemyTanks[i].direct = 0;
                                        enemyTanks[i].y -= enemyTanks[i].speed;
                                        this.y += this.speed;
                                    }
                                }
                            break;
                            case 3:
                                if(this.y>enemyTanks[i].y&&this.y<(enemyTanks[i].y+enemyTanks[i].size*34)||(this.y+this.size*34)>enemyTanks[i].y&&(this.y+this.size*34)<(enemyTanks[i].y+enemyTanks[i].size*34)){
                                    if(this.x<(enemyTanks[i].x+enemyTanks[i].size*34)&&this.x<enemyTanks[i].y){
                                       this.direct = 1;
                                       this.x += this.speed;
                                       enemyTanks[i].x -= enemyTanks[i].speed; 
                                    }else if((this.x+this.size*34)>enemyTanks[i].x&&(this.x+this.size*34)<(enemyTanks[i].x+enemyTanks[i].size*34)){
                                        enemyTanks[i].direct = 1;
                                        enemyTanks[i].x += enemyTanks[i].speed;
                                        this.x -= this.speed;
                                    }
                                }
                            break;

                        }
                    }

                }
                //四個點
                //(this.x,this.y),(this.size*34, this.size*34.8)
                //enemyTanks[i].x,enemyTanks[i].y,enemyTanks[i].size*34,enemyTanks[i].size*34.8
                 
            }
        }
    }
}
//子彈類
function Bullet(type,tank,x,y,direct,speed,size){
    this.type = type;//敵方坦克還是我方坦克的子彈
    this.tank = tank;
    this.x = x;
    this.y = y;
    this.direct = direct;
    this.speed = speed;
    this.size = size;
    // this.color= color;
    this.live = true;
    this.timer = null;
    this.bulletRun = function(){//子彈運動(hero和enemy共用)
        if(this.x<=this.size*4||this.x>=(border[0]-this.size*4)||this.y<=this.size*4||this.y>=(border[1]-this.size*4)||this.live==false){//子彈遇到邊界或者死亡時停止運動
            this.live = false;
            if(this.type == 'enemy'){
                this.tank.enemyBulletLive = false;
                // enemyBullets.length = 0;
            }else if(this.type = 'hero'){
                this.tank.heroBulletLive = false;
            }
            window.clearInterval(this.timer);//timer id=8
        }else{
            switch(this.direct){
                case 0:
                    this.y -=this.speed;                
                break;
                case 1:
                    this.x +=this.speed;
                break;
                case 2:
                    this.y +=this.speed;
                break;
                case 3:
                    this.x -=this.speed;
                break;                                    
            }
        }

        if(this.type == 'enemy'){
            document.getElementById("i1").innerText="敵方:子彈x="+this.x+"子彈y="+this.y;
            document.getElementById("i2").innerText="敵方:x="+this.tank.x+"y="+this.tank.y;
        }else if(this.type = 'hero'){
            document.getElementById("i3").innerText="我方:子彈x="+this.x+"子彈y="+this.y;
            // document.getElementById("i4").innerText="我方:x="+this.tank.x+"y="+this.tank.y;
        }
        // document.getElementById("i1").innerText="我方:子彈x="+this.x+"子彈y="+this.y;
        // document.getElementById("i2").innerText="敵方:x="+this.tank.x+"y="+this.tank.y;
        document.getElementById("i6").innerText="this.tank.ememyBulletLive2="+this.tank.enemyBulletLive;
        document.getElementById("i7").innerText="who:"+this.type;
    }
    this.missileRun = function(){//導彈運動(專屬hero用)
        if(this.x<=this.size*4||this.x>=(border[0]-this.size*4)||this.y<=this.size*4||this.y>=(border[1]-this.size*4)||this.live==false){
            this.live = false;
            window.clearInterval(this.timer);
            hero.missileLive = false;
        }else{ /*lockTigerX this.x lockTigerY this.y*/
            tigerX = hero.size*17.6+lockTigerX;
            tigerY = hero.size*17+lockTigerY+hero.size*2-hero.size*4;
            tigerR = hero.size*28;
            if(this.x<tigerX){
                this.x +=this.speed;
            }
            if(this.y<tigerY){
                this.y +=this.speed;
            }
            if(this.x>tigerX){
                this.x -=this.speed;
            }
            if(this.y>tigerY){
                this.y -=this.speed;
            }
            document.getElementById('i16').innerText='導彈位置:x='+this.x+'y='+this.y;
        }
    }      
}
//目標被擊中類
function Bomb(type,x,y,size){
    this.type = type;
    this.x = x;
    this.y = y;
    this.size =size;
    this.live = true;
    this.blood = 9;//血量
    this.bloodDown = function(){
        if(this.bood>0){
            this.bood--;
        }else{
           this.live = false; 
        }
    } 
}
//繪製子彈
function drawBullet(tiger){
    if(tiger.live){
        if(tiger.type =='hero'){
            for(var i=0;i<heroBullets.length;i++){
                var heroBullet = heroBullets[i];
                if(heroBullet!=null&heroBullet.live){
                    pen.beginPath();        
                    pen.fillStyle = 'yellow';  
                    pen.arc(heroBullets[i].x,heroBullets[i].y,4*tiger.size,0,360,false);
                    pen.fill();
                    pen.closePath();  
                    //導彈圖      
                }               
            }
            if(hero.missileLive){
                for(var i=0;i<heroMissiles.length;i++){
                    var heroMissile = heroMissiles[i];
                    if(heroMissile.live){
                        pen.beginPath();        
                        pen.fillStyle = 'red';  
                        pen.arc(heroMissiles[i].x,heroMissiles[i].y,4*tiger.size,0,360,false);
                        pen.fill();
                        pen.closePath(); 
                    }               
                }
            }
        }else if(tiger.type =='enemy'){
            for(var i=0;i<enemyBullets.length;i++){
                var enemyBullet = enemyBullets[i];
                if(enemyBullet!=null&enemyBullet.live){    
                    pen.beginPath();        
                    pen.fillStyle = enemyColor[21];  
                    pen.arc(enemyBullets[i].x,enemyBullets[i].y,4*tiger.size,0,360,false);
                    pen.fill();
                }               
                pen.closePath();        
            }
        }
                
    }
}
//繪製坦克
function drawTank(tiger,lock/*,c*/){//tiger屬性:型別、位置、方向、大小、顏色       
    if(tiger.live){ 
        switch(tiger.direct){
            case 0://上
                pen.fillStyle = tiger.color[0];//'#fbdf7c';//車輪//顏色0
                pen.fillRect(tiger.x,tiger.y,tiger.size*8.4,tiger.size*34);
                pen.fillRect((tiger.x+tiger.size*26.4),tiger.y,tiger.size*8.4,tiger.size*34);

                pen.fillStyle = tiger.color[1];//'#946716';//輪式//顏色1
                pen.fillRect(tiger.x,tiger.y,tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect(tiger.x,(tiger.y+tiger.size*8.6),tiger.size*8.4,tiger.size*3.8);       
                pen.fillRect(tiger.x,(tiger.y+tiger.size*16.2),tiger.size*8.4,tiger.size*3.8);  
                pen.fillRect(tiger.x,(tiger.y+tiger.size*23.8),tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect(tiger.x,(tiger.y+tiger.size*30.4),tiger.size*8.4,tiger.size*3.8); 

                pen.fillRect((tiger.x+tiger.size*26.4),tiger.y,tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*8.6),tiger.size*8.4,tiger.size*3.8);       
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*16.2),tiger.size*8.4,tiger.size*3.8);  
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*23.8),tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*30.4),tiger.size*8.4,tiger.size*3.8); 

                pen.beginPath();
                pen.fillStyle = tiger.color[2];//'#af4c08';//底盤1//顏色2

                pen.moveTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*5.2));//1
                pen.lineTo((tiger.x+tiger.size*10.4),(tiger.y+tiger.size*4.4));//2
                pen.lineTo((tiger.x+tiger.size*24.4),(tiger.y+tiger.size*4.4));//3
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*5.2));//4
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*28.4));//5
                pen.lineTo((tiger.x+tiger.size*23.2),(tiger.y+tiger.size*30.4));//6
                pen.lineTo((tiger.x+tiger.size*11.6),(tiger.y+tiger.size*30.4));//7
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*28.4));//8 
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*5.2));//9        
                pen.fill();
                pen.closePath();              

                pen.beginPath();//底盤2
                pen.fillStyle = tiger.color[3];//'#e98223';//顏色3
                pen.moveTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*8));//1
                pen.lineTo((tiger.x+tiger.size*11),(tiger.y+tiger.size*8));//2
                pen.lineTo((tiger.x+tiger.size*11),(tiger.y+tiger.size*6.4));//3
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*6.4));//4
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*8));//5
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*8));//6
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*27));//7
                pen.lineTo((tiger.x+tiger.size*24.4),(tiger.y+tiger.size*27));//8
                pen.lineTo((tiger.x+tiger.size*25.4),(tiger.y+tiger.size*29.8));//9
                pen.lineTo((tiger.x+tiger.size*19.4),(tiger.y+tiger.size*29.8));//10
                pen.lineTo((tiger.x+tiger.size*20.4),(tiger.y+tiger.size*27));//11
                pen.lineTo((tiger.x+tiger.size*16.4),(tiger.y+tiger.size*27));//12
                pen.lineTo((tiger.x+tiger.size*16.4),(tiger.y+tiger.size*28.2));//13
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*28.2));//14
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*27));//15
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*27));//16
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*8));//17
                pen.fill();
                pen.closePath();               

                pen.fillStyle = tiger.color[4];//'#c3851e';//底盤3//顏色4
                pen.fillRect((tiger.x+tiger.size*10.6),(tiger.y+tiger.size*10.4),tiger.size*14.2,tiger.size*15);        
                pen.fillStyle = tiger.color[5];//'#c06902';//底盤3框//顏色5
                pen.fillRect((tiger.x+tiger.size*10.2),(tiger.y+tiger.size*11),tiger.size*15,tiger.size*15.4); 
                pen.fillStyle = tiger.color[6];//'#a94200';//底盤3的小矩形//顏色6
                pen.fillRect((tiger.x+tiger.size*11.8),(tiger.y+tiger.size*24.4),tiger.size*4.2,tiger.size*3.4);    

                pen.beginPath();//炮架底1
                pen.fillStyle = tiger.color[7];//'#f8a025';//顏色7
                pen.moveTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*15.4));//1
                pen.lineTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*22.6));//2
                pen.lineTo((tiger.x+tiger.size*12),(tiger.y+tiger.size*25.6));//3    
                pen.lineTo((tiger.x+tiger.size*12.8),(tiger.y+tiger.size*26.4));//4
                pen.lineTo((tiger.x+tiger.size*23),(tiger.y+tiger.size*26.4));//5 
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*25.6));//6    
                pen.lineTo((tiger.x+tiger.size*24.6),(tiger.y+tiger.size*22.6));//7        
                pen.lineTo((tiger.x+tiger.size*24.6),(tiger.y+tiger.size*15.4));//8 
                pen.lineTo((tiger.x+tiger.size*22),(tiger.y+tiger.size*8.4));//9 
                pen.lineTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*8.4));//10 
                pen.lineTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*15.4));//11               
                pen.fill();
                pen.closePath();

                pen.beginPath();//炮架底2
                pen.fillStyle = tiger.color[8];//'#ffd94d'; //顏色8
                pen.moveTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*15.4));//1
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*22.6));//2
                pen.lineTo((tiger.x+tiger.size*14.8),(tiger.y+tiger.size*24.6));//3    
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*25.4));//4
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*25.4));//5 
                pen.lineTo((tiger.x+tiger.size*21),(tiger.y+tiger.size*24.6));//6    
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*22.6));//7        
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*15.4));//8 
                pen.lineTo((tiger.x+tiger.size*20.6),(tiger.y+tiger.size*11.4));//9 
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*11.4));//10 
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*15.4));//11  
                pen.fill();
                pen.closePath();    

                pen.beginPath();//炮架底2框
                pen.strokeStyle = tiger.color[9];//'black';//顏色9 
                pen.moveTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*15.4));//1
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*22.6));//2
                pen.lineTo((tiger.x+tiger.size*14.8),(tiger.y+tiger.size*24.6));//3    
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*25.4));//4
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*25.4));//5 
                pen.lineTo((tiger.x+tiger.size*21),(tiger.y+tiger.size*24.6));//6    
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*22.6));//7        
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*15.4));//8 
                pen.lineTo((tiger.x+tiger.size*20.6),(tiger.y+tiger.size*11.4));//9 
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*11.4));//10 
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*15.4));//11  
                pen.stroke();
                pen.closePath();   

                pen.beginPath();//炮架上底
                pen.fillStyle = tiger.color[10];//'#e1b037';//顏色10
                pen.moveTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*8.4));
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*11.4));
                pen.lineTo((tiger.x+tiger.size*20.6),(tiger.y+tiger.size*11.4));  
                pen.lineTo((tiger.x+tiger.size*22),(tiger.y+tiger.size*8.4));
                pen.lineTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*8.4));          
                pen.fill();
                pen.closePath(); 

                pen.beginPath();//炮架下底
                pen.fillStyle = tiger.color[11];//'#d6730b';//顏色11
                pen.moveTo((tiger.x+tiger.size*12.8),(tiger.y+tiger.size*26.4));
                pen.lineTo((tiger.x+tiger.size*23),(tiger.y+tiger.size*26.4));
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*25.4));
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*25.4));
                pen.lineTo((tiger.x+tiger.size*12.8),(tiger.y+tiger.size*26.4));
                pen.fill();
                pen.closePath();  

                pen.beginPath();//圓形炮架底1
                pen.fillStyle = tiger.color[12];//'#e69a11';//顏色12
                var circleX = tiger.size*17.6+tiger.x;
                var circleY = tiger.size*17+tiger.y+tiger.size*2;
                var circleR = tiger.size*(21.8-14.4)/2;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath();  

                pen.beginPath();//圓形炮架底2
                pen.fillStyle = tiger.color[13];//'#fbd246';//顏色13
                var circleX =tiger.size*17.6+tiger.x;
                var circleY =tiger.size*17+tiger.y+tiger.size*2;
                var circleR =tiger.size*(21.8-14.4)/2.5;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath(); 

                pen.beginPath();//圓形炮架底3
                pen.fillStyle = tiger.color[14];//'#cf7a03';//顏色14
                var circleX =tiger.size*17.6+tiger.x;
                var circleY =tiger.size*17+tiger.y+tiger.size*2;
                var circleR = tiger.size*(21.8-14.4)/3.5;
                pen.arc(circleX,circleY,circleR,0,360,false);
                // pen.arc(circleX,circleY,(circleR+30),0,360,false);  鎖定
                pen.fill();
                pen.closePath();      

                pen.fillStyle = tiger.color[15];//'#cf7a03';//炮筒上//顏色15
                pen.fillRect((circleX-tiger.size*3.4),(tiger.y-tiger.size*10),tiger.size*6.8,tiger.size*3);  

                pen.fillStyle = tiger.color[16];//'#cc7937';//炮筒中//顏色16
                pen.fillRect((circleX-tiger.size*1.6),(tiger.y-tiger.size*7),tiger.size*3.2,tiger.size*16.8);

                pen.beginPath();//車飾邊框左
                pen.strokeStyle = tiger.color[17];//'#d4741d';//顏色17
                pen.lineWidth = 2;
                pen.moveTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*5.4),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*4.6),(tiger.y+tiger.size*30.8));
                pen.lineTo((tiger.x+tiger.size*4.6),(tiger.y+tiger.size*6.4));
                pen.lineTo((tiger.x+tiger.size*6.6),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*2.6));    
                pen.stroke();
                pen.closePath();

                pen.beginPath();//車飾填充左
                pen.fillStyle = tiger.color[18];//'#ffcc5a';//顏色18
                pen.moveTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*5.6),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*4.8),(tiger.y+tiger.size*31));
                pen.lineTo((tiger.x+tiger.size*4.8),(tiger.y+tiger.size*6.6));
                pen.lineTo((tiger.x+tiger.size*6.8),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*2.8));   
                pen.fill();
                pen.closePath();


                pen.beginPath();//車飾邊框右
                pen.strokeStyle = tiger.color[19];//'#d4741d';//顏色19
                pen.lineWidth = 2;
                pen.moveTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*29.8),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*30.6),(tiger.y+tiger.size*30.8));
                pen.lineTo((tiger.x+tiger.size*30.6),(tiger.y+tiger.size*6.4));
                pen.lineTo((tiger.x+tiger.size*28.6),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*2.6));    
                // pen.fill();
                pen.stroke();
                pen.closePath();

                pen.beginPath();//車飾填充右
                pen.fillStyle = tiger.color[20];//'#ffcc5a';//顏色20
                pen.moveTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*29.6),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*30.4),(tiger.y+tiger.size*31));
                pen.lineTo((tiger.x+tiger.size*30.4),(tiger.y+tiger.size*6.6));
                pen.lineTo((tiger.x+tiger.size*28.4),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*2.8));
                pen.fill();
                pen.closePath(); 
                if(lock&&tiger.type=='enemy'&&tiger.lock&&hero.live){
                    pen.save(); 
                    pen.beginPath(); 
                    pen.setLineDash([5,10]);
                    pen.lineWidth = 2;
                    pen.strokeStyle = tiger.color[22];
                    var circleX = tiger.size*17.6+tiger.x;
                    var circleY = tiger.size*17+tiger.y+tiger.size*2-tiger.size*4;
                    var circleR = tiger.size*28;
                    pen.arc(circleX,circleY,circleR,0,360,false);                
                    pen.stroke();
                    pen.closePath();
                    pen.restore();
                }
                if(tiger.type=='hero'&&tiger.live&&immune){
                    pen.save();
                    pen.beginPath();
                    pen.strokeStyel = 'white';
                    var circleX = tiger.size*17.6+tiger.x;
                    var circleY = tiger.size*17+tiger.y+tiger.size*2-tiger.size*4;
                    var circleR = tiger.size*28;     
                    pen.globalAlpha = 0.6;
                    pen.arc(circleX,circleY,circleR,0,360,false);
                    pen.fill();              
                    pen.closePath();
                    pen.restore();
                }
            break;
            case 2://下
                pen.fillStyle = tiger.color[0];//'#fbdf7c';//車輪//顏色0
                pen.fillRect(tiger.x,tiger.y,tiger.size*8.4,tiger.size*34);
                pen.fillRect((tiger.x+tiger.size*26.4),tiger.y,tiger.size*8.4  ,tiger.size*34);

                pen.fillStyle = tiger.color[1];//'#946716';//輪式//顏色1
                pen.fillRect(tiger.x,tiger.y,tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect(tiger.x,(tiger.y+tiger.size*8.6),tiger.size*8.4,tiger.size*3.8);       
                pen.fillRect(tiger.x,(tiger.y+tiger.size*16.2),tiger.size*8.4,tiger.size*3.8);  
                pen.fillRect(tiger.x,(tiger.y+tiger.size*23.8),tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect(tiger.x,(tiger.y+tiger.size*30.4),tiger.size*8.4,tiger.size*3.8); 

                pen.fillRect((tiger.x+tiger.size*26.4),tiger.y,tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*8.6),tiger.size*8.4,tiger.size*3.8);       
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*16.2),tiger.size*8.4,tiger.size*3.8);  
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*23.8),tiger.size*8.4,tiger.size*3.8); 
                pen.fillRect((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*30.4),tiger.size*8.4,tiger.size*3.8); 

                pen.beginPath();
                pen.fillStyle = tiger.color[2];//'#af4c08';//底盤1//顏色2

                pen.moveTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*29.8));//1
                pen.lineTo((tiger.x+tiger.size*10.4),(tiger.y+tiger.size*30.6));//2
                pen.lineTo((tiger.x+tiger.size*24.4),(tiger.y+tiger.size*30.6));//3
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*29.8));//4
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*7.2));//5
                pen.lineTo((tiger.x+tiger.size*23.2),(tiger.y+tiger.size*4.6));//6
                pen.lineTo((tiger.x+tiger.size*11.6),(tiger.y+tiger.size*4.6));//7
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*7.2));//8 
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*32));//9        
                pen.fill();
                pen.closePath();              

                pen.beginPath();//底盤2
                pen.fillStyle = tiger.color[3];//'#e98223';//顏色3
                pen.moveTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*27));//16                          
                pen.lineTo((tiger.x+tiger.size*11),(tiger.y+tiger.size*27));//2                
                pen.lineTo((tiger.x+tiger.size*11),(tiger.y+tiger.size*28.6));//3  
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*28.6));//4
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*27));//5                            
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*27));//7       
                pen.lineTo((tiger.x+tiger.size*26.4),(tiger.y+tiger.size*8));//6                   
                pen.lineTo((tiger.x+tiger.size*24.4),(tiger.y+tiger.size*8));//8
                pen.lineTo((tiger.x+tiger.size*25.4),(tiger.y+tiger.size*5.2));//9
                pen.lineTo((tiger.x+tiger.size*19.4),(tiger.y+tiger.size*5.2));//10
                pen.lineTo((tiger.x+tiger.size*20.4),(tiger.y+tiger.size*8));//11
                pen.lineTo((tiger.x+tiger.size*16.4),(tiger.y+tiger.size*8));//12
                pen.lineTo((tiger.x+tiger.size*16.4),(tiger.y+tiger.size*6.8));//13
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*6.8));//14
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*8));//15
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*8));//1
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*27));//16  
                pen.fill();
                pen.closePath();             

                pen.fillStyle = tiger.color[4];//'#c3851e';//底盤3//顏色4
                pen.fillRect((tiger.x+tiger.size*10.6),(tiger.y+tiger.size*10.4),tiger.size*14.2,tiger.size*15);        
                pen.fillStyle = tiger.color[5];//'#c06902';//底盤3框//顏色5
                pen.fillRect((tiger.x+tiger.size*10.2),(tiger.y+tiger.size*11),tiger.size*15,tiger.size*15.4); 
                pen.fillStyle = tiger.color[6];//'#a94200';//底盤3的小矩形//顏色6
                pen.fillRect((tiger.x+tiger.size*11.8),(tiger.y+tiger.size*7.2),tiger.size*4.2,tiger.size*3.4);  

                pen.beginPath();//炮架底1
                pen.fillStyle = tiger.color[7];//'#f8a025';//顏色7
                pen.moveTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*20.4));//1
                pen.lineTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*11.6));//2
                pen.lineTo((tiger.x+tiger.size*12),(tiger.y+tiger.size*10.2));//3    
                pen.lineTo((tiger.x+tiger.size*12.8),(tiger.y+tiger.size*9));//4
                pen.lineTo((tiger.x+tiger.size*23),(tiger.y+tiger.size*9));//5 
                pen.lineTo((tiger.x+tiger.size*23.8),(tiger.y+tiger.size*10.2));//6    
                pen.lineTo((tiger.x+tiger.size*24.6),(tiger.y+tiger.size*11.6));//7        
                pen.lineTo((tiger.x+tiger.size*24.6),(tiger.y+tiger.size*20.4));//8 
                pen.lineTo((tiger.x+tiger.size*22),(tiger.y+tiger.size*27.4));//9 
                pen.lineTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*27.4));//10 
                pen.lineTo((tiger.x+tiger.size*10.8),(tiger.y+tiger.size*20.4));//11               
                pen.fill();
                pen.closePath();      
  
                pen.beginPath();//炮架底2
                pen.fillStyle = tiger.color[8];//'#ffd94d';//顏色8
                pen.moveTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*20));//1
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*13.2));//2
                pen.lineTo((tiger.x+tiger.size*14.8),(tiger.y+tiger.size*11.2));//3    
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*10.4));//4
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*10.4));//5 
                pen.lineTo((tiger.x+tiger.size*21),(tiger.y+tiger.size*11.2));//6    
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*13.2));//7        
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*20));//8 
                pen.lineTo((tiger.x+tiger.size*20.6),(tiger.y+tiger.size*26.4));//9 
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*26.4));//10 
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*20));//11  
                pen.fill();
                pen.closePath();            

                pen.beginPath();//炮架底2框
                pen.strokeStyle = tiger.color[9];//'black';//顏色9 
                pen.moveTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*20));//1
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*13.2));//2
                pen.lineTo((tiger.x+tiger.size*14.8),(tiger.y+tiger.size*11.2));//3    
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*10.4));//4
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*10.4));//5 
                pen.lineTo((tiger.x+tiger.size*21),(tiger.y+tiger.size*11.2));//6    
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*13.2));//7        
                pen.lineTo((tiger.x+tiger.size*21.8),(tiger.y+tiger.size*20));//8 
                pen.lineTo((tiger.x+tiger.size*20.6),(tiger.y+tiger.size*26.4));//9 
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*26.4));//10 
                pen.lineTo((tiger.x+tiger.size*13.6),(tiger.y+tiger.size*20));//11  
                pen.stroke();
                pen.closePath();  

                pen.beginPath();//炮架上底
                pen.fillStyle = tiger.color[10];//'#e1b037';//顏色10
                pen.moveTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*27.4));//10                 
                pen.lineTo((tiger.x+tiger.size*22),(tiger.y+tiger.size*27.4));//9 
                pen.lineTo((tiger.x+tiger.size*20),(tiger.y+tiger.size*24.4));//9 
                pen.lineTo((tiger.x+tiger.size*15.8),(tiger.y+tiger.size*24.4));//10 
                pen.lineTo((tiger.x+tiger.size*13.8),(tiger.y+tiger.size*27.4));//10         
                pen.fill();
                pen.closePath();                                 

                pen.beginPath();//炮架下底
                pen.fillStyle = tiger.color[11];//'#d6730b';//顏色11
                pen.moveTo((tiger.x+tiger.size*23),(tiger.y+tiger.size*9));//5 
                pen.lineTo((tiger.x+tiger.size*12.8),(tiger.y+tiger.size*9));//4
                pen.lineTo((tiger.x+tiger.size*15.6),(tiger.y+tiger.size*10.4));//4
                pen.lineTo((tiger.x+tiger.size*20.2),(tiger.y+tiger.size*10.4));//5 
                pen.lineTo((tiger.x+tiger.size*23),(tiger.y+tiger.size*9));//5  
                pen.fill();
                pen.closePath();                                                                   
                pen.beginPath();//圓形炮架底1
                pen.fillStyle = tiger.color[12];//'#e69a11';//顏色12
                var circleX = tiger.size*35.2/2+tiger.x;
                var circleY = tiger.size*34/2+tiger.y+tiger.size*0.8;
                var circleR = tiger.size*(21.8-14.4)/2;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath();  

                pen.beginPath();//圓形炮架底2
                pen.fillStyle = tiger.color[13];//'#fbd246';//顏色13
                var circleX = tiger.size*35.2/2+tiger.x;
                var circleY = tiger.size*34/2+tiger.y+tiger.size*0.8;
                var circleR =tiger.size*(21.8-14.4)/2.5;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath(); 

                pen.beginPath();//圓形炮架底3
                pen.fillStyle = tiger.color[14];//'#cf7a03';//顏色14
                var circleX = tiger.size*35.2/2+tiger.x;
                var circleY = tiger.size*34/2+tiger.y+tiger.size*0.8;
                var circleR = tiger.size*(21.8-14.4)/3.5;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath();   

                pen.fillStyle = tiger.color[15];//'#cf7a03';//炮筒上//顏色15
                pen.fillRect((circleX-tiger.size*6.8/2),(tiger.y+tiger.size*42.8),tiger.size*6.8,tiger.size*3);  

                pen.fillStyle = tiger.color[16];//'#cc7937';//炮筒中//顏色16
                pen.fillRect((circleX-tiger.size*3.2/2),(tiger.y+tiger.size*26),tiger.size*3.2,tiger.size*16.8);

                pen.beginPath();//車飾邊框左
                pen.strokeStyle = tiger.color[17];//'#d4741d';//顏色17
                pen.lineWidth = 2;
                pen.moveTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*5.4),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*4.6),(tiger.y+tiger.size*30.8));
                pen.lineTo((tiger.x+tiger.size*4.6),(tiger.y+tiger.size*6.4));
                pen.lineTo((tiger.x+tiger.size*6.6),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*2.6));    
                pen.stroke();
                pen.closePath();

                pen.beginPath();//車飾填充左
                pen.fillStyle = tiger.color[18];//'#ffcc5a';//顏色18
                pen.moveTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*5.6),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*4.8),(tiger.y+tiger.size*31));
                pen.lineTo((tiger.x+tiger.size*4.8),(tiger.y+tiger.size*6.6));
                pen.lineTo((tiger.x+tiger.size*6.8),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*9.2),(tiger.y+tiger.size*2.8));   
                pen.fill();
                pen.closePath();


                pen.beginPath();//車飾邊框右
                pen.strokeStyle = tiger.color[19];//'#d4741d';//顏色19
                pen.lineWidth = 2;
                pen.moveTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*29.8),(tiger.y+tiger.size*32.6));
                pen.lineTo((tiger.x+tiger.size*30.6),(tiger.y+tiger.size*30.8));
                pen.lineTo((tiger.x+tiger.size*30.6),(tiger.y+tiger.size*6.4));
                pen.lineTo((tiger.x+tiger.size*28.6),(tiger.y+tiger.size*2.6));
                pen.lineTo((tiger.x+tiger.size*25.8),(tiger.y+tiger.size*2.6));    
                // pen.fill();
                pen.stroke();
                pen.closePath();

                pen.beginPath();//車飾填充右
                pen.fillStyle = tiger.color[20];//'#ffcc5a';//顏色20
                pen.moveTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*29.6),(tiger.y+tiger.size*32.4));
                pen.lineTo((tiger.x+tiger.size*30.4),(tiger.y+tiger.size*31));
                pen.lineTo((tiger.x+tiger.size*30.4),(tiger.y+tiger.size*6.6));
                pen.lineTo((tiger.x+tiger.size*28.4),(tiger.y+tiger.size*2.8));
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*2.8));
                pen.fill();
                pen.closePath();                                                                         
                if(lock&&tiger.type=='enemy'&&tiger.lock&&hero.live){
                    pen.save(); 
                    pen.beginPath(); 
                    pen.setLineDash([5,10]);
                    pen.lineWidth = 2;
                    pen.strokeStyle = tiger.color[22];
                    var circleX = tiger.size*17.6+tiger.x;
                    var circleY = tiger.size*17+tiger.y+tiger.size*2-tiger.size*4;
                    var circleR = tiger.size*28;
                    pen.arc(circleX,circleY,circleR,0,360,false);                
                    pen.stroke();
                    pen.closePath();
                    pen.restore();
                }
                if(tiger.type=='hero'&&tiger.live&&immune){
                    pen.save();
                    pen.beginPath();
                    pen.strokeStyel = 'white';
                    var circleX = tiger.size*17.6+tiger.x;
                    var circleY = tiger.size*17+tiger.y+tiger.size*2-tiger.size*4;
                    var circleR = tiger.size*28;     
                    pen.globalAlpha = 0.6;
                    pen.arc(circleX,circleY,circleR,0,360,false);
                    pen.fill();              
                    pen.closePath();
                    pen.restore();
                }                
            break;
            case 1://右
                pen.fillStyle = tiger.color[0];//'#fbdf7c';//車輪//顏色0
                pen.fillRect(tiger.x,tiger.y,tiger.size*34,tiger.size*8.4);
                pen.fillRect(tiger.x,(tiger.y+tiger.size*26.4),tiger.size*34,tiger.size*8.4);

                pen.fillStyle = tiger.color[1];//'#946716';//輪式//顏色1
                pen.fillRect((tiger.x+tiger.size*30.2),tiger.y,tiger.size*3.8,tiger.size*8.4); 
                pen.fillRect((tiger.x+tiger.size*21.6),tiger.y,tiger.size*3.8,tiger.size*8.4);       
                pen.fillRect((tiger.x+tiger.size*14),tiger.y,tiger.size*3.8,tiger.size*8.4);  
                pen.fillRect((tiger.x+tiger.size*6.4),tiger.y,tiger.size*3.8,tiger.size*8.4); 
                pen.fillRect((tiger.x-tiger.size),tiger.y,tiger.size*3.8,tiger.size*8.4); 

                pen.fillRect((tiger.x+tiger.size*30.2),(tiger.y+tiger.size*26.4),tiger.size*3.8,tiger.size*8.4); 
                pen.fillRect((tiger.x+tiger.size*21.6),(tiger.y+tiger.size*26.4),tiger.size*3.8,tiger.size*8.4);       
                pen.fillRect((tiger.x+tiger.size*14),(tiger.y+tiger.size*26.4),tiger.size*3.8,tiger.size*8.4);  
                pen.fillRect((tiger.x+tiger.size*6.4),(tiger.y+tiger.size*26.4),tiger.size*3.8,tiger.size*8.4); 
                pen.fillRect((tiger.x-tiger.size),(tiger.y+tiger.size*26.4),tiger.size*3.8,tiger.size*8.4); 

                pen.beginPath();
                pen.fillStyle = tiger.color[2];//'#af4c08';//底盤1//顏色2

                pen.moveTo((tiger.x+tiger.size*28.8),(tiger.y+tiger.size*8.4));//1
                pen.lineTo((tiger.x+tiger.size*29.6),(tiger.y+tiger.size*10.4));//2
                pen.lineTo((tiger.x+tiger.size*29.6),(tiger.y+tiger.size*24.4));//3
                pen.lineTo((tiger.x+tiger.size*28.8),(tiger.y+tiger.size*26.4));//4
                pen.lineTo((tiger.x+tiger.size*5.6),(tiger.y+tiger.size*26.4));//5
                pen.lineTo((tiger.x+tiger.size*3.6),(tiger.y+tiger.size*23.2));//6
                pen.lineTo((tiger.x+tiger.size*3.6),(tiger.y+tiger.size*11.6));//7
                pen.lineTo((tiger.x+tiger.size*6.2),(tiger.y+tiger.size*8.4));//8 
                pen.lineTo((tiger.x+tiger.size*28.8),(tiger.y+tiger.size*8.4));//9        
                pen.fill();
                pen.closePath();

                pen.beginPath();//底盤2
                pen.fillStyle = tiger.color[3];//'#e98223';//顏色3
                pen.moveTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*8.4));//1
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*11));//2
                pen.lineTo((tiger.x+tiger.size*27.6),(tiger.y+tiger.size*11));//3
                pen.lineTo((tiger.x+tiger.size*27.6),(tiger.y+tiger.size*23.8));//4
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*23.8));//5
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*26.4));//6
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*26.4));//7
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*24.4));//8
                pen.lineTo((tiger.x+tiger.size*4.2),(tiger.y+tiger.size*25.4));//9
                pen.lineTo((tiger.x+tiger.size*4.2),(tiger.y+tiger.size*19.4));//10
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*20.4));//11
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*16.4));//12
                pen.lineTo((tiger.x+tiger.size*5.8),(tiger.y+tiger.size*16.4));//13
                pen.lineTo((tiger.x+tiger.size*5.8),(tiger.y+tiger.size*11.4));//14
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*11.4));//15
                pen.lineTo((tiger.x+tiger.size*7),(tiger.y+tiger.size*8.4));//16
                pen.lineTo((tiger.x+tiger.size*26),(tiger.y+tiger.size*8.4));//17
                pen.fill();
                pen.closePath();               

                pen.fillStyle = tiger.color[4];//'#c3851e';//底盤3//顏色4
                pen.fillRect((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*10.6),tiger.size*15,tiger.size*14.2);        
                pen.fillStyle = tiger.color[5];//'#c06902';//底盤3框//顏色5
                pen.fillRect((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*10.2),tiger.size*15.4,tiger.size*15); 
                pen.fillStyle = tiger.color[6];//'#a94200';//底盤3的小矩形//顏色6
                pen.fillRect((tiger.x+tiger.size*6.2),(tiger.y+tiger.size*11.8),tiger.size*3.4,tiger.size*4.2);    

                pen.beginPath();//炮架底1
                pen.fillStyle = tiger.color[7];//'#f8a025';//顏色7
                pen.moveTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*10.8));//1
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*10.8));//2
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*12));//3    
                pen.lineTo((tiger.x+tiger.size*7.6),(tiger.y+tiger.size*12.8));//4
                pen.lineTo((tiger.x+tiger.size*7.6),(tiger.y+tiger.size*23));//5 
                pen.lineTo((tiger.x+tiger.size*8.4),(tiger.y+tiger.size*23.8));//6    
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*24.6));//7        
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*24.6));//8 
                pen.lineTo((tiger.x+tiger.size*25.6),(tiger.y+tiger.size*22));//9 
                pen.lineTo((tiger.x+tiger.size*25.6),(tiger.y+tiger.size*13.8));//10 
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*10.8));//11               
                pen.fill();
                pen.closePath();

                pen.beginPath();//炮架底2
                pen.fillStyle = tiger.color[8];//'#ffd94d'; //顏色8
                pen.moveTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*13.6));//1
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*13.6));//2
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*14.8));//3    
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*15.6));//4
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*20.2));//5 
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*20.2));//6    
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*21.8));//7        
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*21.8));//8 
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*20));//9 
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*15.8));//10 
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*13.6));//11  
                pen.fill();
                pen.closePath();
                
         
                pen.beginPath();//炮架底2框
                pen.strokeStyle = tiger.color[9];//'black';//顏色9
                pen.moveTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*13.6));//1
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*13.6));//2
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*14.8));//3    
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*15.6));//4
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*20.2));//5 
                pen.lineTo((tiger.x+tiger.size*9.4),(tiger.y+tiger.size*21));//6    
                pen.lineTo((tiger.x+tiger.size*11.4),(tiger.y+tiger.size*21.8));//7        
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*21.8));//8 
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*20));//9 
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*15.8));//10 
                pen.lineTo((tiger.x+tiger.size*18.6),(tiger.y+tiger.size*13.6));//11  
                pen.stroke();
                pen.closePath();                  

                pen.beginPath();//炮架上底
                pen.fillStyle = tiger.color[10];//'#e1b037';//顏色10
                pen.moveTo((tiger.x+tiger.size*25.6),(tiger.y+tiger.size*13.8));
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*15.8));
                pen.lineTo((tiger.x+tiger.size*22.6),(tiger.y+tiger.size*20));  
                pen.lineTo((tiger.x+tiger.size*25.6),(tiger.y+tiger.size*22));
                pen.lineTo((tiger.x+tiger.size*25.6),(tiger.y+tiger.size*13.8));          
                pen.fill();
                pen.closePath(); 

                pen.beginPath();//炮架下底
                pen.fillStyle = tiger.color[11];//'#d6730b';//顏色11
                pen.moveTo((tiger.x+tiger.size*7.6),(tiger.y+tiger.size*12.8));
                pen.lineTo((tiger.x+tiger.size*7.6),(tiger.y+tiger.size*23));
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*20.2));
                pen.lineTo((tiger.x+tiger.size*8.6),(tiger.y+tiger.size*15.6));
                pen.lineTo((tiger.x+tiger.size*7.6),(tiger.y+tiger.size*12.8));
                pen.fill();
                pen.closePath();  

                pen.beginPath();//圓形炮架底1
                pen.fillStyle = tiger.color[12];//'#e69a11';//顏色12
                var circleY = tiger.size*17.6+tiger.y;
                var circleX = tiger.size*34/2+tiger.x-tiger.size*2;
                var circleR = tiger.size*(21.8-14.4)/2;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath();  

                pen.beginPath();//圓形炮架底2
                pen.fillStyle = tiger.color[13];//'#fbd246';//顏色13
                var circleY = tiger.size*17.6+tiger.y;
                var circleX = tiger.size*34/2+tiger.x-tiger.size*2;
                var circleR =tiger.size*(21.8-14.4)/2.5;
                pen.arc(circleX,circleY,circleR,0,360,false);
                pen.fill();
                pen.closePath(); 

                pen.beginPath();//圓形炮架底3
                pen.fillStyle = tiger.color[14];//'#cf7a03';//顏色14
                 var circleY = tiger.size*17.6+tiger.y;
                var circleX = tiger.size*34/2+tiger.x-tiger.si