fix:1、删除sdk相关。2、添加tips界面,修复bug
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
using ChillConnect;
|
||||
namespace ChillConnect.Editor
|
||||
{
|
||||
[System.Serializable]
|
||||
public class LevelDifficultyPreset
|
||||
{
|
||||
public int gridRows;
|
||||
public int gridCols;
|
||||
public int arrowCount; // 目标箭头数
|
||||
public int minArrowCount; // 最小接受箭头数
|
||||
public int minPathLength; // 单箭头最小长度(格数)
|
||||
public int maxPathLength; // 单箭头最大长度
|
||||
public int maxTurnCount; // 最大折数
|
||||
public float turnProbability; // 每步转向概率
|
||||
public bool isPatternLevel; // 是否图案关
|
||||
|
||||
/// <summary>
|
||||
/// 根据关卡序号(从1开始)获取对应难度预设
|
||||
/// </summary>
|
||||
public static LevelDifficultyPreset GetPreset(int levelIndex)
|
||||
{
|
||||
LevelDifficultyPreset preset = new LevelDifficultyPreset();
|
||||
|
||||
// ===== 第1-2关:起步适应 8x8 =====
|
||||
if (levelIndex <= 2)
|
||||
{
|
||||
preset.gridRows = 8;
|
||||
preset.gridCols = 8;
|
||||
preset.arrowCount = 7;
|
||||
preset.minArrowCount = 5;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 4;
|
||||
preset.maxTurnCount = 0; // 纯直线
|
||||
preset.turnProbability = 0f;
|
||||
preset.isPatternLevel = false;
|
||||
}
|
||||
// ===== 第3关:难度突变 13x13 =====
|
||||
else if (levelIndex == 3)
|
||||
{
|
||||
preset.gridRows = 13;
|
||||
preset.gridCols = 13;
|
||||
preset.arrowCount = 14;
|
||||
preset.minArrowCount = 10;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 5;
|
||||
preset.maxTurnCount = 0;
|
||||
preset.turnProbability = 0f;
|
||||
preset.isPatternLevel = false;
|
||||
}
|
||||
// ===== 第4关:第一个图案关 =====
|
||||
else if (levelIndex == 4)
|
||||
{
|
||||
preset.gridRows = 13;
|
||||
preset.gridCols = 13;
|
||||
preset.arrowCount = 12;
|
||||
preset.minArrowCount = 10;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 6;
|
||||
preset.maxTurnCount = 0;
|
||||
preset.turnProbability = 0f;
|
||||
preset.isPatternLevel = true;
|
||||
}
|
||||
// ===== 第5-10关:快速跃升期 =====
|
||||
else if (levelIndex <= 10)
|
||||
{
|
||||
preset.gridRows = 13;
|
||||
preset.gridCols = 13;
|
||||
preset.arrowCount = 14 + (levelIndex - 5) * 1;
|
||||
preset.minArrowCount = preset.arrowCount - 3;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 6;
|
||||
preset.maxTurnCount = 1;
|
||||
preset.turnProbability = 0.15f;
|
||||
preset.isPatternLevel = levelIndex == 8;
|
||||
}
|
||||
// ===== 第11-15关:进阶爬坡 =====
|
||||
else if (levelIndex <= 15)
|
||||
{
|
||||
preset.gridRows = 13;
|
||||
preset.gridCols = 13;
|
||||
preset.arrowCount = 20 + (levelIndex - 11);
|
||||
preset.minArrowCount = preset.arrowCount - 3;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 7;
|
||||
preset.maxTurnCount = 1;
|
||||
preset.turnProbability = 0.2f;
|
||||
preset.isPatternLevel = levelIndex == 13;
|
||||
}
|
||||
// ===== 第15关突变:折数提升 =====
|
||||
else if (levelIndex <= 25)
|
||||
{
|
||||
preset.gridRows = 13;
|
||||
preset.gridCols = 13;
|
||||
preset.arrowCount = 22 + (levelIndex - 15);
|
||||
preset.minArrowCount = preset.arrowCount - 4;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 7;
|
||||
preset.maxTurnCount = 2;
|
||||
preset.turnProbability = 0.25f;
|
||||
preset.isPatternLevel = levelIndex == 19;
|
||||
}
|
||||
// ===== 第26-35关 =====
|
||||
else if (levelIndex <= 35)
|
||||
{
|
||||
preset.gridRows = 14;
|
||||
preset.gridCols = 14;
|
||||
preset.arrowCount = 25 + (levelIndex - 26);
|
||||
preset.minArrowCount = preset.arrowCount - 4;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 8;
|
||||
preset.maxTurnCount = 2;
|
||||
preset.turnProbability = 0.28f;
|
||||
preset.isPatternLevel = levelIndex == 26 || levelIndex == 33;
|
||||
}
|
||||
// ===== 第36-50关:高难起步 =====
|
||||
else if (levelIndex <= 50)
|
||||
{
|
||||
preset.gridRows = 14;
|
||||
preset.gridCols = 14;
|
||||
preset.arrowCount = 28 + (levelIndex - 36);
|
||||
preset.minArrowCount = preset.arrowCount - 5;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 8;
|
||||
preset.maxTurnCount = 2;
|
||||
preset.turnProbability = 0.3f;
|
||||
preset.isPatternLevel = levelIndex == 41 || levelIndex == 49;
|
||||
}
|
||||
// ===== 第50关突变:15x15 =====
|
||||
else if (levelIndex <= 75)
|
||||
{
|
||||
preset.gridRows = 15;
|
||||
preset.gridCols = 15;
|
||||
preset.arrowCount = 30 + (levelIndex - 50) / 2;
|
||||
preset.minArrowCount = preset.arrowCount - 5;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 9;
|
||||
preset.maxTurnCount = 3;
|
||||
preset.turnProbability = 0.32f;
|
||||
preset.isPatternLevel = levelIndex == 57 || levelIndex == 65 || levelIndex == 72;
|
||||
}
|
||||
// ===== 第76-100关:终极挑战 16x16 =====
|
||||
else
|
||||
{
|
||||
preset.gridRows = 16;
|
||||
preset.gridCols = 16;
|
||||
preset.arrowCount = 32 + (levelIndex - 75) / 3;
|
||||
preset.minArrowCount = preset.arrowCount - 6;
|
||||
preset.minPathLength = 2;
|
||||
preset.maxPathLength = 9;
|
||||
preset.maxTurnCount = 3;
|
||||
preset.turnProbability = 0.35f;
|
||||
preset.isPatternLevel = levelIndex == 80 || levelIndex == 87 || levelIndex == 93 || levelIndex == 100;
|
||||
}
|
||||
|
||||
return preset;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user