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

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

?? plan.java

?? 手機RPG游戲
?? JAVA
字號:
package obj;
import javax.microedition.lcdui.*;

import main.*;
import thread.*;
public class Plan{
private int myPlanId;
  private   Image img;
  private int imgW,imgH;
  public  int x=0;//飛機的起坐標
  public  int y=0;
  public int d=Cntrl.load.d;//飛機的移動量。
  private  int space;//距邊界的距離
  private int w,h;
  int tw=0;
  int th=0;
  int myPlan_y;//最后畫飛機的Y坐標  //以后要修正。
  int myPlanHp;

  int HpMax;//生命最大值.
  public int score=0;//玩家的分數
  int ss=Cntrl.load.bootyScore;//得到金幣加分
  int reduceScore=Cntrl.load.myPlanOverScore;//玩家飛機死后減少分數。
  int myPlanTime=Cntrl.load.myPlanTimes;//玩家可以有幾次生命
  int addHp=Cntrl.load.bootyAddHp;//生命加獎勵的ID*10
  public boolean myPlanAlive=true;//玩家的飛機.是否存活.
  int time=1; //計數器
  int times=Cntrl.load.myPlanOverTime;//玩家死后過多長時間再出現。
  int bulletHit=Cntrl.load.enemyBulletHit;//敵機子彈的打擊力
  int bossBulletHit=Cntrl.load.bossBulletHit;//Boss子彈的打擊力
  int bossLevinHit=Cntrl.load.bossLevinHit;//Boss閃電的打擊力.
  int pass;
  int passNum=Cntrl.load.passNum;//玩家每過幾關加一條命。
  int scoreAdd=Cntrl.load.scoreAdd;//玩家過多少分加一條命。
  int pN=passNum;//到下一次加命的關數。
  int sA=scoreAdd;//到下一次加命的分數。

public Plan(int bw,int bh){
    w=bw;
    h=bh;
    myPlanId=Cntrl.load.myPlanId;
    img=Cntrl.load.myplanImg[myPlanId];
    imgW=img.getWidth();
    imgH=img.getHeight();

    space=Cntrl.load.space;

  planInit();

}
public void planInit(){
  x=w/2;//玩家飛機的起始點
  y=h-30;
  this.myPlanAlive=true;
  myPlanHp=Cntrl.load.myPlanHp;
  HpMax=Cntrl.load.myPlanHpMax;
}

/////////////////////////////////
  ///加入玩家飛機
public void drawMyPlan(Graphics g,Action action,Booty booty,Aerolites aerolites,Enemys enemys,Boss boss){
    drawHpScore(g);//畫生命值,分數
    if(this.myPlanAlive){//如果玩家飛機死了,就不做以下的了。
        moveMyPlan(action);//飛機移動
        screenInspect();//邊界檢測.
        myPlan_y=y-img.getHeight()/2;//Y從標.
        myPlanHit(booty,aerolites,enemys,boss);//飛機的碰撞檢測
        g.drawImage(img,x,myPlan_y,Graphics.LEFT|Graphics.TOP);//畫玩家飛機.
        }
    else{ if(this.myPlanTime<0)
             {gameOver(g);return;}
          this.time++;   //過幾次開始生飛機.
          if(0==time%times){
          planInit();
          this.myPlanTime--;
          time=1;}
        }//end if

}//end drawMyPlan
//      private Font overFont(){//設置文字。
//      return Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN,Font.SIZE_LARGE);
//      }

//////////////////////////////
      private void gameOver(Graphics g){
        Image overImg=Cntrl.load.gameOverImg;
        g.drawImage(overImg,
                    (w-overImg.getWidth())/2,
                    (h-overImg.getHeight())/2,
                    Graphics.LEFT|Graphics.TOP);
//        g.setColor(0xff0000);
//        g.setFont(overFont());
//        g.drawString("你的軍隊都掛了!請大俠從新來過。",50,50,0);
      }
  /////////////////////////
  public void drawHpScore(Graphics g){

    g.setColor(255,0,0);
    g.fillRect(10,h-15,myPlanHp,5);
    g.setColor(255,255,0);//玩家飛機的生命值.
    g.drawRect(10,h-15,HpMax,5);

    pass=Cntrl.load.pass;//關卡數
    if(pass==pN){  pN+=passNum;myPlanTime=myPlanTime+1; }//玩家每過幾關加一條命。
    if(score>sA){  sA+=scoreAdd;myPlanTime=myPlanTime+1;}//玩家每過多少分加一條命。

    for (int i=0;i<=this.myPlanTime;i++){//畫出玩家還有幾次生命。
      g.drawImage(img,w-(i+1)*imgW,space,Graphics.TOP|Graphics.LEFT);
    }
    g.drawRect(w-(myPlanTime+1)*imgW,space,(myPlanTime+1)*imgW-1,imgH);

    g.setColor(255,255,255);//分數.
    g.drawString("得分:"+Integer.toString(score),w/2,h-20,0);
    g.drawString("關卡[  "+Integer.toString(pass+1)+"  ]",10,10,0);
}
////////////////////////
  private void myPlanHit(Booty booty,Aerolites aerolites,Enemys enemys,Boss boss){
      myPlanHitBoss(boss);//與Boss的碰撞
      myPlanHitBossBullet(boss);//與Boss子彈的碰撞
      myPlanHitBossLevin(boss);//與Boss的閃電的碰撞
      myPlanHitEnemy(enemys);//與敵機相碰撞
      myPlanHitEnemyBullets(enemys);//與敵機子彈相碰撞
      myPlanHitBooty(booty);//與獎勵物品碰撞
      myPlanHitAerolites(aerolites);//與隕石碰撞
  }
  ///////////////////////////
  private void myPlanHitBossLevin(Boss boss){//與Boss的閃電的碰撞
    if(boss.getAlive() && boss.isdrawLevin)//boss閃電的狀態
      { int Lx=boss.getLevinXpos();
       tw=x>Lx?boss.getLevinW():this.imgW;
       if(tw>Math.abs(x-Lx)){
         myPlanHp-=bossLevinHit;
         this.myPlanOver();
       }
     }
  }
  ///////////////////////////////
  private void myPlanHitBossBullet(Boss boss){//與Boss子彈的碰撞
    if(boss.getAlive())
    { for(int i=0;i<boss.bs.size();i++){
       BossBullet boosBullet=(BossBullet)boss.bs.elementAt(i);//取出每個敵機子彈。
       tw=x>boosBullet.getXPos()?boosBullet.imgW:this.imgW;
       th= myPlan_y>boosBullet.getYPos()?boosBullet.imgH:this.imgH;

       if(tw>Math.abs(x-boosBullet.getXPos()) && th>Math.abs(myPlan_y-boosBullet.getYPos()) )//檢測是否相碰。
           { myPlanHp-=bossBulletHit;//生命值減少Boss子彈打擊力數值.
             boosBullet.alive=false;
             myPlanOver();//看是否玩家飛機生命為0
           }
  }//end for
  }//end if(boss.getAlive())
  }
  //////////////////////////////
  private void myPlanHitBoss(Boss boss){//與Boss的碰撞
    if(boss.getAlive())
    {
          tw=x>boss.getX()?boss.getImgw():this.imgW;
          th= myPlan_y>boss.getY()?boss.getImgh():this.imgH;
          if(th>Math.abs(myPlan_y-boss.getY()) &&  tw>Math.abs(x-boss.getX()) )//檢測是否相碰。
            {  int k=boss.bossHp<myPlanHp?boss.bossHp:myPlanHp;//比較誰生命值小,就全減誰的.
              myPlanHp-=k;//生命值減少.
              boss.bossHp-=k;
              myPlanOver();//看是否玩家飛機生命為0
              boss.bossOver();//看是否Boss的生命小于0
            }
    }//end if(boss.getAlive())
  }
  //////////////////////////////
  private void myPlanHitEnemyBullets(Enemys enemys){//與敵機子彈相碰撞
    for(int i=0;i<enemys.ebs.size();i++){
               EnemyBullets eb=(EnemyBullets)enemys.ebs.elementAt(i);//取出每個敵機子彈。
               tw=x>eb.getXPos()?eb.imgW:this.imgW;
               th= myPlan_y>eb.getYPos()?eb.imgH:this.imgH;

               if(tw>Math.abs(x-eb.getXPos()) && th>Math.abs(myPlan_y-eb.getYPos()) )//檢測是否相碰。
                  {  myPlanHp-=this.bulletHit;//生命值減少子彈打擊力.
                     eb.alive=false;
                     myPlanOver();//看是否玩家飛機生命為0
                  }
        }
  }
  ///////////////////////////////
  private void myPlanHitEnemy(Enemys enemys){//與敵機相碰撞
    for(int i=0;i<enemys.es.size();i++){
           Enemy e=(Enemy)enemys.es.elementAt(i);//取出每個隕石。
           tw=x>e.getXPos()?e.imgW:this.imgW;
           th= myPlan_y>e.getYPos()?e.imgH:this.imgH;

               if(tw>Math.abs(x-e.getXPos()) && th>Math.abs(myPlan_y-e.getYPos()) )//檢測是否相碰。
                  {
                     myPlanHp-=e.enemyId+1;//生命值減少敵機 (ID 號+1)
                     e.alive=false;
                     myPlanOver();//看是否玩家飛機生命為0
                  }
    }
  }

  ///////////////////////////////
  private void myPlanHitAerolites(Aerolites aerolites){//與隕石碰撞
    for(int i=0;i<aerolites.as.size();i++){
           Aerolite a=(Aerolite)aerolites.as.elementAt(i);//取出每個隕石。
           tw=x>a.getXPos()?a.imgW:this.imgW;
           th= myPlan_y>a.getYPos()?a.imgH:this.imgH;
           if(a.aeroliteId<a.n)//檢測是不是流星。第n個圖片是游戲流星圖
                 {
                 if(tw>Math.abs(x-a.getXPos()) && th>Math.abs(myPlan_y-a.getYPos()) )//檢測是否相碰。
                {
                       myPlanHp-=a.aeroliteId+1;//生命值減少隕石 (ID 號+1)
                       a.alive=false;
                       myPlanOver();//看是否玩家飛機生命為0
                    }
           }
  }
}
///////////////////////////////////////
private void myPlanHitBooty(Booty booty){//和獎勵物品相碰撞
           if(booty.alive){
           tw=x>booty.getXPos()?booty.imgW:this.imgW;
           th= myPlan_y>booty.getYPos()?booty.imgH:this.imgH;
               if(tw>Math.abs(x-booty.getXPos()) && th>Math.abs(myPlan_y-booty.getYPos()) )       //檢測是否相碰。
                  {if(booty.bootyId==0)
                         { score+=ss;}
                    else {
                          myPlanHp=myPlanHp+booty.bootyId*addHp;//生命加獎勵的ID*10
                          if(myPlanHp>HpMax){
                          score+=(myPlanHp-HpMax);//如果加的生命大于生命最大值,則把多的加到分數中。
                           }
                          myPlanHp=myPlanHp>HpMax?HpMax:myPlanHp;//讓生命不超過上限。
                         }
                    booty.alive=false;
                  }//end 檢測是否相碰。
            }//end if(booty.alive)
  }
  ////////////////////////////////////
private void myPlanOver(){//如果玩家生命值沒有了,就爆炸。
      if(myPlanHp<=0){
          Cntrl.gameBoard.explodes.Add(new Explode(x,myPlan_y));//加入爆炸效果
          this.score-=reduceScore;//玩家飛機死后減少分數。
          score=score>0?score:0;//防止分數小于0.
          myPlanHp=0;
          this.myPlanAlive=false;
          Cntrl.gameBoard.mybullets.bs.removeAllElements();//玩家飛機死了,清除所有子彈
      }
}
//////////////////////////////////////
 private void moveMyPlan(Action action){////玩家飛機移動
       x+=action.left+action.right;
       y+=action.up+action.down;
     }
/////////////////////////////////////
  private void screenInspect(){//邊界檢測
       if(x<0)x=0;
       if(y<space)y=space;
       if(x>w-img.getWidth())x=w-img.getWidth();
       if(y>h-space-15)y=h-space-15;
  }
////////////////////////////////////
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品久久久久婷婷| 欧美精品久久99| 日韩欧美一级二级三级久久久| 久久网站热最新地址| 最新不卡av在线| 国产在线看一区| 欧美老女人在线| 亚洲欧美另类图片小说| 国产精品一区二区久激情瑜伽| 色94色欧美sute亚洲线路二| 欧美成人精品1314www| 午夜精品久久久久久久久久久 | 国产视频在线观看一区二区三区| 亚洲一区二区av在线| 99久久99久久综合| 久久夜色精品国产欧美乱极品| 日本成人在线电影网| 欧美婷婷六月丁香综合色| 亚洲靠逼com| 欧美xxxxxxxx| 91成人国产精品| 国产视频一区在线播放| 国产精品香蕉一区二区三区| 久久久亚洲精品石原莉奈| 精品中文字幕一区二区小辣椒| 欧美一区二区久久久| 久久精品国产一区二区三区免费看| 欧美日韩国产欧美日美国产精品| 一区二区三区欧美| 欧美日韩国产一二三| 美女视频一区在线观看| 26uuu欧美日本| 99久久99久久精品免费观看| 中文字幕一区二| 99精品在线观看视频| 亚洲 欧美综合在线网络| 欧美一级精品在线| 粉嫩一区二区三区在线看| 亚洲欧洲精品天堂一级| 欧美性videosxxxxx| 免费的成人av| 中文字幕在线不卡一区| 欧美制服丝袜第一页| 久久国产夜色精品鲁鲁99| 中文字幕色av一区二区三区| 欧美日韩另类一区| 国产成人午夜精品影院观看视频| 亚洲天堂成人在线观看| 日韩一级二级三级精品视频| 国产91清纯白嫩初高中在线观看| 亚洲国产精品久久艾草纯爱 | 国产亚洲精久久久久久| 91黄色在线观看| 国产乱色国产精品免费视频| 一区二区三区四区激情| 久久久久成人黄色影片| 欧美一区二区啪啪| 欧美性感一类影片在线播放| 色综合久久久久综合99| 久久99在线观看| 午夜久久久久久久久久一区二区| 欧美国产1区2区| 精品国产精品一区二区夜夜嗨| 91九色02白丝porn| 91网页版在线| 成人黄色国产精品网站大全在线免费观看 | 中文字幕日韩一区| 国产欧美一区二区精品忘忧草| 日韩免费观看高清完整版| 欧美系列日韩一区| 91久久精品一区二区三区| 成人av电影在线网| 不卡一区二区三区四区| 国产成人精品综合在线观看| 美国毛片一区二区三区| 美国三级日本三级久久99| 日韩高清不卡一区二区三区| 中文字幕中文字幕中文字幕亚洲无线| 制服丝袜亚洲精品中文字幕| 成人高清免费观看| 国产福利91精品| 成人性视频网站| 97精品电影院| 91丨九色丨尤物| 色婷婷精品大视频在线蜜桃视频| 99精品1区2区| 欧美久久久久中文字幕| 欧美一级高清片| 久久九九久精品国产免费直播| 精品国产免费人成电影在线观看四季 | 国产精品国产三级国产aⅴ入口 | 国产成a人无v码亚洲福利| 国产suv精品一区二区883| 一本到不卡免费一区二区| 91精品91久久久中77777| 在线播放欧美女士性生活| 欧美精品一区二区久久婷婷 | 日韩精品一区二区三区三区免费| 精品国产青草久久久久福利| 国产精品国产精品国产专区不蜜| 亚洲猫色日本管| 精品无码三级在线观看视频| zzijzzij亚洲日本少妇熟睡| 欧洲在线/亚洲| 精品国产露脸精彩对白| 亚洲欧美乱综合| 国产精选一区二区三区| 欧美影片第一页| 国产精品区一区二区三区| 午夜精品福利一区二区三区av | 亚洲日穴在线视频| 久久电影国产免费久久电影| 99久久精品免费看国产| 精品三级av在线| 一区二区三区中文字幕电影| 国产一区二区三区免费在线观看 | 91精品福利视频| 国产欧美日本一区视频| 日本特黄久久久高潮| 日本精品视频一区二区| 国产精品网站在线播放| 精品一区二区三区免费播放| 在线免费精品视频| 亚洲欧洲无码一区二区三区| 国产麻豆精品一区二区| 欧美一区二区三区色| 亚洲成a人在线观看| 色婷婷国产精品综合在线观看| 欧美国产日韩亚洲一区| 国产白丝精品91爽爽久久| 久久久久久久久久久99999| 卡一卡二国产精品 | 91女神在线视频| 中文字幕亚洲成人| 一本到三区不卡视频| 亚洲精品水蜜桃| 欧美在线综合视频| 秋霞电影网一区二区| 国产精品99久久久久久宅男| 色综合 综合色| 亚洲少妇中出一区| 欧美做爰猛烈大尺度电影无法无天| 中文字幕一区二区在线播放| av成人老司机| 一区二区三区在线观看视频| 91成人国产精品| 日本欧美一区二区| 日韩免费在线观看| 国产1区2区3区精品美女| 日韩中文字幕亚洲一区二区va在线| 成人午夜短视频| 亚洲色图欧美在线| 91精品国产综合久久国产大片| 久久国产视频网| 亚洲日本在线观看| 欧美肥妇free| 高潮精品一区videoshd| 中文字幕制服丝袜成人av | 欧美一区二区三区视频在线观看| 欧美成人精品高清在线播放| 国产一区不卡视频| 一区二区三区波多野结衣在线观看| 91精品在线免费| 成人app在线| 欧美aⅴ一区二区三区视频| 欧美高清一级片在线观看| 精品视频一区 二区 三区| 国产v综合v亚洲欧| 日韩精品电影在线| 中文字幕欧美一| 精品国产乱码久久久久久夜甘婷婷| 99在线精品免费| 国产麻豆精品一区二区| 五月天激情综合| 亚洲欧美欧美一区二区三区| 久久久久9999亚洲精品| 91麻豆精品国产自产在线观看一区 | 国产精品久久看| 欧美高清你懂得| 在线观看欧美黄色| 99久久99久久久精品齐齐| 国产成人精品一区二| 久久99久久精品欧美| 亚洲影院久久精品| 亚洲另类一区二区| 国产精品久久三| 国产精品黄色在线观看| 国产亚洲欧美色| 久久网站热最新地址| 久久久精品日韩欧美| 欧美zozozo| 久久亚洲综合av| 国产欧美日韩综合精品一区二区| 欧美xxxx老人做受| 国产日韩精品视频一区| 久久久国产午夜精品| 国产精品女同互慰在线看| 中文字幕欧美日韩一区| 国产精品丝袜黑色高跟| 自拍偷拍国产精品|