package com.znv.linkup.core.config; import java.io.Serializable; import com.znv.linkup.core.GameSettings; /** * 关卡配置 * * @author yzb * */ public class LevelCfg implements Serializable { private static final long serialVersionUID = 2145150870959932172L; /** * 静态全局配置 */ public static GlobalCfg globalCfg = new GlobalCfg(); public LevelCfg(String levelName) { this.levelName = levelName; } private int levelId; private String levelName; private String rankName; private String gameSkin; private int xSize; private int ySize; private int levelTime; private GameMode levelMode; // 任务目标 private int scoreTask; private int timeTask; private GameAlign levelAlign; private int maxScore; private int minTime; private boolean isActive; private int levelStar; private boolean isUpload = false; private int[] starScores = null; private int emptyNum; private int obstacleNum; private int pieceWidth; private int pieceHeight; private int beginImageX; private int beginImageY; private int levelBackground; // 关卡地图信息字符串 private String maptplStr; // 星星模式的星星数 private int stars = 0; // 是否已根据屏幕调整 private boolean isAdjust = false; /** * 初始化游戏星级的临界分数 */ public void initStarScores() { int cardCount = (xSize - 2) * (ySize - 2) - emptyNum - obstacleNum; if (starScores == null) { starScores = new int[3]; int min = cardCount * GameSettings.CardScore + levelTime * GameSettings.TimeScore / 2; starScores[1] = min + GameSettings.CornerScore * cardCount / 2; starScores[0] = (min + starScores[1]) / 2; starScores[2] = starScores[1] + levelTime * GameSettings.TimeScore / 2; } // 设置任务为2颗星的分数值 scoreTask = cardCount * GameSettings.TaskFactor; // 设置计时任务 timeTask = levelTime; if (levelMode == GameMode.Star) { // 一半的星星 stars = (int) (cardCount * GameSettings.StarRatio); } } /** * 根据游戏得分判断游戏星级 * * @param score * 游戏得分 * @return 游戏星级 */ public int getStar(int score) { if (score < starScores[0]) return 0; else if (score < starScores[1]) return 1; else if (score < starScores[2]) return 2; else return 3; } public int getLevelId() { return levelId; } public void setLevelId(int levelId) { this.levelId = levelId; } public String getLevelName() { return levelName; } public void setLevelName(String levelName) { this.levelName = levelName; } public String getRankName() { return rankName; } public void setRankName(String rankName) { this.rankName = rankName; } public GameMode getLevelMode() { return levelMode; } public void setLevelMode(GameMode levelMode) { this.levelMode = levelMode; } public int getScoreTask() { return scoreTask; } public void setScoreTask(int scoreTask) { this.scoreTask = scoreTask; } public int getTimeTask() { return timeTask; } public void setTimeTask(int timeTask) { this.timeTask = timeTask; } public String getGameSkin() { return gameSkin; } public void setGameSkin(String gameSkin) { this.gameSkin = gameSkin; } public int getXSize() { return xSize; } public void setXSize(int xSize) { this.xSize = xSize; } public int getYSize() { return ySize; } public void setYSize(int ySize) { this.ySize = ySize; } public int getMaxScore() { return maxScore; } public void setMaxScore(int maxScore) { this.maxScore = maxScore; } public int getMinTime() { return minTime; } public void setMinTime(int minTime) { this.minTime = minTime; } public int getLevelTime() { return levelTime; } public void setLevelTime(int levelTime) { this.levelTime = levelTime; } public GameAlign getLevelAlign() { return levelAlign; } public void setLevelAlign(GameAlign levelAlign) { this.levelAlign = levelAlign; } public boolean isActive() { return isActive; } public void setActive(boolean isActive) { this.isActive = isActive; } public int getLevelStar() { return levelStar; } public void setLevelStar(int levelStar) { this.levelStar = levelStar; } public boolean isUpload() { return isUpload; } public void setUpload(boolean isUpload) { this.isUpload = isUpload; } public int[] getStarScores() { return starScores; } public void setStarScores(int[] starScores) { this.starScores = starScores; } public int getEmptyNum() { return emptyNum; } public void setEmptyNum(int emptyNum) { this.emptyNum = emptyNum; } public int getObstacleNum() { return obstacleNum; } public void setObstacleNum(int obstacleNum) { this.obstacleNum = obstacleNum; } public int getPieceWidth() { return pieceWidth; } public void setPieceWidth(int pieceWidth) { this.pieceWidth = pieceWidth; } public int getPieceHeight() { return pieceHeight; } public void setPieceHeight(int pieceHeight) { this.pieceHeight = pieceHeight; } public int getBeginImageX() { return beginImageX; } public void setBeginImageX(int beginImageX) { this.beginImageX = beginImageX; } public int getBeginImageY() { return beginImageY; } public void setBeginImageY(int beginImageY) { this.beginImageY = beginImageY; } public int getLevelBackground() { return levelBackground; } public void setLevelBackground(int levelBackground) { this.levelBackground = levelBackground; } public String getMaptplStr() { return maptplStr; } public void setMaptplStr(String maptplStr) { this.maptplStr = maptplStr; } public int getStars() { return stars; } public void setStars(int stars) { this.stars = stars; } public boolean isAdjust() { return isAdjust; } public void setAdjust(boolean isAdjust) { this.isAdjust = isAdjust; } }