1. 程式人生 > >手機遊戲畢業設計論文

手機遊戲畢業設計論文

import javax.microedition.midlet.MIDlet;

import javax.microedition.midlet.MIDletStateChangeException;

import javax.microedition.lcdui.*;

public class lzhhdm extends MIDlet implements CommandListener {

        public Display display;

       private Image splashLogo;

       private boolean isSplash=true;

        public Form a;

        private Alert alert;

        int length;

        private MenuScreen menuscreen;

        private gameScreen gamescreen;

        private Command ok,back;

        private byte[] byteInputData;

       public lzhhdm()

       {

       }

       protected void startApp() throws MIDletStateChangeException {

       display=Display.getDisplay(this);

       menuscreen=new MenuScreen(this);

       if(isSplash)

       {  a=null;

              a=new Form("覽橋風光V1.0");

              ok=new Command("ok",Command.OK,1);

           a.append(new StringItem(null,"....."));

              a.addCommand(ok);

              a.setCommandListener(this);

           display.setCurrent(a); 

       }

       }

       protected void menuscreenShow()

       {

              display.setCurrent(menuscreen);

       }

       protected void menuscreensecond() {

              menuscreen=new MenuScreen(this);

              MenuScreen.mainmenu[0]="重新開始";//玩完一遍或掛了後在玩一遍 選單第一項改為 重新開始

              display.setCurrent(menuscreen);

              }

       protected void pauseApp() {}

       protected void destroyApp(boolean arg0) throws MIDletStateChangeException {  

       }

       protected void helShow()

       {  a=null;

              a=new Form("覽橋風光V1.0");

              back=new Command("返回",Command.BACK,1);

           a.append(new StringItem(null,"操作方式:上 2 下 8 左 4 右 6 開火 5"));

           a.append(new StringItem(null,"彈藥數:一次最多打三組"));

              a.addCommand(ok);

              a.setCommandListener(this);

           display.setCurrent(a);

       }

       protected void renwuShow()

       {

              a=null;   

              a=new Form("覽橋風光V1.0");

              back=new Command("返回",Command.BACK,1);

           a.append(new StringItem(null,"遊戲名稱:覽橋風光"));

           a.append(new StringItem(null,"版本號:V1.00"));

           a.append(new StringItem(null,"製作者:資訊電子技術學院01計算機5班 劉澤華 學號:7"));

              a.addCommand(ok);

              a.setCommandListener(this);

           display.setCurrent(a);

       }

       protected void gameShow()

       {   try{

              gamescreen=null;

              gamescreen=new gameScreen(this);

              gamescreen.start();

                     display.setCurrent(gamescreen);

              gamescreen.conti=true;

       }catch(Exception exp)

       {

       System.out.println("dfg");

       }

       }

       public void commandAction(Command arg0, Displayable arg1) {

              a=null;

              this.menuscreenShow();

       }

}

import javax.microedition.lcdui.*;

public class MenuScreen extends Canvas  implements Runnable,CommandListener

{

 Font lowfont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_MEDIUM);

         Font highfont=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_MEDIUM);

        int lowColor=0x000000FF;

        int highColor=0x00FF0000;

        int highBGColor=0x00CCCCCC;

        int width;

        boolean co;

        int height;

        int startHeight;

        int spacing=highfont.getHeight()/2;

       public  static String[] mainmenu={"ÐÂÓÎÏ·","°ïÖú","¹ØÓÚ"};

        int menuIndex;

       Thread menuThread;

       private Command ok=new Command("ok",Command.OK,1);

       private lzhhdm midlet;

       public MenuScreen(lzhhdm midlet)

       {     this.midlet=midlet;

              width=getWidth();

              height=getHeight();

              startHeight=(highfont.getHeight()*mainmenu.length)+((mainmenu.length-1)*spacing);

              startHeight=(height-startHeight)/2;

              menuIndex=0;

              addCommand(ok);

               setCommandListener(this);      

              menuThread =new Thread(this);

              menuThread.start();

              co=true;

       }

       public void run()

       {

              while(co)

              {

                     repaint();

              }

       }

       public void paint(Graphics g)

       { 

              g.setColor(0x00FFFFFF);

              g.fillRect(0,0,width,height);

              for(int i=0;i<mainmenu.length;i++)

              {

                     if(i==menuIndex)

                     { 

                            g.setColor(highBGColor);

                            g.fillRect(0,startHeight+(i*highfont.getHeight())+spacing,width,highfont.getHeight());

                            g.setFont(highfont);

                            g.setColor(highColor);       g.drawString(mainmenu[i],(width-highfont.stringWidth(mainmenu[i]))/2,startHeight+(i*highfont.getHeight())+spacing,20);

                     }else

                     {

                            g.setFont(lowfont);

                            g.setColor(lowColor);

                            g.drawString(mainmenu[i],(width-lowfont.stringWidth(mainmenu[i]))/2,startHeight+(i*highfont.getHeight())+spacing,20);

                     }

              }

       }

       public void keyPressed(int code)

       {

              if(getGameAction(code)==Canvas.UP&&menuIndex-1>=0)

              {

                     menuIndex--;

              }

              else if(getGameAction(code)==Canvas.DOWN&&menuIndex+1<mainmenu.length)

              {

                     menuIndex++;

              }

       }

       public void commandAction(Command c,Displayable d)

       {

              if (c==ok)

              {

                     switch(menuIndex)

                     {

                       case 0:

                           co=false;

                          midlet.gameShow();

                          break;

             case 1:

               midlet.helShow();

               break;

             case 2:

               midlet.renwuShow();

               break;

           }  

       }

    }

}

import javax.microedition.lcdui.*;

import javax.microedition.lcdui.game.*;

public class mybullets extends Sprite

{   public  int score=0;

       private int[][] bullets;

       private int bulletstotal;

    public int width,bulletheight;

     public int no=0;

       public mybullets(Image img,int picwidth,int picheight,int bulletstotal,int width,int height)

       {      

                     super(img,picwidth,picheight);

                     this.bulletstotal=bulletstotal;

                     bullets=new int[bulletstotal][4];

                     this.width=width;

                     this.bulletheight=height/7;   

       }

    public void initBullets(int i)

    {

                 bullets[i][3]=1;

                 bullets[i][2]=0;

    }

    public void updata(int i)

    {

          bullets[i][1]+=bullets[i][2];

    }

    public void setfirstposition(int x,int y,int nof,Sprite sprite[],Image img)

    {      

          sprite[nof].setVisible(true);

        sprite[nof+1].setVisible(true);

        sprite[nof+2].setVisible(true);

          bullets[nof][0]=x+10;

        bullets[nof][1]=y-24;

        sprite[nof].setImage(img,6,6);

        bullets[nof+1][1]=bullets[nof][1]+10;

        bullets[nof+1 ][0]=x+10;

        sprite[nof+1].setImage(img,6,6);

        bullets[nof+2][1]=bullets[nof+1][1]+10;

        bullets[nof+2 ][0]=x+10;

        sprite[nof+2].setImage(img,6,6);

    }

    public void newposition(Sprite sprite[],int i,int v,Sprite jp0,Sprite jp1,Sprite jp2,Sprite boss,Image img)

    {        

          bullets[i][2]-=5;

          sprite[i].setPosition(bullets[i][0],bullets[i][1]+bullets[i][2]);

          sprite[i+1].setPosition(bullets[i][0],bullets[i+1][1]+bullets[i][2]);

          sprite[i+2].setPosition(bullets[i][0],bullets[i+2][1]+bullets[i][2]);

        if (sprite[i].collidesWith(jp0,true))

        {

             sprite[i].setImage(img,32,32);

             sprite[i+1].setImage(img,32,32);

             sprite[i+2].setImage(img,32,32);

             sprite[i].setFrame(1);

             sprite[i+1].setFrame(1);

             sprite[i+2].setFrame(2);

             bullets[i][3]=0;

             bullets[i+1][3]=0;

             bullets[i+2][3]=0;

             jp0.setVisible(false);

             no=1;    

           score=score+1;

        }

        if (sprite[i].collidesWith(jp1,true))

        {

             sprite[i].setImage(img,32,32);

             sprite[i+1].setImage(img,32,32);

             sprite[i+2].setImage(img,32,32);

             sprite[i].setFrame(1);

             sprite[i+1].setFrame(1);

             sprite[i+2].setFrame(2);

             bullets[i][3]=0;

             bullets[i+1][3]=0;

             bullets[i+2][3]=0;

             jp1.setVisible(false);

             no=1;

                score=score+1;

        }

        if (sprite[i].collidesWith(jp2,true))

        {

             sprite[i].setImage(img,32,32);

             sprite[i+1].setImage(img,32,32);

             sprite[i+2].setImage(img,32,32);

             sprite[i].setFrame(1);

             sprite[i+1].setFrame(1);

             sprite[i+2].setFrame(2);

             bullets[i][3]=0;

             bullets[i+1][3]=0;

             bullets[i+2][3]=0;

             jp2.setVisible(false);

             no=1;

        score=score+1;

        }

    }

    public boolean isAlive(int i)

    {

          if (bullets[i][3]==1) return true;

            else return false;

    }

    public void setAlive(int i)

    {

          for (int z=i;z<i+3;z++)

          {

                 bullets[i][3]=0;

          }    

    }

    public int rscore()

    {

          return score;

    }

public void clean(int i,Sprite sprite[])

{

       for (int z=i;z<i+3;z++)

       {

              //sprite[z].setPosition(0,-1500);

              sprite[z].setVisible(false);

              no=1;    

       }}}

import javax.microedition.lcdui.*;

import javax.microedition.lcdui.game.*;

import java.util.*;

public class gameScreen extends GameCanvas implements Runnable,CommandListener

{   private Form al;

    public LayerManager lm,lm1;

    TiledLayer b1;

    int height=getHeight();

    int bosscolor=0;

    int sbosscolor=0;

    int sbz=0;

    int sbmove=0;

    int sfire=0;

    int smovebz=0;

    int sbpzbz=0;

    int slife=0;

    int sbo=0;

    int drawslife=0;

    int lr=0;

    int drawadd=0;

    int pzbz=0;

    int pzbzover=0;   

    int  playlife=-1;

    int bosslife=0;

    int inputno=0;

    int position=0;

    int j1b=0;

    int jbsz=-1;

    int sbsz0=-1;

    int sbsz1=-1;

    int sbsz2=-1;

    int sbsz3=-1;

    int planepo;

    int planepoup;

    int kkk;

    int gz=0;

    int gzks=0;

    int jiangli=0;

    int jplaneno;

    int cloundno=0;

    int right=0;

    int left=1;

    int boss=0;

    int over=0;

    int ai=0;

    int planert=-1;

    int supermen=0;

    int overcmd=0;

    int bossover=0;

    int jpb=-12;

    int aipp=0;

    int jbz=0;

    int cloudposition;

    Random aik=new Random();

    Random aip=new Random();

    Random aicloud=new Random();

    int jb[]=new int[5];

    int playerno=3;

private mybullets[] huokebullet=new mybullets[9];

privateSpritejbullet0,jbullet1,jbullet2,bossbullet0,bossbullet1,bossbullet2;

private Sprite cloud[]=new Sprite[5];

private MenuScreen ms;

privateSpritec1,sboss,cboss,j0,j1,j2,boss1; private lzhhdm midlet;

int s1=0;int s2=65;int s3=0;int row2;

int row;int planecolor=0;

int planecoco=0;public int by1;

public int y1;

public gameScreen (lzhhdm midlet)

{  super(true);this.midlet=midlet;

addCommand(new Command("暫停",Command.BACK,1));

 setCommandListener(this);

 lm=new LayerManager();

c1=new Sprite(img("/pic/MyPlaneFrames.png"),24,24);

cboss=newSprite(img("/pic/boss.png"),65,50);jbullet0=newSprite(img("/pic/bullet.png"),6,6);

jbullet1=new Sprite(img("/pic/bullet.png"),6,6);

jbullet2=new Sprite(img("/pic/bullet.png"),6,6);

bossbullet0=new Sprite(img("/pic/bullet.png"),6,6);

bossbullet1=new Sprite(img("/pic/bullet.png"),6,6);

bossbullet2=new Sprite(img("/pic/bullet.png"),6,6);

sboss=new Sprite(img("/pic/smallboss.png"),65,50);

b1=createBackGround(); c1.setPosition(getWidth()/2,row2+getHeight()-25);

System.out.println("ffffffffffff");

 planepoup=row2;

 planepo=row2+getHeight();

j0=new Sprite(img("/pic/jplane2.png"),24,22);

 j1=new Sprite(img("/pic/jplane2.png"),24,22);

 j2=new Sprite(img("/pic/jplane2.png"),24,22);

 kkk=getHeight()/8;

 lm.append(j0);

 lm.append(j1);

 lm.append(j2);

 cboss.setVisible(false);

 aipp=aip.nextInt()%3;

if(aipp==0)

{aipp=aip.nextInt()%3;

}lm.append(cboss);

 lm.append(bossbullet0);

 lm.append(bossbullet1);

 lm.append(bossbullet2);

 lm.append(jbullet0);

 lm.append(jbullet1);

lm.append(jbullet2);

 lm.append(sboss);

 jb[0]=1;jb[1]=1;jb[2]=1;jb[3]=1;

 try{for(int i=0;i<=4;i++){

 cloud[i]=new Sprite(img("/pic/cloud1.png"),16,16);

 lm.append(cloud[i]);}

 }catch(Exception e)

{System.out.println("cloud");}

try{for(int i=0;i<9;i++){

                        huokebullet[i]=playerbullet("/pic/bullet.png");}}catch(Exception e){}

 try{for(int i=0;i<=8;i=i+3)

 {huokebullet[i].no=1;//ok

  huokebullet[i].score=0;}

  }catch(Exception e){System.out.println("ffffffffffffff");}

 for(int i=0;i<9;i++){

 lm.append(huokebullet[i]);}

 lm.append(c1);lm.append(b1);

}

private Image img (String pic)

{

 Image img=null;

try{ img=Image.createImage(pic);

}catch(Exception exp)

{System.out.println(exp);

}return img;

}

private mybullets playerbullet(String pic)

{Image img=null;

try{ img=Image.createImage(pic);

}catch(Exception exp)

{System.out.println(exp);

}return new mybullets(img,6,6,21,getWidth(),getHeight());}

public TiledLayer createBackGround()

{Image img=null;

try{        img=Image.createImage("/pic/beijing.png");

       }catch(Exception exp)

{System.out.println("layer create image");

}           

TiledLayer tiledLayer=new TiledLayer(50,200,img,16,16);

int[] map1[]{ 地圖};

for(int i=0;i<map1.length;i++)

{ int  column=i%15;

row=(i-column)/15;        tiledLayer.setCell(column,row,map1[i]);}

row2=(row+1)*16-getHeight();

y1=-row2;

return tiledLayer;}

boolean conti=true;

int rate=50;

       public void run()

       {   long st=0;

              long et=0;

              Graphics g=getGraphics();

              int l=1350;

           while(conti){ 

st=System.currentTimeMillis();

                     input();

if(huokebullet[0].isAlive(0)){

huokebullet[0].no--;

if(huokebullet[0].no>0){         huokebullet[0].newposition(huokebullet,0,3,j0,j1,j2,cboss,img("/pic/explosion.png"));     }

if(huokebullet[0].no<=0){  

huokebullet[0].setAlive(0);                   huokebullet[0].clean(0,huokebullet);

 }}            if(huokebullet[3].isAlive(3))

{huokebullet[3].no--;

if(huokebullet[3].no>0)

{  huokebullet[3].newposition(huokebullet,3,3,j0,j1,j2,cboss,img("/pic/explosion.png"));       }

 if(huokebullet[3].no<=0)

{huokebullet[3].setAlive(3);          

 huokebullet[3].clean(3,huokebullet);

}}          if(huokebullet[6].isAlive(6))

{huokebullet[6].no--;  

if(huokebullet[6].no>0){         huokebullet[6].newposition(huokebullet,6,3,j0,j1,j2,cboss,img("/pic/explosion.png"));     }

if(huokebullet[6].no<=0){huokebullet[6].setAlive(6);          

huokebullet[6].clean(6,huokebullet);} }if (huokebullet[0].collidesWith(cboss,true))

{huokebullet[0].setVisible(false);                  huokebullet[1].setVisible(false);            huokebullet[2].setVisible(false);

cboss.setFrame(1);

 if(bosslife<=55)

 {bosslife=bosslife+5;}

  huokebullet[0].setAlive(0);         huokebullet[0].clean(0,huokebullet);} if(huokebullet[0].collidesWith(sboss,true)&&(sbpzbz==0)){       huokebullet[0].setVisible(false);

   huokebullet[1].setVisible(false);           huokebullet[2].setVisible(false);

       sboss.setFrame(1);

if(slife<=75){slife=slife+5;}

 huokebullet[0].setAlive(0);                 huokebullet[0].clean(0,huokebullet);if(huokebullet[3].collidesWith(cboss,true)){cboss.setFrame(1);                    huokebullet[3].setVisible(false);

 huokebullet[4].setVisible(false);                            huokebullet[5].setVisible(false);

huokebullet[3].no=0;

if(bosslife<=55){

bosslife=bosslife+5;}                                   

huokebullet[3].setAlive(3);          huokebullet[3].clean(3,huokebullet);}

if(huokebullet[3].collidesWith(sboss,true)&&(sbpzbz==0)){sboss.setFrame(1);

huokebullet[3].setVisible(false);

huokebullet[4].setVisible(false);

huokebullet[5].setVisible(false);

huokebullet[3].no=1;

if(slife<=75){slife=slife+5;}

huokebullet[3].setAlive(3);           huokebullet[3].clean(3,huokebullet);}

if(huokebullet[6].collidesWith(cboss,true)){     huokebullet[6].setVisible(false);          huokebullet[7].setVisible(false);

huokebullet[8].setVisible(false);

cboss.setFrame(1);

if(bosslife<=55){ bosslife=bosslife+5;

}huokebullet[6].setAlive(6);          huokebullet[6].clean(6,huokebullet);  

}if(huokebullet[6].collidesWith(sboss,true)&&(sbpzbz==0)){sboss.setFrame(1);

 huokebullet[6].setVisible(false);                  huokebullet[7].setVisible(false);           huokebullet[8].setVisible(false);

if(slife<=75){slife=slife+5;}

huokebullet[6].setAlive(6);                                     huokebullet[6].clean(6,huokebullet);;}if((y1>-1350)&&(pzbzover==0))

{

       switch (ai){

                 case 0:

                        if(jb[0]==1){

                               jbz=0;

                            j0.setVisible(true);

                     j1.setVisible(true);

                     j2.setVisible(true);

j1.setFrame(2);

                 j0.setFrame(2);

                 j2.setFrame(2);  j0.setPosition(100-aipp*30,planepoup+24);                  j1.setPosition(100,planepoup);                 j2.setPosition(100+aipp*30,planepoup-24);jb[0]=2;}

if (jb[0]==2){  j0.move(0,3);

j1.move(0,3);j2.move(0,3);

kkk=kkk-1;  }

if(kkk<=0){jb[0]=3;

if(aipp>=0){

j1.setFrame(0);                j0.setFrame(0);j2.setFrame(0);                            j0.move(-3,3);j1.move(-3,3);                       j2.move(-3,3);}else if(aipp<0)

{j1.setFrame(1);                     j0.setFrame(1);                j2.setFrame(1);j0.move(3,3);j1.move(3,3);

j2.move(3,3);}

if(j2.getY()>planepo)   {

j0.setVisible(false);j1.setVisible(false);

j2.setVisible(false);jbullet0.setVisible(false);jbullet1.setVisible(false);         jbullet2.setVisible(false);jpb=-1;

ai=aik.nextInt()%4;                        aipp=aip.nextInt()%5;

if(aipp==0){aipp=aip.nextInt()%5;

}if(ai<0) ai=ai*(-1);

jb[ai]=1;               kkk=getHeight()/8;}}            if((j1.getX()<=c1.getX()-18)&(jbz==0))

{ jpb=0;if(j0.isVisible()){

 jbullet0.setVisible(true);}

 if(j1.isVisible()){

  jbullet1.setVisible(true);}

  if(j2.isVisible()){

  jbullet2.setVisible(true);}          jbullet0.setPosition(j0.getX()+12,j0.getY()+30);jbullet1.setPosition(j1.getX()+12,j1.getY()+30);jbullet2.setPosition(j2.getX()+12,j2.getY()+30);jbz=1;}break;      case 1:

       if(jb[1]==1){j0.setVisible(true);

  j1.setVisible(true);j2.setVisible(true);

 j1.setFrame(2);   j0.setFrame(2);

j2.setFrame(2);j0.setPosition(100-aipp*30,planepoup+24);j1.setPosition(100,planepoup);j2.setPosition(100+aipp*30,planepoup-24);;jb[1]=2;}

if (jb[1]==2){  j0.move(0,3);

j1.move(0,3); j2.move(0,3);

kkk=kkk-1;}

if(kkk<0){jb[1]=3;}

if(jb[1]==3){ jpb=1;j1.setFrame(3);

j0.setFrame(3);j2.setFrame(3);

jb[1]=4;}

if(jb[1]==4){j0.move(0,-4);

j1.move(0,-4); j2.move(0,-4);       

if(j2.getY()<planepoup) {j0.setVisible(false);

j1.setVisible(false);j2.setVisible(false);

jbullet0.setVisible(false);        jbullet1.setVisible(false);jpb=-1;         jbullet2.setVisible(false);                ai=aik.nextInt()%4;                               if(ai<0) ai=ai*(-1);jb[ai]=1;  

aipp=aip.nextInt()%5;                        if(aipp==0){ aipp=aip.nextInt()%5;}

kkk=getHeight()/8; }}break;

case 2: if(jb[2]==1){

jbz=0;j0.setVisible(true);

j1.setVisible(true);j2.setVisible(true);

j1.setFrame(2);j0.setFrame(2);j2.setFrame(2);       j0.setPosition(100-aipp*30,planepoup+aipp*30);j1.setPosition(100,planepoup);     j2.setPosition(100+aipp*30,planepoup+aipp*30);;

jb[2]=2;} if (jb[2]==2){ 

j0.move(0,3);j1.move(0,3);

j2.move(0,3);kkk=kkk-1;

}if(kkk<=0){jb[2]=3;

j1.setFrame(0);j0.setFrame(0);j2.setFrame(0);j0.move(-3,3);j1.move(-3,3);

j2.move(-3,3);       if(j2.getY()>planepo) {jpb=-1;

jbullet0.setVisible(false);

  jbullet1.setVisible(false);

 jbullet2.setVisible(false);

j0.setVisible(false); j1.setVisible(false);

j2.setVisible(false); ai=aik.nextInt()%4;

if(ai<0) ai=ai*(-1); jb[ai]=1;             aipp=aip.nextInt()%5; if(aipp==0)

{aipp=aip.nextInt()%5; }

kkk=getHeight()/8;     }

}    if(((j1.getX()<=c1.getX()-18)||((j2.getX()-6)>=c1.getX()))&(jbz==0))

{if(j0.isVisible()){jbullet0.setVisible(true);} if(j1.isVisible()){

jbullet1.setVisible(true);}

if(j2.isVisible()) {

jbullet2.setVisible(true);}    

jpb=0; jbullet0.setPosition(j0.getX()+12,j0.getY()+30);       jbullet1.setPosition(j1.getX()+12,j1.getY()+30);

jbullet2.setPosition(j2.getX()+12,j2.getY()+30);jbz=1;}

            break;

         case 3:

 if(jb[3]==1){jbz=0;       j0.setVisible(true);j1.setVisible(true);

j2.setVisible(true);j1.setFrame(2);

j0.setFrame(2);j2.setFrame(2);   j0.setPosition(200-aipp*50,planepoup-aipp*10);

j1.setPosition(100,planepoup);               j2.setPosition(100+aipp*50,planepoup-aipp*10); jb[3]=2; }

if (jb[3]==2){  j0.move(0,3);

j1.move(0,3);j2.move(0,3);

if(gzks==0){if(j1.getX()<c1.getX())

{j1.move(2,2);j1.setFrame(1);}

if(j1.getX()>c1.getX()){ j1.setFrame(0);

j1.move(-2,2);} if((j1.getX()<c1.getX())&&((j1.getX()+48)>c1.getX())&&(j1.getY()<c1.getY()))

 {j1.setFrame(2);j1.move(0,2); if(j1b==0){ jbullet1.setPosition(j1.getX()+12,j1.getY()+30);j1b=1;}}

 j0.move(0,3);jbullet1.move(0,3);

 j1.move(0,3);j2.move(0,3);} if((j2.getY()>(planepo+22))&&(j0.getY()>(planepo+22))&&((j1.getY()<(planepoup-22))||(j1.getY()>(planepo+22)))){

 jb[3]=1;

gz=0;gzks=0;jbullet1.setVisible(false);

jbullet2.setVisible(false);                       j0.setVisible(false);

     j1.setVisible(false);

          j2.setVisible(false);

  ai=aik.nextInt()%4; if(ai<0)

 ai=ai*(-1);

jb[ai]=1;   aipp=aip.nextInt()%5;

if(aipp==0) {aipp=aip.nextInt()%5;}

kkk=getHeight()/8;  }

if((j2.getX()<=c1.getX()-18)&(jbz==0))/

{ jpb=0; if(j0.isVisible())

{jbullet0.setVisible(true);}

if(j2.isVisible()){jbullet2.setVisible(true);

}jbullet0.setPosition(j0.getX()+12,j0.getY()+30);jbullet2.setPosition(j2.getX()+12,j2.getY()+30); jbz=1; }} break;}}if(jpb==0)

{jbullet0.move(0,5); jbullet1.move(0,5);

jbullet2.move(0,5); }

if((jbullet0.collidesWith(c1,true)||jbullet1.collidesWith(c1,true)||jbullet2.collidesWith(c1,true)||bossbullet0.collidesWith(c1,true)||bossbullet1.collidesWith(c1,true)||bossbullet2.collidesWith(c1,true))&&(pzbz==0)){

c1.setImage(img("/pic/explosion.png"),32,32); c1.setFrame(3); if((playerno>0))

{playerno=playerno-1; planert=1;

}else{pzbz=1; overcmd=1;       

over=1;}}     if((j0.collidesWith(c1,true)&&(pzbz==0)))      {

       c1.setImage(img("/pic/explosion.png"),32,32); c1.setFrame(3); if(playerno>0)

       {playerno=playerno-1; planert=1;

playlife=0; }else{overcmd=1; playlife=1;

over=1;} j0.setVisible(false); pzbz=1;

}if((j1.collidesWith(c1,true)&&(pzbz==0))) {c1.setImage(img("/pic/explosion.png"),32,32); c1.setFrame(3); if(playerno>0)

{playerno=playerno-1; planert=1;

playlife=0; }else{overcmd=1;          

playlife=1; over=1;} j1.setVisible(false);

pzbz=1; if((j2.collidesWith(c1,true)&&(pzbz==0)))      

{c1.setImage(img("/pic/explosion.png"),32,32); c1.setFrame(3);

if(playerno>0) {

playerno=playerno-1; planert=1;

playlife=0; }else{playlife=1;

if(overcmd==0) {}overcmd=1;

}     over=1;} j2.setVisible(false);

pzbz=1; }if(overcmd==1)

{addCommand(new Command("返回",Command.OK,1)); overcmd=2;

if(boss==1) {cboss.setVisible(true);

if(cboss.getY()<25) {

                 cboss.move(0,3);

                }else lr=1;

              if(lr==1)

              {if(cboss.getX()<0)

                     {

                            right=0;

       left=1;  }

       else if(cboss.getX()>getWidth()-cboss.getWidth())

{left=0; right=1; }

if(right==0) {cboss.move(3,0); }

else if(left==0) {cboss.move(-3,0);} }

       if(((cboss.getX()<=c1.getX()-10)||(cboss.getX()<=c1.getX()+60))&&(jbsz==0))  {bossbullet0.setPosition(cboss.getX()+6,cboss.getY()+40); bossbullet1.setPosition(cboss.getX()+30,cboss.getY()+52);     bossbullet2.setPosition(cboss.getX()+54,cboss.getY()+40);  jbsz=1; }if(jbsz==1){

bossbullet0.setVisible(true);

bossbullet1.setVisible(true);

bossbullet2.setVisible(true);

bossbullet0.move(0,5);

bossbullet1.move(0,5);

bossbullet2.move(0,5); }

if(bossbullet2.getY()>getHeight()){jbsz=0;}}

if(bosslife==60){ cboss.setVisible(false);

j1.setVisible(false);j0.setVisible(false);

j2.setVisible(false);bossbullet0.setVisible(false);bossbullet1.setVisible(false);bossbullet2.setVisible(false);jbullet0.setVisible(false);jbullet1.setVisible(false);jbullet2.setVisible(false);

pzbz=1;bossover=1;boss=2;bosslife=65;

pzbzover=1; addCommand(new Command("返回",Command.OK,1));

              }if(bosslife==45)

       {bosscolor=1; }

       if(slife==65)

       {sbosscolor=1;}

       if(y1<0){ render(g);

y1=y1+1;planepoup=planepoup-1;

planepo=planepo-1;c1.move(0,-1); }

if (y1>=0 ) { if(boss==0)

{jbsz=0; boss=1; planepoup=0;

planepo=getHeight();cboss.setPosition(80,-60); }renderboss(g); } if(bosscolor==0)

cboss.setFrame(0); else cboss.setFrame(1);

if(sbosscolor==0) sboss.setFrame(0);

else sboss.setFrame(1); if(cloundno==0)

{  cloud[0].setPosition(25,planepoup-(65));

       cloud[1].setPosition(80,planepoup-(140);

      cloud[2].setPosition(112,planepoup-(90));             cloud[3].setPosition(175,planepoup-(200)); cloud[4].setPosition(223,planepoup-(70));

cloundno=1; } cloud[0].move(0,1);

cloud[1].move(0,1); cloud[2].move(0,1);

                  cloud[3].move(0,1);

                  cloud[4].move(0,1);

                if(cloud[0].getY()>planepo){

cloudposition=aicloud.nextInt()%5;

if(cloudposition<0) {                    cloudposition=cloudposition*(-1);

       }     cloudposition=cloudposition+1;

       cloud[0].setPosition(cloudposition*40,planepoup);  }if(cloud[1].getY()>planepo){

       cloudposition=aicloud.nextInt()%5;

if(cloudposition<0) {    cloudposition=cloudposition*(-1);

}     cloudposition=cloudposition+1;

cloud[1].setPosition(cloudposition*30,planepoup); }if(cloud[2].getY()>planepo){

cloudposition=aicloud.nextInt()%5;

if(cloudposition<0) {coudposition=cloudposition*(-1);

}

       cloudposition=cloudposition+1;

       cloud[2].setPosition(cloudposition*55,planepoup); }if(cloud[3].getY()>planepo){

cloudposition=aicloud.nextInt()%5;

if(cloudposition<0) {cloudposition=cloudposition*(-1);

}cloudposition=cloudposition+1;

cloud[03].setPosition(cloudposition*15,planepoup); } if(cloud[4].getY()>planepo){

cloudposition=aicloud.nextInt()%5;

if(cloudposition<0) {cloudposition=cloudposition*(-1); }

cloudposition=cloudposition+1; cloud[4].setPosition(cloudposition*22,planepoup); }if((y1==-1000)&&(sbz==0))

{sbsz0=0; sbsz1=0; sbsz2=0; sbsz3=0;

drawslife=1; sboss.setVisible(true);

sboss.setPosition(50,planepoup-65);

sbz=1; }if(sbz==1) {sboss.move(0,3);

if(sboss.getY()>planepoup) {sbz=2;

}}

if(sbz==2) {if(((sboss.getY()-50)<c1.getY())&&(smovebz==0)) {     sbmove=1;//上移}

if(((sboss.getX()+30)<c1.getX())&&(smovebz==0)) {sbmove=4;//右移}

if(((sboss.getY()+50)<c1.getY())&&(smovebz==0)) {sbmove=2; }

if(((sboss.getX()-30)>c1.getX())&&(smovebz==0)) {sbmove=3; }if(sbmove==1)//上移

{ smovebz=1; sboss.move(0,-2); }

if(sbmove==2){smovebz=1; sboss.move(0,2);

}if(sbmove==3) {sboss.move(-2,0); }

if(sbmove==4)

{smovebz=1; sboss.move(2,0);  }

if(sboss.getY()<planepoup) {

       sboss.setPosition(sboss.getX(),planepoup);    smovebz=0; }

if(sboss.getY()>(planepo-65)){       sboss.setPosition(sboss.getX(),planepo-65);

smovebz=0; }if(sboss.getX()<0) {sboss.setPosition(0,sboss.getY());smovebz=0; }if(sboss.getX()>(getWidth()-65)) {       sboss.setPosition(getWidth()-65,sboss.getY());      smovebz=0; } if(((sboss.getX()+40)<c1.getX())&&(sboss.getY()<c1.getY())&&((sboss.getY()+65)>c1.getY())&&(sbsz0==0))

{bossbullet0.setVisible(true);

bossbullet0.setPosition(sboss.getX()+45,sbos.

getY()+35); sbsz0=1;

                }

                if(sbsz0==1)

{bossbullet0.move(3,0);     if(bossbullet0.getX()>getWidth()) {

sbsz0=0; } }if((sboss.getX()>c1.getX())&&((sboss.getY()+65)>c1.getY())&&(sbsz1==0))

{bossbullet1.setPosition(sboss.getX()+10,sboss.getY()+35); sbsz1=1; }

if(sbsz1==1) {      bossbullet1.move(-3,0);

if(bossbullet1.getX()<0) {

bossbullet1.setVisible(false);       sbsz1=0;}}     if((sboss.getX()<c1.getX())&&((sboss.getX()+50)>(c1.getX()))&&(sboss.getY()>c1.getY())&&(sbsz2==0))  {

bossbullet2.setVisible(true);

bossbullet2.setPosition(sboss.getX()+25,sboss.getY());sbsz2=1; }if(sbsz2==1)

{bossbullet2.move(0,-4); if(bossbullet2.getY()<planepoup)

{bossbullet2.setVisible(false);     sbsz2=0;

} }if((sboss.getX()<c1.getX())&&((sboss.getX()+50)>(c1.getX()))&&(sboss.getY()<c1.getY())&&(sbsz3==0))

{bossbullet0.setVisible(true); bossbullet1.setVisible(true); bossbullet2.setVisible(true);

bossbullet2.setPosition(sboss.getX()+10,sboss.getY()+25); bossbullet1.setPosition(sboss.getX()+30,sboss.getY()+50);

bossbullet0.setPosition(sboss.getX()+55,sboss.getY()+25); sbsz3=1; }

if(sbsz3==1) {bossbullet0.move(0,4);

bossbullet1.move(0,4); bossbullet2.move(0,4);

if(bossbullet0.getY()>planepo)

{

bossbullet0.setVisible(false);

bossbullet1.setVisible(false);

bossbullet2.setVisible(false); sbsz3=0;

}}} if((slife==80)) {

sboss.setImage(img("/pic/explosion.png"),32,32);sboss.setFrame(3);bossbullet0.setVisible(false); bossbullet1.setVisible(false);

bossbullet2.setVisible(false); jiangli=11;

slife=85; drawslife=0;

playerno=playerno+1; sbz=-1;//sbos         sbpzbz=1; }

if((sboss.getY()==getHeight())){

sbz=-1; sbpzbz=1; drawadd=21;

}if(drawadd==21) {sboss.move(0,-3);

if(sboss.getY()<-65) {

sboss.setVisible(false); drawadd=31;

}}if(planert==1) {inputno=1;

pzbz=1; s2=65; c1.setImage(img("/pic/MyPlaneFrames.png"),24,24); c1.setFrame(0); c1.setVisible(true); 

c1.setPosition(getWidth()/2,planepo+48);

planert=2;

}if(planert==2)

{c1.move(0,-2); if(c1.getY()<(planepo-24))

{System.out.println(c1.getY());

System.out.println(planepo-24);inputno=0;

s1=1;

planert=3; }if(c1.getY()>(planepo+24))

{  c1.move(0,-2); }}

et=System.currentTimeMillis();

if((et-st)<rate){try{      Thread.sleep(rate-(et-st));

}catch(Exception exp){} }

}}public void render(Graphics g)

{ g.setColor(255,255,255);

g.fillRect(0,0,getWidth(),getHeight());

lm.setViewWindow(0,0,getWidth(),getHeight()+10000); lm.paint(g,0,y1); if(over==1)

{ g.drawString("寒在杭州覽橋上空因座機被擊中,壯烈殉國,年",c1.getWidth()-24,60,0); g.drawString("1937年 8月14日,空軍第4大隊少尉飛行員劉思",c1.getWidth()-24,40,0); g.drawString("僅21歲",c1.getWidth()-24,80,0); inputno=1;

}g.drawString("37年8月14日 杭州覽橋 戰果:"+String.valueOf(huokebullet[0].rscore()+huokebullet[3].rscore()+huokebullet[6].rscore()),c1.getWidth()-24,c1.getHeight()-20,0);//

if(drawslife==1) {g.setColor(255,0,0);

g.fillRect(2,22,80,5);g.setColor(255,255,255);

g.fillRect(2,22,slife,5); }

if(playerno==3) {g.drawImage(img("/pic/playerbiaozhi.png"),170,4,0);  g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0); g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0); }if(playerno==2)

{g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0);

g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0); }if(playerno==1) {

g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0); }if(playerno==4)

{g.drawImage(img("/pic/playerbiaozhi.png"),145,4,0);

       g.drawImage(img("/pic/playerbiaozhi.png"),170,4,0);

g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0);

   g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0);g.setColor(255,0,0); }

if(jiangli==11){g.setColor(255,0,0);

g.drawString("援軍到達",100,150,0);

if(sboss.getY()>planepo) {jiangli=20;

       }} if(s1==1) {g.setColor(255,255,255);

g.fillRect(170,22,65,5); g.setColor(255,0,0);

g.fillRect(170,22,s2,5); g.drawString("無敵時間",124,18,0); drawadd=1; s2=s2-1;     

if(s2==0) {pzbz=0; s1=2; }}

flushGraphics();}public void renderboss(Graphics g) {lm.setViewWindow(0,0,getWidth(),getHeight());       lm.paint(g,0,0); if(over==1)

{//c1.getHeight(),0); g.drawString("1937年 8月14日,空軍第4大隊少尉飛行員劉思",c1.getWidth()-24,40,0);

g.drawString("僅21歲",c1.getWidth()-24,80,0); inputno=1;

} g.setColor(255,0,0); g.fillRect(2,2,60,5);//

g.setColor(255,255,255); g.fillRect(2,2,bosslife,5);//

if((bossover==1)&&(c1.isVisible()))

{g.drawString("此處加覽橋空戰真實歷史戰果",c1.getWidth()-24,40,0); g.drawString("此處加覽橋空戰真實歷史戰果",c1.getWidth()-24,60,0); g.drawString("僅21歲",c1.getWidth()-24,80,0); }

if(playerno==4) {g.drawImage(img("/pic/playerbiaozhi.png"),145,4,0); g.drawImage(img("/pic/playerbiaozhi.png"),170,4,0);  g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0);        g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0);} if(playerno==3) {

g.drawImage(img("/pic/playerbiaozhi.png"),170,4,0);

g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0);             g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0);}if(playerno==2){            g.drawImage(img("/pic/playerbiaozhi.png"),195,4,0);

g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0);

}if(playerno==1){ g.drawImage(img("/pic/playerbiaozhi.png"),220,4,0); }

if(s1==1) {    g.setColor(255,255,255);

g.fillRect(170,22,65,5);g.setColor(255,0,0);

g.fillRect(170,22,s2,5);g.drawString("無敵",124,18,0);s2=s2-1;if(s2==0)

{pzbz=0;s1=2;}}

flushGraphics();}

public void input(){   if(inputno==0)

{int keystate=getKeyStates();

if((keystate&UP_PRESSED)!=0){

moveUp();}

if((keystate&DOWN_PRESSED)!=0){

moveDown();}if((keystate&LEFT_PRESSED)!=0){ moveLeft();}

if((keystate&LEFT_PRESSED)==0){

c1.setFrame(0);}if((keystate&RIGHT_PRESSED)!=0){moveRight();}

if((keystate&FIRE_PRESSED)!=0){

for(int i=0;i<=6;i=i+3){

if(huokebullet[i].no==1){  

for( int z=i;z<i+3;z++){                          

huokebullet[z].initBullets(z);                              huokebullet[z].no=huokebullet[z].bulletheight

}huokebullet[i].setfirstposition(c1.getX(),c1.getY(),i,huokebullet,img("/pic/bullet.png"));//

break;}}}}}private void moveDown() {

c1.move(0,4);             

if((c1.getY()+c1.getHeight())>planepo)

{

c1.setPosition(c1.getX(),planepo-c1.getHeight());}}private void moveUp() {c1.move(0,-4);

if(c1.getY()<planepoup){   c1.setPosition(c1.getX(),planepoup);}}

       private void moveRight() {

                c1.setFrame(2);

                     c1.move(3,0);

       if(c1.getX()>(getWidth()-c1.getWidth()))

       {                          c1.setPosition((getWidth()-c1.getWidth())c1.getY());                 

}     }

private void moveLeft() {

              c1.move(-3,0);

              c1.setFrame(1);   

              if(c1.getX()<=0)

           {

                 c1.setPosition(0,c1.getY());

           }

       }

       public void start()

       {

              Thread t=new Thread(this);

              t.start();

       }

       public void commandAction(Command c,Displayable d)

       {

              if(c.getLabel()=="暫停")

              {   conti=false;

               removeCommand(c);

               addCommand(new Command("繼續",Command.OK,1));

              }

              if(c.getLabel()=="繼續")

              {   conti=true;

              start();//

               removeCommand(c);

               addCommand(new Command("暫停",Command.OK,2));

              }

if(c.getLabel()=="返回")

              {   conti=false;

midlet.menuscreensecond();

       }

       } 

}