public static boolean isMove(final Type type, final int x, final int y, final boolean promote) {
		if (0 == x && 0 == y)
			return false;
		if (Type.King == type) {
			return isMoveKing(x, y, promote);
		} else if (Type.Rook == type) {
			return isMoveRook(x, y, promote);
		} else if (Type.Bishop == type) {
			return isMoveBishop(x, y, promote);
		} else if (Type.Gold == type) {
			return isMoveGold(x, y, promote);
		} else if (Type.Silver == type) {
			return isMoveSilver(x, y, promote);
		} else if (Type.Knight == type) {
			return isMoveKnight(x, y, promote);
		} else if (Type.Lance == type) {
			return isMoveLance(x, y, promote);
		} else if (Type.Pawn == type) {
			return isMovePawn(x, y, promote);
		}
		return false;
	}