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

📄 tkc.java

📁 手机上的坦克大战游戏
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            if((b[3] && v[14] > -114)){
              
              v[14] -= 6;//调整炮管向上
            }
            if((b[4] && v[14] < 0)){
              
              v[14] += 6; //调整炮管向下
            }
            g.setColor(v[49]);//红色
            g.drawLine(17,29,22,14); //画发炮角度的 调节线
            g.drawLine(17,29,33,29);
            g.setColor(v[50]);//绿色
            g.drawLine(17,29,sclist[0][v[14]/(-6)],sclist[1][v[14]/(-6)]); //sclist[][] v[14]控制该线段移动
            
            if(v[16] == 0) //炮弹指示条  当力量为 0时
              b[10] = true;
            else if(v[16] == 40) //当为满力量时 
              b[10] = false;
            
            if(b[10]){
              v[16] += 2;//控制 炮弹指示条的 前进
            }
            else{
              v[16] -= 2; //后退 
            }
            
            g.setColor(v[50] | v[51]);//绿色|蓝色  按位或
            g.fillRect(41,21,v[16],3);//画 炮弹发射力量的指示 v[16]控制变量
            
          }
          
          if((b[6] && v[11] < 110)){
            
            v[11] += 2;//调节炮管向前 
            if(v[11]+30 > 60){
              v[21] += 2; //调节炮身向前
            }
          }
          else if((b[5] && v[11] > 0)){
            
            v[11] -= 2; //调节炮管向后
            if(v[11]+30 > 58){
              v[21] -= 2;//调节炮身向后
            }
          }
          
          
          g.setColor(v[51]);//蓝色
          g.fillRect(37,40,48,1);//画 距离指示 底边的蓝色线
          g.setColor(v[50]); //绿色
          g.fillRect(37+(v[11]/(75/10)),38,4,2);//画距离指示 玩家 方面的 绿色方块
          g.setColor(v[49]);//红色
          g.fillRect(33+(v[12]/(75/10)),38,4,2);//画距离指示 敌人 方面的 红色方块
          g.setColor(getColorOfRGB(191,127,63));//画距离指示 中间 的褐色山峰指示
		  
          if(!b[12]){
            
            g.fillRect(56,37,8,3);// 山峰被炮打中 的填充 范围
          }
          else{
            g.fillRect(56,39,8,1); //打中后 变小  b[12] 控制
          }
        }
      }
      else if((b[2] && b[1])){
        //当玩家炮弹 碰到物体   当换到敌人攻击时  调用
        
        if(v[17] == 0 && v[18] == 0){//当敌人坦克移动时
          if(v[44] == v[15]){//当敌人坦克停止移动时
			  
            v[5] = 5;
            v[23] = v[21];
            b[1] = false;
            
            if(v[10] > 0){//敌人坦克炮弹 大于 0
				//敌人坦克发炮
              v[28] = 0;
              
              v[24] = v[12] - 10;
              v[25] = 72;
                             
              if(v[15] < -6){ //判断敌人坦克发炮力度
                v[25] -=  4;//炮弹的移动  Y 坐标 --
              }if(v[15] < -24){
                v[25] -=  3; //Y坐标 -- 
              }if(v[15] < -42){//力度加大
                v[24] +=  2; //X坐标 增加  提高 炮弹高度
                v[25] -=  3;
              }if(v[15] < -60){
                v[24] +=  2;
                v[25] -=  2;
              }
            }
            else{ //敌人没有炮弹
				             
              v[5] = 10;
              v[10] = Math.abs(rnd.nextInt() % 7) + 3;//敌人的炮弹通过随机数产生
              v[16] = 0;
              v[19] = 0;
              v[20] = 0;
              v[23] = v[21];
              v[21] = v[22];
              b[2] = false;
              b[10] = true;
            }
          }
		  
          else{
			 
            if(v[44] > v[15])
              v[44] -= 6;//调整敌人炮管 的角度
            if(v[44] < v[15])
              v[44] += 6;
          }
        }
        
        
        if(v[12] > 334){
          v[18]=0;
		  //当敌人坦克坐标 大于一定范围时 停止移动 向右
        }
        if(v[18] > 0){
          v[18]-=1;
          v[12]+=2;
		  //如果没有达到移动的最大范围 敌人坦克炮管坐标 增加
          if(v[12] <= 300){
            v[21]+=2;
			
			//如果没有达到移动的最大范围 敌人坦克身体 移动 向右
          }
        }
        
        if(v[12] < 218){
          v[17]=0;
		  //当敌人坦克坐标 大于一定范围时 停止移动 向左
        }
        if(v[17] > 0){
          v[17]-=1;
          v[12]-=2;
		  //如果没有达到移动的最大范围 敌人坦克炮管坐标 减少
          if(v[12] < 300){
            v[21]-=2;
			//如果没有达到移动的最大范围 敌人坦克身体 移动 向左
          }
        }
      }
      else if((b[1] ^ b[2])){
        
        attack();
      }
      
      
      if(v[21] < 0){//判断敌人坦克身 的移动
        v[21] = 0;
      }
      if(v[21] > 240){
        v[21] = 240;
      }

		//if(txtshowtime<30)
		//{
			g.setColor(v[48]);
			setSoftLabel(1,"返回");
			setSoftLabel(0,"退出");
		//}
    }
    
    if(v[2] == 6){//敌人死时的界面
      edge(0,0);
      drawImage(image[36],35,17);//result
      drawImage(image[37],14,48);//destroy
      drawImage(image[38],14,73);//average
      
      g.setColor(v[50]);//绿色
      drawString(Integer.toString(v[35]),84-(Integer.toString(v[35]).length() * 6),45);
      if(v[36] != 0)
        drawString(Integer.toString(((v[37]*100)/v[36])),87-(Integer.toString((v[37]*100)/v[36]).length() * 6),70);
      else
        drawString("0",78,90);
      
      drawString("个",90,45);
      drawString("%",93,70);
      
      if(b[15]){
        
        b[15] = false;
        v[5] = 10;
        //setSoftLabel(1,"返回");
      }
	  g.setColor(v[48]);
	  setSoftLabel(1,"返回");
     
    }
    //加载资源
    if(v[2] == 0)
	{
		
		  loadImage();
		
		 if(lcont>54)
		{
		
			v[2]=1;
		}
          
 
  }
  }
  //-----------------------------------------------------------------------------------------------------------------
  //----------------------------------------------------------------------------------------------------------------
  public void keyPressed(int keycode)//up-1 down-6 left-2 right-5 中间确认键 -20  左键 -21 右键 -22
 {
	// int key = keycode;
	//System.out.println(keycode);
	//System.out.println(b[16]);
	  switch(keycode)
	 {
		  case 53: //数字键 "5"
		  if(v[2]==5)
		 {
			  if(!(b[1] || b[2]))
			{
				if(!b[9]) //发炮
				{
					
						
						v[30] = -1;
						if(v[8] > 0)
						{
							v[8]--;
							 v[36]++;
							v[28] = 0;
							 v[22] = v[21];
							b[1] = true;
              
						if(v[16] != 0)
						{
							v[20] = (((v[14] / -6)) * 3);
							v[20] = (v[20]*v[16]*100 / 4000);
						}
						if(v[14] < -78)
						{
							v[16] = v[16] * (10-(v[14]+78) / -6)/10;
						}
              
						v[24] = v[11] + 37;
						v[25] = 72;
              
						if(v[14] < -6)
						{
							v[25] -=  4;
						}if(v[14] < -24){
							v[25] -=  3;
						}if(v[14] < -42){
							v[24] -=  2;
							 v[25] -=  3;
						}if(v[14] < -60){
							v[24] -=  1;
							v[25] -=  1;
						}if(v[14] < -78){
							v[24] -=  7;
							v[25] -=  2;
						 }
						}
					else{
						v[5] = 5;
						v[8] = 10;
						v[19] = 0;
						v[22] = v[21];
						v[21] = v[23];
						e_act();
						b[1] = true;
						b[2] = true;
						
						}
					}
			}

		 }
		  break;
		  case 49: //数字键 “1”
			if(v[2]==5)
		 {
			  if(!(b[1] || b[2]))
				{
				  
					if(b[9])
					{
						//回到正常游戏中界面
						
						v[21] = v[22];
						b[7] = false;
						b[8] = false;
						b[9] = false;
					}else
					{
						//进入search 界面
						
							
							v[22] = v[21];
							b[3] = false; //发炮从新复位 上
							b[4] = false; // 下
							b[5] = false; // 移动从新复位 左
							b[6] = false; // 右
							b[9] = true;
							
					}
				}
		 }

			  break;
		case 50: //数字键 2  代表向上
		if(v[2]==5)
		{
				if(!(b[1] || b[2]))
				{

					if(!b[9])
					{
						
						b[3] = true;
					}
				}
			}
			break;
		case 56: //数字键 8 代表向下
				if(v[2]==5)
			{
				if(!(b[1] || b[2]))
				{
					if(!b[9])
					{
						
						b[4] = true;
					}
				}
			}
			break;
		case 52: //数字键 4 代表向左
		if(v[2]==5)
			{
					if(!(b[1] || b[2]))
				{
				if(!b[9])
				{
					
					b[5] = true;
				}
			}
			}
			break;
		case 54: //数字键 6 代表向右
		if(v[2]==5)
		{
			if(!(b[1] || b[2]))
				{
				if(!b[9])
				{
					
					b[6] = true;
				}
			}
			}
			break;
		  case -1: //上方向键
		  if(v[2]==100) //菜单界面 上方向键
		 { 
			  if(!gamePause)
			 {
				 
				menucont = (menucont==0)?4:(--menucont);
			 }else if(gamePause)
			 {
					menucont = (menucont==0)?5:(--menucont);
			 }
		 }else if(v[2]==5)
		 {
				if(!(b[1] || b[2]))
				{

					if(!b[9])
					{
						b[3] = true;//向上调整发炮角度
					}
				}
			}else

		 if(v[2]==4) //设置界面  上方向键
		 {
			 if(b[14])
			 {
					v[6]--;
					if(v[6] < 0)
				 {
					v[6] = 2;
				 }
            
			}
		 }else if(v[2]==2)
		 {
			 InstCount = (InstCount==0)?9:(--InstCount);
		 }else if(v[2]==101)
		 {
			 help = (help==0)?2:(--help);
		 }
		 
			  break;
		  case -2://下方向键
		  //case -6://in C650
		  if(v[2]==100) //菜单界面 下方向键
		 {
			  if(!gamePause)
			 {
				  
				menucont = (menucont==4)?0:(++menucont);
			 }else if(gamePause)
			 {
					menucont = (menucont==5)?0:(++menucont);
			 }


		 }else
		 if(v[2]==4) //设置界面 //下方向键
		 {
			 if(b[14])
			 {
				 
					v[6]++;
					if(v[6] > 2)
				 {
					v[6] = 0;
				 }
            

			 }
		 }else if(v[2]==5) //游戏中 下方向键
			{
				if(!(b[1] || b[2]))
				{
					if(!b[9])
					{
						
						b[4] = true; //向下调整发炮角度
					}
				}
			}else if(v[2]==2)
		 {
			 InstCount = (InstCount==9)?0:(++InstCount);
		 } else if(v[2]==101)
		 {
			 help = (help==2)?0:(++help);
		 }
		 
			  break;
		  case -3://左方向键  
		  //case -2://C650
		  if(v[2]==5) //游戏中 左方向键
		 {
			 if(!(b[1] || b[2]))
			{
					if(b[9])
					{
						
							b[7]=true;
						

					}else 
						{
							b[5]=true;//向左移动

						}
			}

			if(b[14])
			 {
				 b[16]=!b[16]; //出现 继续  退出  进行选择。调整到方向键
				
			 }
		 }else if(v[2]==4)
		 {
			 
			 if(!b[14])
			 {
				 if(v[41] == 65) //选择mission 或者是 crew
				 
							v[41]=7;
						
			 }else 
			 {
				 if(v[41]==7)
				 {
					 b[16]=true;
				 }
			 }
		 }
		  
		 
		  break;
		  case -4://右方向键
		  //case -5://C650
		  if(v[2]==4)   //设置界面 右方向键 //b[14]=true 为 已经选择了
		 {
			  
			if(!b[14])
			 {
				
					if(v[41] == 7) 
				
						v[41]=65;
				 
			 }else
			 {
				 if(v[41]==7)
				 {
					 b[16]=false;
				 }
			 }
		 }else if(v[2]==5)//游戏中   右方向键
		 {
			 if(!(b[1] || b[2]))
			{
					if(b[9])
					{
						
							b[8]=true;
						

					}else
					{
						b[6]=true;//向右移动
					}
			}
			if(b[14])
			 {
				 b[16]=!b[16]; //出现 继续  退出  进行选择。调整到方向键
				
			 }
		 }

		 
		
		  break;
		  case -5://中间确认键
		  //case -20://C650
		  if(v[2]==100) //菜单界面 中间确认键
		 {
			  
				  switch(menucont)
				 {
					  case 0:
						  if(!gamePause)
					 {
						  
						  v[2]=4;
					 }else if(gamePause)
					 {
					 }
					 break;
					 case 1:
						 if(!gamePause)
					 {}
					 else if(gamePause)
					 {}
					 break;
					 case 2:
						 if(!gamePause)
					 {}
					 else if(gamePause)
					 {}
					 case 3:
						 if(!gamePause)
					 {}
					 else if(gamePause)
					 {}
					 break;
					 case 4:
						 if(!gamePause)
					 {}
					 else if(gamePause)
					 {}
					 break;
				 }
			 
		 }else if(v[2]==4) //设置界面 中间确认键
		 {
			 if(!b[14])
			 {
					
						b[14] = true;
						if(v[41] == 7)
						b[16] = false;
			 }else
			 {
				 if(v[41] == 7)
				{ //如果是任务
					if(b[16]){
					
					v[7] = 400;
					v[35] = 0;
					v[36] = 0;
					 v[37] = 0;
					v[38] = 0;
					v[45] = 0;
					iniPara();

⌨️ 快捷键说明

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