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

📄 gamecanvas.java

📁 这是一个跳跳板的游戏的源代码,是一个不错的小游戏!
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
         
          
          board3[8][3]=1;
          board3[8][4]=1;
          board3[0][4]=2;
          board4[2][3]=1;
          board4[2][4]=1;
          board4[3][4]=2;
          
          p=4;//加电网
          
    }
    else if(level==8){
          speed=new int[]{1,-2,2,-1};
         board1[0][2]=1;//猴子
          board1[3][2]=4;//蜜蜂
          board1[5][2]=6;//蛇
         
          
          board2[2][2]=9;//鄂鱼静态
          board2[5][2]=1;//猴子
          board2[7][2]=12;//假美眉
          
          board3[2][2]=9;//鄂鱼静态
          board3[5][2]=1;//猴子
          board3[7][2]=12;//假美眉
          board3[0][2]=6;//蛇
          
          board4[2][2]=4;//蜜蜂
          board4[5][2]=4;//蜜蜂
          board4[7][2]=1;//假美眉
          board4[6][2]=10;//可吃物动画
          
          board1[6][3]=1;//为0代表板子,为1代表弹床,
          board1[7][3]=1;//弹床    
          board1[6][4]=1;//为0代表不能上下跳跃,为一代表只能下跳,为二代表只能上跳,为三代表可以上下跳
          board1[7][4]=3;
          board1[8][4]=2;
         
          
          board3[8][3]=1;
          board3[8][4]=1;
          board3[0][4]=2;
          board4[2][3]=1;
          board4[2][4]=1;
          board4[3][4]=2;
          
          p=4;//加电网	
         
    }
    else if(level==9){
          speed=new int[]{1,-2,2,-1};
          board1[0][2]=1;//猴子
          board1[3][2]=4;//蜜蜂
          board1[5][2]=6;//蛇
         
          
          board2[2][2]=9;//鄂鱼静态
          board2[5][2]=1;//猴子
          board2[7][2]=12;//假美眉
          
          board3[2][2]=9;//鄂鱼静态
          board3[5][2]=1;//猴子
          board3[7][2]=12;//假美眉
          board3[0][2]=6;//蛇
          
          board4[2][2]=4;//蜜蜂
          board4[5][2]=4;//蜜蜂
          board4[7][2]=1;//假美眉
          board4[6][2]=10;//可吃物动画
          
          board1[6][3]=1;//为0代表板子,为1代表弹床,
          board1[7][3]=1;//弹床    
          board1[6][4]=1;//为0代表不能上下跳跃,为一代表只能下跳,为二代表只能上跳,为三代表可以上下跳
          board1[7][4]=3;
          board1[8][4]=2;
         
          
          board3[8][3]=1;
          board3[8][4]=1;
          board3[0][4]=2;
          board4[2][3]=1;
          board4[2][4]=1;
          board4[3][4]=2;
          
          p=5;//加电网   
    }
    else if(level==10){
          speed=new int[]{1,-2,2,-1};
          board1[0][2]=1;//猴子
          board1[3][2]=4;//蜜蜂
          board1[5][2]=6;//蛇
         
          
          board2[2][2]=9;//鄂鱼静态
          board2[5][2]=1;//猴子
          board2[7][2]=12;//假美眉
          
          board3[2][2]=9;//鄂鱼静态
          board3[5][2]=1;//猴子
          board3[7][2]=12;//假美眉
          board3[0][2]=6;//蛇
          
          board4[2][2]=4;//蜜蜂
          board4[5][2]=4;//蜜蜂
          board4[7][2]=1;//假美眉
          board4[6][2]=10;//可吃物动画
          
          board1[6][3]=1;//为0代表板子,为1代表弹床,
          board1[7][3]=1;//弹床    
          board1[6][4]=1;//为0代表不能上下跳跃,为一代表只能下跳,为二代表只能上跳,为三代表可以上下跳
          board1[7][4]=3;
          board1[8][4]=2;
         
          
          board3[8][3]=1;
          board3[8][4]=1;
          board3[0][4]=2;
          board4[2][3]=1;
          board4[2][4]=1;
          board4[3][4]=2;
          
          p=5;//加电网
         
    }
 }

 
 
 
 	void doStartApp() {
		
		switch(gameState) {
			case TITLE:	
				doTitle();
			break;

			case GAME_START:	
			case GAME_PLAYING:	
				
				isPaused = true;
			
				isStopped = true;

			
				removeCommand(pauseCmd);
				removeCommand(resumeCmd);
			
				addCommand(resumeCmd);
			break;

			default:		
				
				isPaused = false;
			break;
		}
	}

	void doPauseApp() {
		switch(gameState) {
			case TITLE:				
			break;

			default:				
				
				isPaused = true;
				
				isStopped = true;
			break;
		}
	}

	
	private void doTitle() {
		gameState = TITLE;
        removeCommand(pauseCmd);
		removeCommand(resumeCmd);
		removeCommand(quitCmd);

		
		repaint();
		

	}


	private void doThreadStart() {
		new Thread(this).start();
	}

	
	private void doGameStop() {
		
		isStopped = true;
		
	
	}

	
	private void doPauseOrResume() {
		if(isPaused) {
	
			isPaused = false;
			isStopped = false;
			doThreadStart();
		}else {
		
			
			isPaused = true;
			doGameStop();
		}
		repaint();
	}
	
	
	
	public void commandAction(Command c, Displayable s) {

		
		if(c == exitCmd) {
		
			main.doExit();

		}else if(c == pauseCmd) {
			
			removeCommand(pauseCmd);
			addCommand(resumeCmd);
			doPauseOrResume();

		}else if(c == resumeCmd) {
			
			removeCommand(resumeCmd);
			addCommand(pauseCmd);
			doPauseOrResume();

		}else if(c == quitCmd) {
		
			doGameStop();
		
			removeCommand(pauseCmd);
			removeCommand(resumeCmd);
			removeCommand(quitCmd);
		
			doTitle();
		}
	}

	

	protected void paint(Graphics g) {
	
		g.setColor(0x00000000);
		g.fillRect(0, 0, screenWidth, screenHeight);
      
		g.setFont(defFont);

		String drawSt;
		int drawX, drawY,stWidth;
		int stHeight = defFont.getHeight();
       
       
		switch(gameState) {
			case TITLE://显示标题时
		          g.drawImage(back1,0,0,Graphics.TOP|Graphics.LEFT);
		          switch(menuCount){
		             case 0:
		             
		                
		                   g.drawImage(imgs[curMenu],8+curMenu*23,47,Graphics.TOP|Graphics.LEFT);
		                
		             	return;
		             case  1:
		                
		             	g.setColor(255, 0, 0);
		             	g.drawString("说明:SELECT是发弹",screenWidth/2,20,Graphics.TOP|Graphics.HCENTER);
				        g.drawString("LEFT,RIGHT控制方向" ,screenWidth/2,40,Graphics.TOP|Graphics.HCENTER);
				        g.drawString(" 每得八千分弹药补充100" ,screenWidth/2,60,Graphics.TOP|Graphics.HCENTER);
				        g.drawString("炮塔两边落五个伞兵游戏结束" ,screenWidth/2,80,Graphics.TOP|Graphics.HCENTER);
				       
				       return;
				        
		           }
				
	
			return;            
                               
	        case GAME_START://游戏开始时
				//描绘游戏开始画面
	        	g.drawImage(back,0,0,Graphics.TOP|Graphics.LEFT);
             	
	        	g.setColor(255,0,0);
				drawSt = "Ready go !";
				stWidth = defFont.stringWidth(drawSt);
				drawX = (screenWidth - stWidth) / 2;
				drawY = (screenHeight - stHeight) / 2;
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
				
			return;

			case GAME_PLAYING:
			case GAME_END://游戏中或是游戏结束时
			    
				//画背景图片
				g1.drawImage(back, 0, 0, Graphics.TOP | Graphics.LEFT);
				g1.setColor(255,0,0);
			    g1.drawString(String.valueOf(minute)+":"+String.valueOf(second),64,0,Graphics.TOP|Graphics.LEFT);
			    if(win){
			    g.setColor(255,0,0);
			    
				drawSt = "WIN!";
			
	
				stWidth = defFont.stringWidth(drawSt);
				drawX = (screenWidth - stWidth) / 2;
				drawY = (screenHeight - stHeight) / 2;
				g1.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
					
				}
				
				if(GameOver){
			    g.setColor(255,0,0);
			    
				drawSt = "重新开始!";
			
	
				stWidth = defFont.stringWidth(drawSt);
				drawX = (screenWidth - stWidth) / 2;
				drawY = (screenHeight - stHeight) / 2;
				g1.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
					
				}
			
				g1.setColor(255,0,0);
				g1.drawString("第"+String.valueOf(level)+"关",screenWidth-25, 0, Graphics.TOP|Graphics.LEFT);
				g1.drawString("共"+String.valueOf(p2)+"次",0, 0, Graphics.TOP|Graphics.LEFT);
				
				
			    
			    man.doDraw(g1);
			    
			    if((man.getState()!=5)&&(man.getState()!=6))
			    g1.drawImage(m[12],128-m[12].getWidth(),73-m[12].getHeight(),Graphics.TOP|Graphics.LEFT);
				
			    
				
				//画每一关的板子,弹簧板
			for(int i=0;i<9;i++){
					//画两种板子
					if(board1[i][3]==0)
					g1.drawImage(img1,board1[i][0],board1[i][1],Graphics.TOP|Graphics.LEFT);
					if(board1[i][3]==1)
					g1.drawImage(img2,board1[i][0],board1[i][1],Graphics.TOP|Graphics.LEFT);
					
					//画猴子
				  if(board1[i][2]==1){//为动态图片
					g1.drawImage(m[0],board1[i][0],board1[i][1]-m[0].getHeight(),Graphics.TOP|Graphics.LEFT);
				    w++;
				    if(w>10){
					board1[i][2]=2;
					w=0;
				    }
				    }else if(board1[i][2]==2){
				    g1.drawImage(m[1],board1[i][0],board1[i][1]-m[0].getHeight()-10,Graphics.TOP|Graphics.LEFT);
				    w++;
				    if(w>2){
				    board1[i][2]=3;
				    w=0;
				    }
				    
				    }else if(board1[i][2]==3){
				    g1.drawImage(m[2],board1[i][0],board1[i][1]-m[0].getHeight()-7,Graphics.TOP|Graphics.LEFT);
				    w++;
				    if(w>2){
				    board1[i][2]=1;
				    w=0;
				    }
				    
				  }
				  //画蜜蜂
				  if(board1[i][2]==4){
				  	g1.drawImage(m[3],board1[i][0],board1[i][1]-m[3].getHeight()-5,Graphics.TOP|Graphics.LEFT);
				  	 
				  	 board1[i][2]=5;
				  }
				  else if(board1[i][2]==5){
				  	g1.drawImage(m[4],board1[i][0],board1[i][1]-m[4].getHeight()-5,Graphics.TOP|Graphics.LEFT);
				  	board1[i][2]=4;
				  }
				  
				  //画蛇
				  if(board1[i][2]==6){
				  	g1.drawImage(m[5],board1[i][0],board1[i][1]-m[5].getHeight(),Graphics.TOP|Graphics.LEFT);
				  	 w3++;
				  	 if(w3>10){
				  	 board1[i][2]=7;
				  	 w3=0;
				  	 }
				  }else if(board1[i][2]==7){
				  	g1.drawImage(m[6],board1[i][0]-3,board1[i][1]-m[6].getHeight(),Graphics.TOP|Graphics.LEFT);
				  	w3++;
				  	if(w3>2){
				  	board1[i][2]=6;
				  	w3=0;
				  	}
				  }
				  
				  //画人
				   if(board1[i][2]==8){
				  	g1.drawImage(m[7],board1[i][0],board1[i][1]-m[7].getHeight(),Graphics.TOP|Graphics.LEFT);
				  	 
				   }
				   //画狼人
				   if(board1[i][2]==9){
				  	g1.drawImage(m[8],board1[i][0],board1[i][1]-m[8].getHeight(),Graphics.TOP|Graphics.LEFT);
				  
				  }
				  
				  //画球
				   if(board1[i][2]==10){
				   	
				  	g1.drawImage(m[9],board1[i][0],board1[i][1]-m[9].getHeight(),Graphics.TOP|Graphics.LEFT);
				  	
				  	 
				  	 board1[i][2]=11;
				  	 
				  }else if(board1[i][2]==11){
				  	g1.drawImage(m[10],board1[i][0],board1[i][1]-m[10].getHeight(),Graphics.TOP|Graphics.LEFT);
				  
				  	board1[i][2]=10;
				  
				  }
		    
				  //画假美眉
				   if(board1[i][2]==12){
				   	g1.drawImage(m[11],board1[i][0],board1[i][1]-m[11].getHeight(),Graphics.TOP|Graphics.LEFT);
				   }
			}
				
               	for(int i=0;i<9;i++){
               		if(board2[i][3]==0)
					g1.drawImage(img1,board2[i][0],board2[i][1],Graphics.TOP|Graphics.LEFT);
					if(board2[i][3]==1)
					g1.drawImage(img2,board2[i][0],board2[i][1],Graphics.TOP|Graphics.LEFT);
						//画猴子
				  if(board2[i][2]==1){//为动态图片
					g1.drawImage(m[0],board2[i][0],board2[i][1]-m[0].getHeight(),Graphics.TOP|Graphics.LEFT);
				    w++;
				    if(w>10){
					board2[i][2]=2;
					w=0;
				    }
				    }else if(board2[i][2]==2){
				    g1.drawImage(m[1],board2[i][0],board2[i][1]-m[0].getHeight()-10,Graphics.TOP|Graphics.LEFT);
				    w++;
				    if(w>2){
				    board2[i][2]=3;

⌨️ 快捷键说明

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