j_flychess.java

来自「用java开发的飞行棋游戏 包含用户手册和技术文档」· Java 代码 · 共 1,810 行 · 第 1/4 页

JAVA
1,810
字号
					if(planeXY[player][idNum].x1==x)
					{
						planeXY[player][idNum].x1=x+4*lenth;
					}
			}//0号左上转角
			else
			if(planeXY[player][idNum].x1+radNum*lenth<=x+4*lenth&&planeXY[player][idNum].y1==y)
			{
				planeXY[player][idNum].x1+=radNum*lenth;
				if(planeXY[player][idNum].x1==x)
					{
						planeXY[player][idNum].x1=x+4*lenth;
					}
		  }
			else
			if(planeXY[player][idNum].x1+radNum*lenth>x+4*lenth&&planeXY[player][idNum].y1==y)
			{
				planeXY[player][idNum].y1=y+planeXY[player][idNum].x1+radNum*lenth-(x+4*lenth);
				planeXY[player][idNum].x1=x+4*lenth;
				if(planeXY[player][idNum].y1>y+4*lenth)
				{
					planeXY[player][idNum].y1=2*y+8*lenth-planeXY[player][idNum].y1;
				  if(planeXY[player][idNum].y1<y)
				  {
				  	planeXY[player][idNum].y1=y-planeXY[player][idNum].y1;
				  }
				  if(planeXY[player][idNum].y1==y+4*lenth)
				    win();	 
				}
			}//0号左上平移
			else
			if(planeXY[player][idNum].x1==x+4*lenth)
			{
				planeXY[player][idNum].y1+=radNum*lenth;
				if(planeXY[player][idNum].y1==y+4*lenth)
					win();
				else
				if(planeXY[player][idNum].y1>y+4*lenth)
				{
					planeXY[player][idNum].y1=2*y+8*lenth-planeXY[player][idNum].y1;
					if(planeXY[player][idNum].y1<y)
					planeXY[player][idNum].y1=2*y-planeXY[player][idNum].y1;
					if(planeXY[player][idNum].y1==y+4*lenth)
				  win();					
				}
			}			
			}//玩家为0
		else if(playerNum==1)
		{      		  		 	
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth>=x-lenth)
			{
				planeXY[player][idNum].x1-=radNum*lenth;
				if(planeXY[player][idNum].x1==x+5*lenth)
				{
					planeXY[player][idNum].x1=x+1*lenth;
				}
				else if(planeXY[player][idNum].x1==x+1*lenth)
				{				
					planeXY[player][idNum].y1=y;
				}		
			}//下面横
			else
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth<x-lenth)
			{
				planeXY[player][idNum].y1=y+10*lenth+planeXY[player][idNum].x1-radNum*lenth-x+lenth;
				planeXY[player][idNum].x1=x-lenth;
				if(planeXY[player][idNum].y1==y+7*lenth)
				{
					planeXY[player][idNum].y1=y+3*lenth;
				}
			}//左下转角
			else
			if(planeXY[player][idNum].x1==x-lenth&&planeXY[player][idNum].y1-radNum*lenth>=y)
			{
				planeXY[player][idNum].y1-=radNum*lenth;
				if(planeXY[player][idNum].y1==y+7*lenth)
				{
					planeXY[player][idNum].y1=y+3*lenth;
				}
				else
				if(planeXY[player][idNum].y1==y+3*lenth)
				{
			    planeXY[player][idNum].y1=y;
			    planeXY[player][idNum].x1=x+lenth;
			  }
			}//左边竖
			else
			if(planeXY[player][idNum].x1==x-lenth&&(planeXY[player][idNum].y1-radNum*lenth)<=y)
			{
				
					planeXY[player][idNum].x1=x-lenth+y-(planeXY[player][idNum].y1-radNum*lenth);
					planeXY[player][idNum].y1=y;
					if(planeXY[player][idNum].x1==x+lenth)
					{
						planeXY[player][idNum].x1=x+5*lenth;
					}
				
			}//左上转角
			else
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth<=x+9*lenth)
			{
				planeXY[player][idNum].x1+=radNum*lenth;
				if(planeXY[player][idNum].x1==x+1*lenth)
				{
					planeXY[player][idNum].x1=x+5*lenth;
				}
				else if(planeXY[player][idNum].x1==x+5*lenth)
				{
					planeXY[player][idNum].x1=x+9*lenth;
					planeXY[player][idNum].y1=y+1*lenth;
				}
				
			System.out.println(planeXY[player][idNum].x1+" "+planeXY[player][idNum].y1);}//1号上面横
			else
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth>x+9*lenth)
			{
				planeXY[player][idNum].y1=y+planeXY[player][idNum].x1+radNum*lenth-(x+9*lenth);
				planeXY[player][idNum].x1=x+9*lenth;
				if(planeXY[player][idNum].y1==y+lenth)
				{
					planeXY[player][idNum].y1=y+5*lenth;
				}
				if(planeXY[player][idNum].y1>y+5*lenth)
				{
					planeXY[player][idNum].x1=x+9*lenth-(planeXY[player][idNum].y1-y+5*lenth);
				  planeXY[player][idNum].y1=y+5*lenth;
				}
			}//一号右上拐角			
			else
			if(planeXY[player][idNum].x1==x+9*lenth&&(planeXY[player][idNum].y1+radNum*lenth)<=y+5*lenth)
			{
				System.out.println("planeXY[player][idNum].x1==x+9*lenth&&planeXY[player][idNum].y1+radNum*lenth<=y+5*lenth");
				planeXY[player][idNum].y1+=radNum*lenth;
				if(planeXY[player][idNum].y1==y+lenth)
				{
					planeXY[player][idNum].y1=y+5*lenth;
				}
			}
			else
			if(planeXY[player][idNum].x1==x+9*lenth&&planeXY[player][idNum].y1+radNum*lenth>y+5*lenth)
			{	
				System.out.println("planeXY[player][idNum].x1==x+9*lenth&&y+radNum*lenth>y+5*lenth");
				planeXY[player][idNum].x1=x+9*lenth-(planeXY[player][idNum].y1+radNum*lenth-(y+5*lenth));
				planeXY[player][idNum].y1=y+5*lenth;
				if(planeXY[player][idNum].x1==x+5*lenth)
				  win();
				else
				if(planeXY[player][idNum].x1<x+5*lenth)
				{
					System.out.println("<");
					planeXY[player][idNum].x1=2*x+8*lenth-planeXY[player][idNum].x1;
				}
				 if(planeXY[player][idNum].x1>x+9*lenth)
				   {
				   	planeXY[player][idNum].x1=2*x+8*lenth-planeXY[player][idNum].x1;
				   }
				
			}//右竖移
			else
			if(planeXY[player][idNum].y1==y+5*lenth)
			{
				planeXY[player][idNum].x1-=radNum*lenth;
				if(planeXY[player][idNum].x1==x+5*lenth)
				win();
				else
				if(planeXY[player][idNum].x1<x+5*lenth)
				{
					planeXY[player][idNum].x1=2*x+10*lenth-planeXY[player][idNum].x1;
					if(planeXY[player][idNum].x1>x+9*lenth)
					planeXY[player][idNum].x1=2*x+18*lenth-planeXY[player][idNum].x1;
					if(planeXY[player][idNum].x1==x+5*lenth)
				  win();					
				}
			}//关键部分
		}//玩家为1	
		else if(playerNum==2)
		{
			if(planeXY[player][idNum].x1==x-lenth&&planeXY[player][idNum].y1-radNum*lenth>=y)
			{
				planeXY[player][idNum].y1-=radNum*lenth;
				if(planeXY[player][idNum].y1==y+6*lenth)
				{
					planeXY[player][idNum].y1=y+2*lenth;
				}
				else
				if(planeXY[player][idNum].y1==y+2*lenth)
				{
			    planeXY[player][idNum].x1=x+9*lenth;
			  }
			}//左边竖		
			else
			if(planeXY[player][idNum].x1==x-lenth&&(planeXY[player][idNum].y1-radNum*lenth)<=y)
			{			
					planeXY[player][idNum].x1=x-lenth+y-(planeXY[player][idNum].y1-radNum*lenth);
					planeXY[player][idNum].y1=y;
					if(planeXY[player][idNum].x1==x+2*lenth)
					{
						planeXY[player][idNum].x1=x+6*lenth;
					}			
			}//左上转角
			else
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth<=x+9*lenth)
			{
				planeXY[player][idNum].x1+=radNum*lenth;
				if(planeXY[player][idNum].x1==x+2*lenth)
				{
					planeXY[player][idNum].x1=x+6*lenth;
				}
				else if(planeXY[player][idNum].x1==x+6*lenth)
				{
					planeXY[player][idNum].x1=x+9*lenth;
					planeXY[player][idNum].y1=y+2*lenth;
				}
				
			}//上面横
			else
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth>x+9*lenth)
			{
				planeXY[player][idNum].y1=y+planeXY[player][idNum].x1+radNum*lenth-(x+9*lenth);
				planeXY[player][idNum].x1=x+9*lenth;
				if(planeXY[player][idNum].y1==y+2*lenth)
				{
					planeXY[player][idNum].y1=y+6*lenth;
				}
				else
				if(planeXY[player][idNum].y1==y+6*lenth)
				{
					planeXY[player][idNum].y1=y+10*lenth;
					planeXY[player][idNum].x1=x+8*lenth;
				}
			}//2号右上拐角
			else
			if(planeXY[player][idNum].x1==x+9*lenth&&(planeXY[player][idNum].y1+radNum*lenth)<=y+10*lenth)
			{
				
				planeXY[player][idNum].y1+=radNum*lenth;
				if(planeXY[player][idNum].y1==y+2*lenth)
				{
					planeXY[player][idNum].y1=y+6*lenth;	
				}
				else 
				if(planeXY[player][idNum].y1==y+6*lenth)
				{
					planeXY[player][idNum].x1=x+8*lenth;
					planeXY[player][idNum].y1=y+10*lenth;
				}
				
			}//2号右边竖
			else 
			if(planeXY[player][idNum].x1==x+9*lenth&&(planeXY[player][idNum].y1+radNum*lenth)>y+10*lenth)
			{
				planeXY[player][idNum].x1=x+9*lenth-(planeXY[player][idNum].y1+(radNum-10)*lenth-y);
				planeXY[player][idNum].y1=y+10*lenth;
				if(planeXY[player][idNum].x1==x+8*lenth)
				{
					planeXY[player][idNum].x1=x+4*lenth;
				}
				else
				if(planeXY[player][idNum].x1<x+4*lenth)
				{
					planeXY[player][idNum].y1=y+10*lenth-(x+4*lenth-planeXY[player][idNum].x1);
					planeXY[player][idNum].x1=x+4*lenth;
				}	
			}//右下转角
			else
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth>=x+4*lenth)
			{
				planeXY[player][idNum].x1-=radNum*lenth;
				if(planeXY[player][idNum].x1==x+8*lenth)
				{
					planeXY[player][idNum].x1=x+4*lenth;
				}	
			}
			else
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth<x+4*lenth)
			{
				
				planeXY[player][idNum].y1=y+10*lenth-(x+4*lenth-(planeXY[player][idNum].x1-radNum*lenth));
				planeXY[player][idNum].x1=x+4*lenth;
				if(planeXY[player][idNum].y1==y+6*lenth)
				  win();
				else
				if(planeXY[player][idNum].y1<y+6*lenth)
				{
					planeXY[player][idNum].y1=2*y+12*lenth-planeXY[player][idNum].y1;
				}
			}//右下横
			else
			if(planeXY[player][idNum].x1==x+4*lenth&&planeXY[player][idNum].y1-radNum*lenth>=y+6*lenth)
			{
				
				planeXY[player][idNum].y1-=radNum*lenth;
				if(planeXY[player][idNum].y1==y+6*lenth)
				 win();
			}
			else 
			if(planeXY[player][idNum].x1==x+4*lenth&&planeXY[player][idNum].y1-radNum*lenth<y+6*lenth)
			{
				planeXY[player][idNum].y1-=radNum*lenth;
				planeXY[player][idNum].y1=2*y+12*lenth-planeXY[player][idNum].y1;
				if(planeXY[player][idNum].y1>y+10*lenth)
				  planeXY[player][idNum].y1=2*y+20*lenth-planeXY[player][idNum].y1;
				if(planeXY[player][idNum].y1==y+6*lenth)
				  win();
			}//玩家2关键部分
		}//玩家为2
		else if(playerNum==3)
		{
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth<=x+9*lenth)
			{
				planeXY[player][idNum].x1+=radNum*lenth;
				if(planeXY[player][idNum].x1==x+3*lenth)
				{
					planeXY[player][idNum].x1=x+7*lenth;
				}
				else 
				if(planeXY[player][idNum].x1==x+7*lenth)
				{
					planeXY[player][idNum].y1=y+10*lenth;			
				}	
			}
			else
			if(planeXY[player][idNum].y1==y&&planeXY[player][idNum].x1+radNum*lenth>x+9*lenth)
			{
				planeXY[player][idNum].y1=y+planeXY[player][idNum].x1+radNum*lenth-(x+9*lenth);
				planeXY[player][idNum].x1=x+9*lenth;
				if(planeXY[player][idNum].y1==y+3*lenth)
				{
					planeXY[player][idNum].y1=y+7*lenth;
				}
				else
				if(planeXY[player][idNum].y1==y+7*lenth)
				{
					planeXY[player][idNum].y1=y+10*lenth;
					planeXY[player][idNum].x1=x+7*lenth;
				}
			}//3号右上拐角
			else
			if(planeXY[player][idNum].x1==x+9*lenth&&(planeXY[player][idNum].y1+radNum*lenth)<=y+10*lenth)
			{
				
				planeXY[player][idNum].y1+=radNum*lenth;
				if(planeXY[player][idNum].y1==y+3*lenth)
				{
					planeXY[player][idNum].y1=y+7*lenth;	
				}
				else 
				if(planeXY[player][idNum].y1==y+7*lenth)
				{
					planeXY[player][idNum].y1=y+10*lenth;
					planeXY[player][idNum].x1=x+7*lenth;
				}				
			}//3号右边竖
			else
			if(planeXY[player][idNum].x1==x+9*lenth&&(planeXY[player][idNum].y1+radNum*lenth)>y+10*lenth)
			{
				planeXY[player][idNum].x1=x+9*lenth-(planeXY[player][idNum].y1+(radNum-10)*lenth-y);
				planeXY[player][idNum].y1=y+10*lenth;
				if(planeXY[player][idNum].x1==x+7*lenth)
				{
					planeXY[player][idNum].x1=x+3*lenth;
				}
			}//3号右下转角
			else
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth>=x-lenth)
			{
				planeXY[player][idNum].x1-=radNum*lenth;
				if(planeXY[player][idNum].x1==x+7*lenth)
				{
					planeXY[player][idNum].x1=x+3*lenth;
				}
				else if(planeXY[player][idNum].x1==x+3*lenth)
				{
					planeXY[player][idNum].x1=x-lenth;
					planeXY[player][idNum].y1=y+9*lenth;
				}				
			}//3下面横
			else
			if(planeXY[player][idNum].y1==y+10*lenth&&planeXY[player][idNum].x1-radNum*lenth<x-lenth)
			{
				planeXY[player][idNum].y1=y+10*lenth+planeXY[player][idNum].x1-radNum*lenth-x+lenth;
				planeXY[player][idNum].x1=x-lenth;
				if(planeXY[player][idNum].y1==y+9*lenth)
				{
					planeXY[player][idNum].y1=y+5*lenth;
				}
				else if(planeXY[player][idNum].y1<y+5*lenth)
				{
					planeXY[player][idNum].x1=x-lenth+(y+5*lenth-planeXY[player][idNum].y1);
					planeXY[player][idNum].y1=y+5*lenth;
				}
			}//3左下转角
			else
			if(planeXY[player][idNum].x1==x-lenth&&planeXY[player][idNum].y1-radNum*lenth>=y)
			{
				planeXY[player][idNum].y1-=radNum*lenth;
				if(planeXY[player][idNum].y1==y+9*lenth)
				{
					planeXY[player][idNum].y1=y+5*lenth;
				}
				else
				{
					if(planeXY[player][idNum].y1<y+5*lenth)
				  {
			    planeXY[player][idNum].x1=x-lenth+(y+5*lenth-planeXY[player][idNum].y1);
			    planeXY[player][idNum].y1=y+5*lenth;
			    }
			    if(planeXY[player][idNum].x1==x+3*lenth)
			     win();
			    else 
			    if(planeXY[player][idNum].x1>x+3*lenth)
			      planeXY[player][idNum].x1=2*x+6*lenth-planeXY[player][idNum].x1;
			   }
			}//3左下角竖		
			else
			if(planeXY[player][idNum].y1==y+5*lenth&&planeXY[player][idNum].x1+radNum*lenth<=x+3*lenth)
			{
			  planeXY[player][idNum].x1+=radNum*lenth;
			  if(planeXY[player][idNum].x1==x+3*lenth)
			  	 win();
			}
			else
			if(planeXY[player][idNum].y1==y+5*lenth&&planeXY[player][idNum].x1+radNum*lenth>x+3*lenth)
			{
			  planeXY[player][idNum].x1=x+3*lenth-(planeXY[player][idNum].x1+radNum*lenth-(x+3*lenth));
			  if(planeXY[player][idNum].x1<x-lenth)
			  	 planeXY[player][idNum].x1=x-lenth+(x-lenth-planeXY[player][idNum].x1);
			  if(planeXY[player][idNum].x1==x+3*lenth)
			  	 win();
			}		
		}//玩家为3	 
   }	
  		public static void main(String args[])
   {
   	 JFrame f=new JFrame("飞行棋应用程序");
   	 J_Map2 map=new J_Map2();
   	 Container c=f.getContentPane();
   	 map.init();
  	 c.add(map,BorderLayout.CENTER); 	
  	 f.setSize(660,650);
  	 f.setVisible(true);
  	 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  	     		
   }	
  		
  }
   
   
  
	
	

⌨️ 快捷键说明

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