123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using UnityEngine;
- public class XPTest : MonoBehaviour
- {
- [Header("Test Settings")]
- public int testPlayerLevel = 1;
- public int maxEnemyLevel = 50;
-
- [Header("Results")]
- [SerializeField] private string xpComparison;
-
- void Start()
- {
- TestXPComparison();
- }
-
- void TestXPComparison()
- {
- string comparison = "=== XP Comparison (Old vs New System) ===\n";
- comparison += $"Player Level: {testPlayerLevel}\n\n";
- comparison += "Enemy Level | Old XP | New XP | Difference\n";
- comparison += "-----------|--------|--------|------------\n";
-
- for (int enemyLevel = 1; enemyLevel <= maxEnemyLevel; enemyLevel += 5)
- {
- int oldXP = enemyScript.CalculateLegacyXP(enemyLevel);
- int newXP = enemyScript.CalculateExponentialXP(enemyLevel, testPlayerLevel);
- int difference = newXP - oldXP;
-
- comparison += $"{enemyLevel,10} | {oldXP,6} | {newXP,6} | {difference:+0;-0}\n";
- }
-
- comparison += "\n=== Key Examples ===\n";
- comparison += $"Level 10 Enemy: {enemyScript.CalculateExponentialXP(10, testPlayerLevel)} XP\n";
- comparison += $"Level 20 Enemy: {enemyScript.CalculateExponentialXP(20, testPlayerLevel)} XP\n";
- comparison += $"Level 30 Enemy: {enemyScript.CalculateExponentialXP(30, testPlayerLevel)} XP\n";
- comparison += $"Level 40 Enemy: {enemyScript.CalculateExponentialXP(40, testPlayerLevel)} XP\n";
- comparison += $"Level 50 Enemy: {enemyScript.CalculateExponentialXP(50, testPlayerLevel)} XP\n";
- comparison += $"Level 60 Enemy: {enemyScript.CalculateExponentialXP(60, testPlayerLevel)} XP (Capped)\n";
-
- xpComparison = comparison;
- Debug.Log(comparison);
- }
-
- [ContextMenu("Run XP Test")]
- void RunXPTest()
- {
- TestXPComparison();
- }
-
- [ContextMenu("Test Risk Reward")]
- void TestRiskReward()
- {
- Debug.Log("=== Risk Reward Testing ===");
- int enemyLevel = 40;
-
- for (int playerLevel = 1; playerLevel <= 50; playerLevel += 10)
- {
- int xp = enemyScript.CalculateExponentialXP(enemyLevel, playerLevel);
- int levelDiff = enemyLevel - playerLevel;
- string risk = levelDiff > 0 ? $"Risk (+{levelDiff} levels)" : "Safe";
-
- Debug.Log($"Player Level {playerLevel} vs Enemy Level {enemyLevel}: {xp} XP ({risk})");
- }
- }
- }
|