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 + -
显示快捷键?