java-Graphic2D-绘制跳棋,国际象棋,象棋

看似很难的问题其实很简单,只要熟悉基本的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,"输入正确的选择");
	}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值