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

📄 gamehandle.java

📁 java开发的手机游戏 泡泡堂 可以在手机上运行
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
      	               	m.mapPosit[row][i].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);			
                 		checkDeath(r,m,row,i);//check death
                		checkDeath(c,m,row,i);
                		checkDeath(c2,m,row,i);     										                      	                      	
						}break;
						case 4:{								
										r.bomb.paintImage(GameManage.g,//绘图
												m.mapPosit[row+1][col].ix,
      	               	m.mapPosit[row+1][col].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);										
                 		checkDeath(r,m,row+1,col);//check death
                		checkDeath(c,m,row+1,col);
                		checkDeath(c2,m,row+1,col);     										                      	                      
						}break;												
				}		
				
		}	
			
		if( ((Bomb.Pop) r.bomb.popQueue.elementAt(0)).amBlast.btAtRow != 8 &&
		((Bomb.Pop) r.bomb.popQueue.elementAt(0)).amBlast.btAtRow != 1 ){//left right的泡泡
				System.out.println("left right");
				switch( nCurrentFrame ){
						case 0:{
								r.bomb.paintImage(GameManage.g,//绘图
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.ix,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);
                checkDeath(r,m,row,col);//check death
                checkDeath(c,m,row,col);
                checkDeath(c2,m,row,col);     										                      	                      	
						}break;
						case 1:{								
										r.bomb.paintImage(GameManage.g,//绘图
												m.mapPosit[row][col-1].ix,
      	               	m.mapPosit[row][col-1].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);			
                 		checkDeath(r,m,row,col-1);//check death
                		checkDeath(c,m,row,col-1);
                		checkDeath(c2,m,row,col-1);     										                      	                      	
						}break;
						case 2:{
								int i;
								for(i=row-1;i>1;i--){//7列到1列长的爆炸
										r.bomb.paintImage(GameManage.g,
                    		m.mapPosit[i][col].ix,
      	               	m.mapPosit[i][col].iy,
      	               	r.bomb.imgBlast,
                    		r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	1);
                 		checkDeath(r,m,i,col);//check death
                		checkDeath(c,m,i,col);
                		checkDeath(c2,m,i,col);     										                      	                      	
                }
										r.bomb.paintImage(GameManage.g,//绘图
												m.mapPosit[i][col].ix,
      	               	m.mapPosit[i][col].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);			
                 		checkDeath(r,m,i,col);//check death
                		checkDeath(c,m,i,col);
                		checkDeath(c2,m,i,col);     										                      	                      	
						}break;
						case 3:{								
										r.bomb.paintImage(GameManage.g,//绘图
												m.mapPosit[row][col+1].ix,
      	               	m.mapPosit[row][col+1].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);			
                 		checkDeath(r,m,row,col+1);//check death
                		checkDeath(c,m,row,col+1);
                		checkDeath(c2,m,row,col+1);     										                      	                      	
						}break;
						case 4:{				
							int i;				
							for(i=row+1;i<8;i++){//7列到1列长的爆炸
										r.bomb.paintImage(GameManage.g,
                    		m.mapPosit[i][col].ix,
      	               	m.mapPosit[i][col].iy,
      	               	r.bomb.imgBlast,
                    		r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	1);
                 		checkDeath(r,m,i,col);//check death
                		checkDeath(c,m,i,col);
                		checkDeath(c2,m,i,col);     										                      	                      	
              }
										r.bomb.paintImage(GameManage.g,//绘图
												m.mapPosit[i][col].ix,
      	               	m.mapPosit[i][col].iy,
                      	r.bomb.imgBlast,//绘制爆炸
                      	r.bomb.btBalstTotalRow,
                      	r.bomb.btBalstTotalCol,
                      	((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.btCurrentIndex);			
                 		checkDeath(r,m,i,col);//check death
                		checkDeath(c,m,i,col);
                		checkDeath(c2,m,i,col);     										                      	                      	
						}break;												
				}		
		}
	
	}
	
	
	
	public void checkPopMove(Role r,Map m){
	
	
		int i=0,j=0;
		int lenth =r.bomb.nBalstImgWidth;
	  int row = ((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtRow;
    int col = ((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtCol;
    System.out.println("r="+((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtRow);
		System.out.println("nTouchWay="+nTouchWay);
		switch(nTouchWay){
		
				case 0:{
					for(i=row;i>0;i--){
						if(m.byBuild[i-1][col]>0){
								if(i==row)
									{	bIsPopMove = false;	return;	}
								else
									break;							
						}
					}					
					m.setLayer(i,col,(byte)9);
					m.setLayer(row,col,(byte)0); 									
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.iy=m.mapPosit[i][col].iy;						 
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.iy=m.mapPosit[i][col].iy;	
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtRow=(byte)i;										
				}break;
				
				case 1:{
					for(i=col;i>0;i--){
						if(m.byBuild[row][i-1]>0){
								if(i==col)
									{	bIsPopMove = false;	return;	}
								else
									break;							
						}
					}					
					m.setLayer(row,i,(byte)9);
					m.setLayer(row,col,(byte)0); 									
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.ix=m.mapPosit[row][i].ix;						 
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.ix=m.mapPosit[row][i].ix;	
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtCol=(byte)i;										
				}break;
				
				case 2:{
					for(i=row;i<10;i++){
						if(m.byBuild[i+1][col]>0){
								if(i==row)
									{	bIsPopMove = false;	return;	}
								else
									break;							
						}
					}					
					m.setLayer(i,col,(byte)9);
					m.setLayer(row,col,(byte)0); 									
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.iy = m.mapPosit[i][col].iy;						 
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.iy = m.mapPosit[i][col].iy;	
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtRow = (byte)i;
				}break;
				
				case 3:{					
					System.out.println("begin");
					System.out.println("build"+m.byBuild[row][col+1]);
					for(i=col;i<10;i++){
						if(m.byBuild[row][i+1]>0){
					System.out.println("build..."+m.byBuild[row][col+1]);
					System.out.println("build---"+m.byBuild[row][i+1]);	
					System.out.println("col"+col);						
					System.out.println("i"+i);
								if(i==col)
									{	bIsPopMove = false;	return;	}
								else
									break;							
						}
					}					
					m.setLayer(row,i,(byte)9);
					m.setLayer(row,col,(byte)0); 									
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.ix = m.mapPosit[row][i].ix;						 
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amBlast.ix = m.mapPosit[row][i].ix;	
					((Bomb.Pop)r.bomb.popQueue.elementAt(0)).amSwell.btAtCol = (byte)i;
					System.out.println("end");
					System.out.println("i="+i);
					
				}break;		
				
		}
		
		bIsPopMove = false;
		return;
	
	}
	
	public void popMove(){
		//
	}



/*------------------------
      //泡泡爆炸图
      --------------------------*/
  /*
  public void UpdataBoobPosit(int i,int nCurrentFrame,Role role,Map map){
    //获得爆炸的当前图片序列
    int nCurrentRow = role.bomb.bombPosit[i].row +//当前泡泡所在行
        boobPosit[nCurrentFrame].rIndex;//爆炸图片行的偏移量
    int nCurrentCol = role.bomb.bombPosit[i].col+//当前泡泡所在行
        boobPosit[nCurrentFrame].cIndex;//爆炸图片列的偏移量
    //求出爆炸坐标
    role.bomb.ix = map.mapPosit[nCurrentRow][nCurrentCol].ix;
    role.bomb.iy = map.mapPosit[nCurrentRow][nCurrentCol].iy;
  }*/

  /*---------------------------
      //泡泡爆炸后所做的处理
      ----------------------------*/
  /*
  public void PaopBoodEnd(int index,Role role,Map map){
    int boobNum = 5;
    try{
      for (int i = 0; i <= boobNum; i++) {
        System.out.println("aaaaaaaaaa:"+i+i+i+i+i);
        if (map.byBuild[role.bomb.bombPosit[index].row + boobPosit[i].rIndex]
            [role.bomb.bombPosit[index].col + boobPosit[i].cIndex] <= 0) {
          map.paintFloor(GameManage.g,
                         //当前爆炸图帧的行偏移
                         role.bomb.bombPosit[index].row + boobPosit[i].rIndex,
                         //当前爆炸图帧的列偏移
                         role.bomb.bombPosit[index].col + boobPosit[i].cIndex);
          map.setLayer(role.bomb.bombPosit[index].row + boobPosit[i].rIndex,
                       role.bomb.bombPosit[index].col + boobPosit[i].cIndex,
                       (byte) - 1);
        } else {
          map.paintBuild(GameManage.g,
                         //当前爆炸图帧的行偏移
                         role.bomb.bombPosit[index].row + boobPosit[i].rIndex,
                         //当前爆炸图帧的列偏移
                         role.bomb.bombPosit[index].col + boobPosit[i].cIndex);

        }
      }
    }catch(Exception e){
      System.out.println("hehe error in here:" + e.toString());
    }

  }*/

 


/*
  public void drawBomb(int i,Role role,Map map){//画泡泡
    //画背景
    map.paintFloor(GameManage.g, role.bomb.bombPosit[i].row, role.bomb.
                   bombPosit[i].col);
    //获得当前行列坐标
    role.bomb.ix = map.mapPosit[role.bomb.bombPosit[i].row][role.bomb.
        bombPosit[i].col].ix;
    role.bomb.iy = map.mapPosit[role.bomb.bombPosit[i].row][role.bomb.
        bombPosit[i].col].iy;
    //绘图
    role.bomb.bombPosit[i].frameNum++;
    role.bomb.paintPutBomb(i, GameManage.g);
    //换下一帧图片
    role.bomb.nextPutFrame(i);

  }*/
/*
  public void drawBoob(int i,Role role,Map map){//爆炸动画
    //因为已经在爆炸,所以已经不是建筑层可以通过了,设为地面层
    map.setLayer(role.bomb.bombPosit[i].row, role.bomb.bombPosit[i].col,
                 (byte) - 1);
    System.out.println("aaaaaaaaaaaaaaaaaaaaa");
    //更新泡泡爆炸图片的绘制位置,
    UpdataBoobPosit(i, role.bomb.bombPosit[i].btCurrentSequenceFrame2,
                    role, map);
    System.out.println("bbbbbbbbbbbbbbbbbbbbbb");
    //在更新的位置上绘制爆炸图
    role.bomb.paintBoobBomb(i, GameManage.g);
    System.out.println("cccccccccccccccccccccc");
    role.bomb.nextBoobFrame(i);
    System.out.println("ddddddddddddddddddddddd");
  }
*/

  public void SetDead(Role role,Map map){//设置死亡状态
    //role.bomb.bIsDead = true;
    //role.bomb.SetXRole(role.x);
    //role.bomb.SetYRole(role.y);
    //role.bomb.Pop.MSG_END = Bomb.Pop.MSG_END;
  }

/*
  public void drawDead(Role role,Map map){//死亡动画
      role.bomb.paintDead(GameManage.g);
      role.bomb.nextDeadFrame();
  }
*/
  //--------------------------
  //泡泡动作处理类------------------------
  /*
  public  void  PaopHandleProcess(Role role,Role cpt,Map map){

    if (role.bomb.bIsDead&&!role.bomb.bIsBombEnd) {//如果人物已经处于死亡状态
      //被炸动画
      if(++role.bomb.test%4==0){//时间间隔每5倍的时间数执行一次.
        this.drawBackground(role,cpt,map);
        drawDead(role,map);//人物死亡的动画显示
      }
    }

    try{
      for (int i = 0; i < role.bomb.nPaopNum; i++) {
        System.out.println("fn-----------" + i + "-------------" +
                           role.bomb.bombPosit[i].frameNum);
        //泡泡的三种状态,1.泡泡爆炸前的动画处理,2.泡泡爆炸中的动画处理,3.泡泡爆炸后的动画外理;
        if (role.bomb.bombPosit[i].nIsBoobEnd) { //3.泡泡爆炸后
          System.out.println("1---------");
          //爆炸后的图片处理
          try{
            PaopBoodEnd(i, role, map);
          }catch(Exception e){
            System.out.println("hehe in here:"+e.toString());
          }

          drawDead(role, map);

        } else if (role.bomb.bombPosit[i].frameNum >= Bomb.nBoobNum) { //2.泡泡爆炸中,是爆炸的时候了.
          System.out.println("2---------");
            drawBoob(i, role, map); //画爆炸动画
            if (role.bomb.iCurrentMsg == role.bomb.MSG_PUT_BOMB &&
                checkBoob(i, role, map)) { //检测被炸,如果人物被炸
              SetDead(role, map); //设置人物为炸状态
              //drawBackground(role,map);midi.
            }

        } else { //1.泡泡爆炸前
          System.out.println("3---------");
          drawBomb(i, role, map); //画泡泡
        } //end if
      } //end for
    }catch(Exception e){
      System.out.println("in here:"+e.toString());
    }
    GameManage.bIsPaopMsg = false;

  }*/






}

⌨️ 快捷键说明

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