看似很难的问题其实很简单,只要熟悉基本的java2d绘图,画线,填充,设置颜色,画圆等其他就是方法和算坐标了
首先来看看运行的结果
现在来讲讲主要的算法
1.国际象棋:8
8行8列,可以看到奇数行偶数列,奇数列偶数行为黑色
其他为白色
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
{
Rectangle2D little=new Rectangle2D.Double(15+i*60,15+j*60,60,60);
g2.draw(little);
if((i%2!=0)&&(j%2)==0)
{
g2.setPaint(new Color(0,0,0));
g2.fill(little);
}
if((i%2==0)&&(j%2)!=0)
{
g2.setPaint(new Color(0,0,0));
g2.fill(little);
}
}
}
2.中国象棋:
完全是画线了,坐标自己慢慢算
3.跳棋:
可以看出总体分为2个大三角形,每个大三角形有3个小三角形,中间一个六变形
主要用到下面这个方法
g2.setPaint(new Color(15,126,188));
int[] a2={410,616,514};
int[] b2={170,170,350};
g2.drawPolygon(a2,b2,3);
g2.fillPolygon(a2,b2,3);
polygon函数为绘制多边形,按a2,b2坐标连通,又是坐标,你懂得。
4.棋盘选择界面:
public static void main(String[] args)
{
String str;
str=JOptionPane.showInputDialog("输入需要的棋盘:国际象棋-中国象棋-跳棋");
if("国际象棋".equals(str))
{ guojiFrame frame=new guojiFrame();}
else if("中国象棋".equals(str))
{ chinaChessFrame frame=new chinaChessFrame();}
else if("跳棋".equals(str))
{ tiaoqiFrame frame=new tiaoqiFrame();}
else
JOptionPane.showMessageDialog(null,"输入正确的选择");
}