再次 清理了一些东西
This commit is contained in:
@@ -1,232 +0,0 @@
|
||||
/*
|
||||
* 强化系统测试脚本
|
||||
* 用于验证强化系统是否正常工作
|
||||
*/
|
||||
|
||||
import {
|
||||
getRandomEnhancementOptions,
|
||||
getLevelAdjustedEnhancementOptions,
|
||||
getEnhancementOptionByType,
|
||||
EnhancementType,
|
||||
EnhancementOptions,
|
||||
EnhancementQualityWeight
|
||||
} from "./LevelUpEnhancement"
|
||||
import { Quality } from "./CardSet"
|
||||
|
||||
// 测试函数
|
||||
export function testEnhancementSystem(): void {
|
||||
console.log("=== 强化系统测试开始 ===");
|
||||
|
||||
// 测试1: 基础随机生成
|
||||
testBasicRandomGeneration();
|
||||
|
||||
// 测试2: 等级调整功能
|
||||
testLevelAdjustment();
|
||||
|
||||
// 测试3: 特定选项获取
|
||||
testSpecificOptionRetrieval();
|
||||
|
||||
// 测试4: 品质权重验证
|
||||
testQualityWeights();
|
||||
|
||||
// 测试5: 配置完整性
|
||||
testConfigurationIntegrity();
|
||||
|
||||
console.log("=== 强化系统测试完成 ===");
|
||||
}
|
||||
|
||||
// 测试基础随机生成
|
||||
function testBasicRandomGeneration(): void {
|
||||
console.log("\n--- 测试基础随机生成 ---");
|
||||
|
||||
try {
|
||||
const options = getRandomEnhancementOptions(3);
|
||||
console.log(`✓ 成功生成 ${options.length} 个强化选项`);
|
||||
|
||||
options.forEach((option, index) => {
|
||||
console.log(` 选项 ${index + 1}: ${option.name} (${option.rarity}) - ${option.description}`);
|
||||
});
|
||||
|
||||
// 验证选项完整性
|
||||
options.forEach(option => {
|
||||
if (!option.name || !option.description || !option.buffType || !option.value) {
|
||||
throw new Error(`选项数据不完整: ${JSON.stringify(option)}`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log("✓ 所有选项数据完整");
|
||||
|
||||
} catch (error) {
|
||||
console.error("✗ 基础随机生成测试失败:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// 测试等级调整功能
|
||||
function testLevelAdjustment(): void {
|
||||
console.log("\n--- 测试等级调整功能 ---");
|
||||
|
||||
try {
|
||||
const testLevels = [1, 10, 20, 30];
|
||||
|
||||
testLevels.forEach(level => {
|
||||
const options = getLevelAdjustedEnhancementOptions(level, 3);
|
||||
console.log(`✓ 等级 ${level} 生成 ${options.length} 个选项`);
|
||||
|
||||
// 验证高等级是否有更多稀有品质
|
||||
const rareCount = options.filter(option =>
|
||||
option.rarity === "rare" ||
|
||||
option.rarity === "epic" ||
|
||||
option.rarity === "legendary"
|
||||
).length;
|
||||
|
||||
console.log(` 稀有品质数量: ${rareCount}`);
|
||||
});
|
||||
|
||||
console.log("✓ 等级调整功能正常");
|
||||
|
||||
} catch (error) {
|
||||
console.error("✗ 等级调整功能测试失败:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// 测试特定选项获取
|
||||
function testSpecificOptionRetrieval(): void {
|
||||
console.log("\n--- 测试特定选项获取 ---");
|
||||
|
||||
try {
|
||||
// 测试攻击力强化
|
||||
const attackWhite = getEnhancementOptionByType(EnhancementType.ATTACK, Quality.WHITE);
|
||||
const attackBlue = getEnhancementOptionByType(EnhancementType.ATTACK, Quality.BLUE);
|
||||
|
||||
if (attackWhite && attackBlue) {
|
||||
console.log(`✓ 攻击力强化选项获取成功`);
|
||||
console.log(` 白色: ${attackWhite.name} - ${attackWhite.description}`);
|
||||
console.log(` 蓝色: ${attackBlue.name} - ${attackBlue.description}`);
|
||||
} else {
|
||||
throw new Error("无法获取攻击力强化选项");
|
||||
}
|
||||
|
||||
// 测试生命值强化
|
||||
const healthPurple = getEnhancementOptionByType(EnhancementType.HEALTH, Quality.PURPLE);
|
||||
if (healthPurple) {
|
||||
console.log(`✓ 生命值强化选项获取成功: ${healthPurple.name}`);
|
||||
}
|
||||
|
||||
// 测试攻击速度强化
|
||||
const speedOrange = getEnhancementOptionByType(EnhancementType.ATTACK_SPEED, Quality.ORANGE);
|
||||
if (speedOrange) {
|
||||
console.log(`✓ 攻击速度强化选项获取成功: ${speedOrange.name}`);
|
||||
}
|
||||
|
||||
console.log("✓ 特定选项获取功能正常");
|
||||
|
||||
} catch (error) {
|
||||
console.error("✗ 特定选项获取测试失败:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// 测试品质权重验证
|
||||
function testQualityWeights(): void {
|
||||
console.log("\n--- 测试品质权重验证 ---");
|
||||
|
||||
try {
|
||||
const totalWeight = Object.values(EnhancementQualityWeight).reduce((sum, weight) => sum + weight, 0);
|
||||
|
||||
if (Math.abs(totalWeight - 1.0) < 0.001) {
|
||||
console.log(`✓ 品质权重总和为 1.0 (实际: ${totalWeight.toFixed(3)})`);
|
||||
} else {
|
||||
throw new Error(`品质权重总和不为 1.0: ${totalWeight}`);
|
||||
}
|
||||
|
||||
// 验证权重分布
|
||||
console.log("品质权重分布:");
|
||||
Object.entries(EnhancementQualityWeight).forEach(([quality, weight]) => {
|
||||
const qualityName = getQualityName(parseInt(quality));
|
||||
console.log(` ${qualityName}: ${(weight * 100).toFixed(1)}%`);
|
||||
});
|
||||
|
||||
console.log("✓ 品质权重验证通过");
|
||||
|
||||
} catch (error) {
|
||||
console.error("✗ 品质权重验证失败:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// 测试配置完整性
|
||||
function testConfigurationIntegrity(): void {
|
||||
console.log("\n--- 测试配置完整性 ---");
|
||||
|
||||
try {
|
||||
const enhancementTypes = Object.values(EnhancementType);
|
||||
const qualities = [Quality.WHITE, Quality.GREEN, Quality.BLUE, Quality.PURPLE, Quality.ORANGE];
|
||||
|
||||
let totalOptions = 0;
|
||||
let missingOptions = 0;
|
||||
|
||||
enhancementTypes.forEach(type => {
|
||||
qualities.forEach(quality => {
|
||||
totalOptions++;
|
||||
const option = EnhancementOptions[type]?.[quality];
|
||||
if (!option) {
|
||||
missingOptions++;
|
||||
console.log(` 缺失: 类型${type} 品质${quality}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
console.log(`✓ 总选项数: ${totalOptions}`);
|
||||
console.log(`✓ 缺失选项数: ${missingOptions}`);
|
||||
console.log(`✓ 完整度: ${((totalOptions - missingOptions) / totalOptions * 100).toFixed(1)}%`);
|
||||
|
||||
if (missingOptions === 0) {
|
||||
console.log("✓ 配置完整性验证通过");
|
||||
} else {
|
||||
console.log("⚠ 存在缺失配置,但不影响基本功能");
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error("✗ 配置完整性测试失败:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// 辅助函数:获取品质名称
|
||||
function getQualityName(quality: number): string {
|
||||
switch (quality) {
|
||||
case Quality.WHITE: return "白色";
|
||||
case Quality.GREEN: return "绿色";
|
||||
case Quality.BLUE: return "蓝色";
|
||||
case Quality.PURPLE: return "紫色";
|
||||
case Quality.ORANGE: return "橙色";
|
||||
default: return "未知";
|
||||
}
|
||||
}
|
||||
|
||||
// 性能测试
|
||||
export function testPerformance(): void {
|
||||
console.log("\n=== 性能测试开始 ===");
|
||||
|
||||
const iterations = 1000;
|
||||
const startTime = Date.now();
|
||||
|
||||
for (let i = 0; i < iterations; i++) {
|
||||
getRandomEnhancementOptions(3);
|
||||
}
|
||||
|
||||
const endTime = Date.now();
|
||||
const duration = endTime - startTime;
|
||||
|
||||
console.log(`生成 ${iterations} 次强化选项耗时: ${duration}ms`);
|
||||
console.log(`平均每次耗时: ${(duration / iterations).toFixed(2)}ms`);
|
||||
|
||||
if (duration < 1000) {
|
||||
console.log("✓ 性能测试通过");
|
||||
} else {
|
||||
console.log("⚠ 性能较慢,建议优化");
|
||||
}
|
||||
}
|
||||
|
||||
// 导出测试函数
|
||||
export function runAllTests(): void {
|
||||
testEnhancementSystem();
|
||||
testPerformance();
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "75f5e9aa-9f71-47b9-b878-545adb08a0c9",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
Reference in New Issue
Block a user