From caa8f80cd03393adf25ef81a144b17effefa88d8 Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 30 Mar 2026 17:00:01 +0200 Subject: [PATCH] Auto-sync: 20260330_170000 --- lib/logic/game_controller.dart | 2 +- lib/ui/profile/profile_screen.dart | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/logic/game_controller.dart b/lib/logic/game_controller.dart index 0a9afdb..cbe7708 100644 --- a/lib/logic/game_controller.dart +++ b/lib/logic/game_controller.dart @@ -652,7 +652,7 @@ class GameController extends ChangeNotifier { } else if (isVsCPU) { int myScore = board.scoreRed; int cpuScore = board.scoreBlue; bool isWin = myScore > cpuScore; - calculatedXP = isWin ? (10 + (cpuLevel * 2)) : (isDraw ? 5 : 2); + calculatedXP = isWin ? (10 + (cpuLevel ~/ 2)).clamp(10, 25) : (isDraw ? 5 : 2); if (isWin) { await StorageService.instance.addWin(); diff --git a/lib/ui/profile/profile_screen.dart b/lib/ui/profile/profile_screen.dart index 6323b59..f156539 100644 --- a/lib/ui/profile/profile_screen.dart +++ b/lib/ui/profile/profile_screen.dart @@ -74,10 +74,16 @@ class _ProfileScreenState extends State { } String _getPlayerTitle(int level) { - if (level < 5) return "Principiante"; - if (level < 10) return "Sfidante"; - if (level < 15) return "Maestro dei Quadrati"; - return "Leggenda del Neon"; + if (level < 10) return "Principiante"; + if (level < 20) return "Apprendista"; + if (level < 40) return "Sfidante"; + if (level < 60) return "Tattico dell'Arena"; + if (level < 80) return "Maestro dei Quadrati"; + if (level < 100) return "Gran Maestro"; + if (level < 130) return "Campione della Griglia"; + if (level < 160) return "Entità Digitale"; + if (level < 200) return "Oracolo del Codice"; + return "Leggenda Suprema"; } Future _handleRegistration() async {