public static List<PositionEntity> getMovePositions(final ChessBoardEntity b, final ChessmenEntity c) {
		List<PositionEntity> result = null;
		if (null != c && c.isPlayer()) {
			if (c.isBoard()) {
				if (Type.King == c.getType()) {
					result = getMovePositionsKing(b, c);
				} else if (Type.Rook == c.getType()) {
					result = getMovePositionsRook(b, c);
				} else if (Type.Bishop == c.getType()) {
					result = getMovePositionsBishop(b, c);
				} else if (Type.Gold == c.getType()) {
					result = getMovePositionsGold(b, c);
				} else if (Type.Silver == c.getType()) {
					result = getMovePositionsSilver(b, c);
				} else if (Type.Knight == c.getType()) {
					result = getMovePositionsKnight(b, c);
				} else if (Type.Lance == c.getType()) {
					result = getMovePositionsLance(b, c);
				} else if (Type.Pawn == c.getType()) {
					result = getMovePositionsPawn(b, c);
				} else {
					result = new ArrayList<PositionEntity>();
				}
			} else {
				result = new ArrayList<PositionEntity>();
				for (int y = 0; y < 9; y++) {
					for (int x = 0; x < 9; x++) {
						PositionEntity p = new PositionEntity(x, y);
						if (!isChessmen(b, p)) {
							result.add(p);
						}
					}
				}
			}
		} else {
			result = new ArrayList<PositionEntity>();
		}
		return result;
	}