首页>代码>分享网上找到的一个中国象棋源码>/中国象棋/src/com/yaoyun/chess/entity/ChessBoard.java
package com.yaoyun.chess.entity;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Stroke;

import com.yaoyun.chess.util.FontUtil;

public class ChessBoard {

	/*
	 * ���ܣ� �������������
	 */
	public void drawChess(Graphics g) {
		// ת��2Dģʽ
		Graphics2D g2d = (Graphics2D) g;

		// �õ���ǰ�Ļ�ˢ
		Stroke stroke = g2d.getStroke();
		g2d.setColor(Color.BLACK);

		// �����µĻ�ˢ
		g2d.setStroke(new BasicStroke(4));
		g2d.drawRect(49, 49, 501, 561);

		g2d.setStroke(new BasicStroke(2));
		g2d.drawLine(60, 60, 540, 60);
		g2d.drawLine(60, 300, 540, 300);
		g2d.drawLine(60, 360, 540, 360);
		g2d.drawLine(60, 600, 540, 600);
		g2d.drawLine(60, 60, 60, 600);
		g2d.drawLine(540, 60, 540, 600);

		// �����ڵ�λ��
		drawFlag(g2d, true, true, 120, 180);
		drawFlag(g2d, true, true, 480, 180);

		// �����ڵ�λ��
		drawFlag(g2d, true, true, 120, 480);
		drawFlag(g2d, true, true, 480, 480);

		// ������
		drawFlag(g2d, false, true, 60, 240);
		for (int x = 180; x <= 480; x += 120) {
			drawFlag(g2d, true, true, x, 240);
		}
		drawFlag(g2d, true, false, 540, 240);

		// ������
		drawFlag(g2d, false, true, 60, 420);
		for (int x = 180; x <= 480; x += 120) {
			drawFlag(g2d, true, true, x, 420);
		}
		drawFlag(g2d, true, false, 540, 420);

		// ����ˢ��ԭ
		g2d.setStroke(stroke);

		// �����̸���
		g.setColor(Color.BLACK);
		for (int i = 1; i <= 10; i++) {
			if (i <= 9) {
				g.drawLine(60 * i, 60, 60 * i, 600);
			}
			g.drawLine(60, 60 * i, 540, 60 * i);
		}

		// ���ӽ�
		g.setColor(new Color(216, 196, 160));
		g2d.fillRect(61, 301, 478, 58);
		g2d.setColor(Color.BLACK);
		g2d.setFont(FontUtil.myFont2);
		g2d.drawString("��", 135, 340);
		g2d.drawString("��", 435, 340);

		// ��������
		g2d.drawLine(240, 60, 360, 180);
		g2d.drawLine(240, 180, 360, 60);
		g2d.drawLine(240, 480, 360, 600);
		g2d.drawLine(240, 600, 360, 480);
	}

	/*
	 * ���ܣ�����ָ������λ�õı߿� 
	 * ����leftFlag���Ƿ�������ͼ�� 
	 * ����rightFlag���Ƿ�����ұ�ͼ�� 
	 * ����x,y����ʾ����ͼ�ε��������
	 */
	private void drawFlag(Graphics2D g2d, boolean leftFlag, boolean rightFlag,
			int x, int y) {
		if (leftFlag) {
			g2d.drawLine(x - 5, y - 20, x - 5, y - 5);
			g2d.drawLine(x - 5, y + 20, x - 5, y + 5);
			g2d.drawLine(x - 20, y - 5, x - 5, y - 5);
			g2d.drawLine(x - 20, y + 5, x - 5, y + 5);
		}
		if (rightFlag) {
			g2d.drawLine(x + 5, y - 20, x + 5, y - 5);
			g2d.drawLine(x + 5, y + 20, x + 5, y + 5);
			g2d.drawLine(x + 5, y + 5, x + 20, y + 5);
			g2d.drawLine(x + 5, y - 5, x + 20, y - 5);
		}
	}

}
最近下载更多
微信网友_7550620088864768  LV1 2025年6月16日
哦哦怕怕  LV11 2024年10月25日
gaotieyou  LV5 2024年3月4日
HattaDeer  LV1 2023年11月19日
syh1234569  LV1 2023年7月11日
555555556  LV1 2023年6月7日
紫罗兰的花语  LV2 2023年6月6日
微信网友_6444139264921600  LV8 2023年4月27日
象棋选手  LV1 2023年4月24日
123324df  LV1 2023年4月11日
最近浏览更多
arrce11 2025年9月26日
暂无贡献等级
3369741338  LV4 2025年8月26日
6418368  LV10 2025年8月4日
微信网友_7550620088864768  LV1 2025年6月16日
kewore 2025年6月12日
暂无贡献等级
林黛玉倒拔鲁智深  LV1 2025年4月9日
上善若水丶丶 2025年3月31日
暂无贡献等级
dengjing  LV5 2025年2月4日
hifriend2000 2025年1月7日
暂无贡献等级
哦哦怕怕  LV11 2024年10月25日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友