⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mwariocanvas.java

📁 自己编的手机游戏
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class mWarioCanvas extends GameCanvas implements Runnable,CommandListener{
private kidSprite boy,girl;
private stickSprite LStick,RStick;
private woodSprite wood1,wood2,wood3;
private stoneSprite stone1,stone2,stone3,stone4,stone5;
private LayerManager lManager;
private TiledLayer background;
private Image sbStar,srStar,sgStar,lbStar,lrStar,lgStar;
private int bScore,gScore;
private int disWidth,disHeight;
private int waitTick;
private int skipFrame; 
private boolean isCyc;
private static int frameNum;
  private final static Command conti=new Command("继续",Command.OK,1); 
private Graphics g;
private Font myFont;
public mWarioCanvas(){
super(true);
disWidth=getWidth();
disHeight=getHeight();
lManager=new LayerManager();
g=getGraphics();
myFont=Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE);
bScore=0;
gScore=0;
frameNum=0;
waitTick=0;
skipFrame=0;
try{
wood1=new woodSprite(disWidth,disHeight,1); 
  wood2=new woodSprite(disWidth,disHeight,2);
  wood3=new woodSprite(disWidth,disHeight,3); 
  stone1=new stoneSprite(disWidth,disHeight,1);      
  stone2=new stoneSprite(disWidth,disHeight,2);   
  stone3=new stoneSprite(disWidth,disHeight,3);   
    stone4=new stoneSprite(disWidth,disHeight,4);     
    stone5=new stoneSprite(disWidth,disHeight,5);     
    girl=new kidSprite(disWidth,disHeight,1);     
boy=new kidSprite(disWidth,disHeight,2); 
LStick=new stickSprite(disWidth,disHeight,true); 
RStick=new stickSprite(disWidth,disHeight,false); 
  }
  catch(Exception e){
System.out.println("Can not create Sprite"[img]/images/wink.gif[/img];
}
lManager.append(wood1);
lManager.append(wood2);
lManager.append(wood3);
lManager.append(stone1);
lManager.append(stone2);
lManager.append(stone3);
lManager.append(stone4);
lManager.append(girl);
lManager.append(boy);
lManager.append(LStick);
lManager.append(RStick);
try{
sbStar=Image.createImage("/sbStar.png"[img]/images/wink.gif[/img];
  lbStar=Image.createImage("/lbStar.png"[img]/images/wink.gif[/img];
  srStar=Image.createImage("/srStar.png"[img]/images/wink.gif[/img];
  lrStar=Image.createImage("/lrStar.png"[img]/images/wink.gif[/img];
  sgStar=Image.createImage("/sgStar.png"[img]/images/wink.gif[/img];
  lgStar=Image.createImage("/lgStar.png"[img]/images/wink.gif[/img];
}
catch(Exception e){
System.out.println("Can not create Sprite"[img]/images/wink.gif[/img];
} 
} 
public void setBackground(){
g.setColor(50,192,00);
g.fillRect(0,disHeight-20,disWidth,20);
int column=disHeight/20;
if(gScore>bScore){
g.setColor(50,00,00);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-i*40,disWidth,20);
g.setColor(90,40,40);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-20-i*40,disWidth,20); 
}
else if(gScore<bScore){
    g.setColor(00,00,50);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-i*40,disWidth,20);
g.setColor(40,40,90);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-20-i*40,disWidth,20); 
}
else{
g.setColor(00,00,00);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-i*40,disWidth,20);
g.setColor(70,70,70);
for(int i=1;i<=column;i++)
  g.fillRect(0,disHeight-20-i*40,disWidth,20); 
} 
}
public void paintStar(){
g.drawImage(sgStar,disWidth/6,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  g.drawImage(sgStar,(disWidth/6)*2,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  g.drawImage(lgStar,(disWidth/6)*3,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  g.drawImage(sgStar,(disWidth/6)*4,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  g.drawImage(sgStar,(disWidth/6)*5,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  if(gScore>=1)
    g.drawImage(srStar,disWidth/6,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  if(gScore>=2)
     g.drawImage(srStar,(disWidth/6)*2,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
   if(gScore>=3)   
    g.drawImage(lrStar,(disWidth/6)*3,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
  if(bScore>=1)
     g.drawImage(sbStar,(disWidth/6)*5,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
   if(bScore>=2)
      g.drawImage(sbStar,(disWidth/6)*4,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
    if(bScore>=3)
        g.drawImage(lbStar,(disWidth/6)*3,disHeight-sgStar.getHeight()+4,Graphics.HCENTER|Graphics.VCENTER);
}
public void startGame(){ 
Thread t=new Thread(this);
t.start(); 
}
public void run(){
while(true){
bScore=0;
gScore=0; 
isCyc=true; 
   while(bScore<3&&gScore<3){ 
  wood1.reset();
  wood2.reset();
  wood3.reset();
  stone1.reset();
  stone2.reset();
   stone3.reset();
   stone4.reset();
   stone5.reset();
   girl.reset();
   boy.reset();
   LStick.reset();
   RStick.reset();
  setBackground();
   paintStar();
   wood1.paint(g);
   wood2.paint(g);
   wood3.paint(g); 
   stone1.paint(g);
   stone2.paint(g);
   stone3.paint(g);
   stone4.paint(g);
   stone5.paint(g);
   LStick.paint(g);
   RStick.paint(g);
   girl.paint(g);
   boy.paint(g);
   skipFrame=0; 
   frameNum=0;
   waitTick=0;
     g.setColor(255,255,255);
   g.setFont(myFont);
   g.drawString("准           备!",(disWidth-myFont.stringWidth("准           备!"[img]/images/wink.gif[/img])/2,disHeight-160,Graphics.TOP|Graphics.LEFT);
   flushGraphics();
   synchronized(this){
   try{
   wait(1000);
   }
   catch(Exception e){
   System.out.println("wait error"[img]/images/wink.gif[/img];
   }
   }
   while(true){   
    setBackground();
    paintStar();
    int KeyState=getKeyStates();
     if((KeyState&LEFT_PRESSED)!=0)
      LStick.poke();
     if((KeyState&RIGHT_PRESSED)!=0)
       RStick.poke();
     wood1.paint(g);
     wood2.paint(g);
      wood3.paint(g); 
      stone1.paint(g);
      stone2.paint(g);
     stone3.paint(g);
      stone4.paint(g);
      stone5.paint(g);
      LStick.paint(g);
     LStick.changeSpeed();  
     LStick.move();
     LStick.stoneCollides(stone1);
     LStick.stoneCollides(stone2);
     LStick.stoneCollides(stone3);
     LStick.stoneCollides(stone4);
     LStick.woodCollides(wood1);
     LStick.woodCollides(wood2);
     LStick.woodCollides(wood3);
     RStick.paint(g);    
     RStick.move();
     RStick.stoneCollides(stone1);
     RStick.stoneCollides(stone2);
     RStick.stoneCollides(stone3);
     RStick.stoneCollides(stone4);
     RStick.woodCollides(wood1);
     RStick.woodCollides(wood2);
      RStick.woodCollides(wood3);
      girl.paint(g);
     boy.paint(g);
     if(skipFrame==2){
     skipFrame=0;
     girl.nextFrame();
     boy.nextFrame();
     }
     skipFrame++;    
     flushGraphics();
     synchronized(this){ 
        try{
        wait(50);
       }
       catch(Exception e){
       System.out.println("wait error"[img]/images/wink.gif[/img];
       }
      }
      if(wood1.isSoar(stone1)){
      LStick.setVisible(false);
      RStick.setVisible(false);
      if(wood1.isLeftWin()){
      gScore++;
        girl.winPose();
        boy.losePose();    
       }
       else{
         bScore++;
         boy.winPose();
         girl.losePose();        
       }
       break;
      }  
      if(wood2.isSoar(stone2)){          
      LStick.setVisible(false);
      RStick.setVisible(false);
      if(wood2.isLeftWin()){
      gScore++;
      girl.winPose(); 
      boy.losePose();   
       }
       else{
         bScore++;
         boy.winPose(); 
         girl.losePose();       
       }
       break;
     }
      if(wood3.isSoar(stone3)){          
      LStick.setVisible(false);
      RStick.setVisible(false);
      if(wood3.isLeftWin()){
      gScore++;
      girl.winPose(); 
      boy.losePose();
       }
       else{
         bScore++;
         boy.winPose();
         girl.losePose();
       }
       break;
      }
      }
      while(true){   
       setBackground();
    paintStar();
    girl.paint(g);
      boy.paint(g);
     wood1.paint(g);
     wood2.paint(g);
      wood3.paint(g); 
      stone1.paint(g);
      stone2.paint(g);
      stone3.paint(g);
      stone4.paint(g);
      stone5.paint(g);
      LStick.paint(g);
      RStick.paint(g);    
      if(frameNum<=16)
       frameNum++;    
     if(wood1.isSoar(stone1)){
     if(!wood1.fallDown()){
      if(waitTick==60)       
          break;
        waitTick++;
      }
      if(wood1.isLeftWin()){
      g.setColor(255,255,255);
         g.setFont(myFont);
         g.drawString("你赢了!",disWidth/3-myFont.stringWidth("你赢了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         g.drawString("你输了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         boy.flatten(wood1);
         if(skipFrame==6){
                skipFrame=0;
         girl.nextFrame();        
         }
         skipFrame++;
      }
       else{
      g.setColor(255,255,255);
         g.setFont(myFont);
      g.drawString("你输了!",disWidth/3-myFont.stringWidth("你输了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
          g.drawString("你赢了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
          girl.flatten(wood1);
           if(skipFrame==6){
                skipFrame=0;        
         boy.nextFrame();
         }
         skipFrame++;            
       }    
     }
      if(wood2.isSoar(stone2)){
      if(!wood2.fallDown()){      
      if(waitTick==60)       
          break;
        waitTick++;
        }      
      if(wood2.isLeftWin()){
      g.setColor(255,255,255);
         g.setFont(myFont);
         g.drawString("你赢了!",disWidth/3-myFont.stringWidth("你赢了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         g.drawString("你输了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         boy.flatten(wood2); 
         if(skipFrame==6){
                skipFrame=0;
         girl.nextFrame();        
         }
         skipFrame++;      
     }
      else{
      g.setColor(255,255,255);
         g.setFont(myFont);
      g.drawString("你输了!",disWidth/3-myFont.stringWidth("你输了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
          g.drawString("你赢了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT); 
          girl.flatten(wood2);
          if(skipFrame==6){
                skipFrame=0;        
         boy.nextFrame();
         }
         skipFrame++;           
      }    
     }
     if(wood3.isSoar(stone3)){
      if(!wood3.fallDown()){            
      if(waitTick==60)       
         break;
       waitTick++;
        } 
      if(wood3.isLeftWin()){
      g.setColor(255,255,255);
        g.setFont(myFont);
         g.drawString("你赢了!",disWidth/3-myFont.stringWidth("你赢了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         g.drawString("你输了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
         boy.flatten(wood3); 
         if(skipFrame==6){
                skipFrame=0;
         girl.nextFrame();        
         }
          skipFrame++;       
     }
      else{
      g.setColor(255,255,255);
         g.setFont(myFont);
     g.drawString("你输了!",disWidth/3-myFont.stringWidth("你输了!"[img]/images/wink.gif[/img],disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
          g.drawString("你赢了!",disWidth*2/3,disHeight-180+frameNum*2,Graphics.TOP|Graphics.LEFT);
          girl.flatten(wood3);
          if(skipFrame==6){
                skipFrame=0;        
         boy.nextFrame();
         }
         skipFrame++;         
      }    
      }    
      flushGraphics();
     synchronized(this){ 
       try{
        wait(25);
       }
       catch(Exception e){
       System.out.println("wait error"[img]/images/wink.gif[/img];
       }
      }
     }    
      }
      while(isCyc==true){
       addCommand(conti);       
     setCommandListener(this);
    }
    removeCommand(conti);     
  }
} 
public void commandAction(Command c,Displayable s){ 
if(c==conti){
isCyc=false;
}
} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -