// Path: LinkupCore/src/com/znv/linkup/core/GameSettings.java
// public class GameSettings {
// 
//     /**
//      * 地板卡片值
//      */
//     public static byte GroundCardValue = 0;
// 
//     /**
//      * 游戏卡片值，用于地图模版
//      */
//     public static byte GameCardValue = 1;
// 
//     /**
//      * 障碍卡片值
//      */
//     public static byte ObstacleCardValue = -1;
// 
//     /**
//      * 空卡片值
//      */
//     public static byte EmptyCardValue = -2;
// 
//     /**
//      * 消除卡片获得的积分，消除一对卡片得10分
//      */
//     public static int CardScore = 5;
// 
//     /**
//      * 连击延时时间，2000ms
//      */
//     public static int ComboDelay = 2000;
// 
//     /**
//      * 连击间隔，3连击，6连击，9连击。。。
//      */
//     public static int ComboMod = 3;
// 
//     /**
//      * 连击分数，3连击则3*10=30
//      */
//     public static int ComboScore = 10;
// 
//     /**
//      * 剩余时间奖励分数，剩余10s，则奖励40分
//      */
//     public static int TimeScore = 4;
// 
//     /**
//      * 路径转弯奖励分数，直线不奖励，一个弯奖励5分，2个弯奖励10分
//      */
//     public static int CornerScore = 5;
// 
//     /**
//      * 消除一对卡片奖励的时间，0s
//      */
//     public static int RewardTime = 0;
// 
//     /**
//      * 减少时间奖励，补偿分数
//      */
//     public static int RewardScoreMax = 5;
// 
//     /**
//      * 任务系数
//      */
//     public static int TaskFactor = 10;
// 
//     /**
//      * 重排时尝试次数，默认5次
//      */
//     public static int RefreshTryCount = 5;
// 
//     /**
//      * 星星的比例
//      */
//     public static float StarRatio = 0.4f;
// }


import java.io.Serializable;
import com.znv.linkup.core.GameSettings;
    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];
// Path: LinkupCore/src/com/znv/linkup/core/GameSettings.java
// public class GameSettings {
// 
//     /**
//      * 地板卡片值
//      */
//     public static byte GroundCardValue = 0;
// 
//     /**
//      * 游戏卡片值，用于地图模版
//      */
//     public static byte GameCardValue = 1;
// 
//     /**
//      * 障碍卡片值
//      */
//     public static byte ObstacleCardValue = -1;
// 
//     /**
//      * 空卡片值
//      */
//     public static byte EmptyCardValue = -2;
// 
//     /**
//      * 消除卡片获得的积分，消除一对卡片得10分
//      */
//     public static int CardScore = 5;
// 
//     /**
//      * 连击延时时间，2000ms
//      */
//     public static int ComboDelay = 2000;
// 
//     /**
//      * 连击间隔，3连击，6连击，9连击。。。
//      */
//     public static int ComboMod = 3;
// 
//     /**
//      * 连击分数，3连击则3*10=30
//      */
//     public static int ComboScore = 10;
// 
//     /**
//      * 剩余时间奖励分数，剩余10s，则奖励40分
//      */
//     public static int TimeScore = 4;
// 
//     /**
//      * 路径转弯奖励分数，直线不奖励，一个弯奖励5分，2个弯奖励10分
//      */
//     public static int CornerScore = 5;
// 
//     /**
//      * 消除一对卡片奖励的时间，0s
//      */
//     public static int RewardTime = 0;
// 
//     /**
//      * 减少时间奖励，补偿分数
//      */
//     public static int RewardScoreMax = 5;
// 
//     /**
//      * 任务系数
//      */
//     public static int TaskFactor = 10;
// 
//     /**
//      * 重排时尝试次数，默认5次
//      */
//     public static int RefreshTryCount = 5;
// 
//     /**
//      * 星星的比例
//      */
//     public static float StarRatio = 0.4f;
// }


// Path: LinkupCore/src/com/znv/linkup/core/config/LevelCfg.java
import java.io.Serializable;
import com.znv.linkup.core.GameSettings;

    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;