⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piecefactory.java

📁 用jav语言开发的基于J2SE平台的中国象棋.供大家参考和学习
💻 JAVA
字号:
package chinesechess.pieces;

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.geom.*;
import java.io.File;

import chinesechess.rule.Rule;

/**
 * @author Administrator
 * 
 * 更改所生成类型注释的模板为 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class PieceFactory {
	private static PiecesObject po;
	static {
		po=new PiecesObject().getInstance();
	}
	public static int PIECE_SIZE = 45;
	public static void setPieceSize(int size) {
		PIECE_SIZE = size;
	}
	public static Qizi getAPiece(char name) {
		Image pieceImg;
		int pieceType;

		switch (name) {
		case 'K':// 帅
			pieceImg = po.getImage(0);
			pieceType = 0;
			break;
		case 'k':
			pieceImg = po.getImage(7);
			pieceType = 7;
			break;
		case 'A':// 仕
			pieceImg = po.getImage(1);
			pieceType = 1;
			break;
		case 'a':
			pieceImg = po.getImage(8);
			pieceType = 8;
			break;
		case 'B':// 相
			pieceImg = po.getImage(2);
			pieceType = 2;
			break;
		case 'b':
			pieceImg = po.getImage(9);
			pieceType = 9;
			break;
		case 'N':// 马
			pieceImg = po.getImage(3);
			pieceType = 3;
			break;
		case 'n':
			pieceImg = po.getImage(10);
			pieceType = 10;
			break;
		case 'R':// 车
			pieceImg = po.getImage(4);
			pieceType = 4;
			break;
		case 'r':
			pieceImg = po.getImage(11);
			pieceType = 11;
			break;
		case 'C':// 炮
			pieceImg = po.getImage(5);
			pieceType = 5;
			break;
		case 'c':
			pieceImg = po.getImage(12);
			pieceType = 12;
			break;
		case 'P':
			pieceImg = po.getImage(6);
			pieceType = 6;
			break;
		default:
			pieceImg = po.getImage(13);
			pieceType = 13;
		}
		return new Qizi(name, pieceType, pieceImg, PIECE_SIZE);

	}

	public static Qizi getAPiece(int pieceType, int x, int y) {
		Qizi tmpPiece = getAPiece(pieceType);
		tmpPiece.setCoordinate(x, y);
		return tmpPiece;
	}

	public static Qizi getAPiece(char name, int x, int y) {
		Qizi tmpPiece = getAPiece(name);
		tmpPiece.setCoordinate(x, y);
		return tmpPiece;
	}

	public static Qizi getAPiece(int pieceType) {
		// pieceType:0-6:帅仕相马车炮兵
		Image pieceImg;
		char pieceName;

		switch (pieceType) {
		case 0:// 帅
			pieceImg = po.getImage(0);
			pieceName = 'K';
			break;
		case 7:
			pieceImg = po.getImage(7);
			pieceName = 'k';
			break;
		case 1:// 仕
			pieceImg = po.getImage(1);
			pieceName = 'A';
			break;
		case 8:
			pieceImg = po.getImage(8);
			pieceName = 'a';
			break;
		case 2:// 相
			pieceImg = po.getImage(2);
			pieceName = 'B';
			break;
		case 9:
			pieceImg = po.getImage(9);
			pieceName = 'b';
			break;
		case 3:// 马
			pieceImg = po.getImage(3);
			pieceName = 'N';
			break;
		case 10:
			pieceImg = po.getImage(10);
			pieceName = 'n';
			break;
		case 4:// 车
			pieceImg = po.getImage(4);
			pieceName = 'R';
			break;
		case 11:
			pieceImg = po.getImage(11);
			pieceName = 'r';
			break;
		case 5:// 炮
			pieceImg = po.getImage(5);
			pieceName = 'C';
			break;
		case 12:
			pieceImg = po.getImage(12);
			pieceName = 'c';
			break;
		case 6:
			pieceImg = po.getImage(6);
			pieceName = 'P';
			break;
		default:
			pieceImg = po.getImage(13);
			pieceName = 'p';
		}
		return new Qizi(pieceName, pieceType, pieceImg, PIECE_SIZE);
	}
}

⌨️ 快捷键说明

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