예제 #1
0
        public static void UpgradeFighter(IFighter fighter)
        {
            while (true)
            {
                Console.Clear();
                fighter.ResetEnergy();

                Console.WriteLine("\n  Twój zawodnik przedstawia się następująco: ");
                Console.WriteLine($"\n  >> Wytrzymałość podczas walki (energia): {fighter.energy + fighter.extraEnergy}");
                Console.WriteLine($"  >> Doświadczenie w stójce: {fighter.stojka}");
                Console.WriteLine($"  >> Doświadczenie w parterze: {fighter.parter}");

                Console.WriteLine("\n  Otrzymujesz 3 ekstra punkt, do przydzielenia swojej postaci.\n  Przydziel je poszczególnym pozycjom według uznania\n");

                int energyUpgradeValue;

                int stojkaUpgradeValue;
                int parterUpgradeValue;

                try
                {
                    Console.Write("  >> Energia: ");
                    energyUpgradeValue = int.Parse(Console.ReadLine());
                    if (energyUpgradeValue < 0 || energyUpgradeValue > 3)
                    {
                        Console.WriteLine("  Niepoprawna wartość !!!");
                        Thread.Sleep(1500);
                        continue;
                    }

                    Console.Write("\n  >> Stójka: ");
                    stojkaUpgradeValue = int.Parse(Console.ReadLine());
                    if (stojkaUpgradeValue < 0 || stojkaUpgradeValue > 3 - energyUpgradeValue)
                    {
                        Console.WriteLine("  Niepoprawna wartość !!!");
                        Thread.Sleep(1500);
                        continue;
                    }

                    Console.Write("\n  >> Parter: ");
                    parterUpgradeValue = int.Parse(Console.ReadLine());
                    if (parterUpgradeValue < 0 || parterUpgradeValue > 3 - energyUpgradeValue - stojkaUpgradeValue)
                    {
                        Console.WriteLine("  Niepoprawna wartość !!!");
                        Thread.Sleep(1500);
                        continue;
                    }
                }
                catch
                {
                    Console.WriteLine("  Możesz jedynie użyć cyfr od 0 do 3 !!!");
                    Thread.Sleep(1500);
                    continue;
                }

                fighter.UpgradeParter(parterUpgradeValue);
                fighter.UpgradeStojka(stojkaUpgradeValue);
                fighter.UpgradeEnergy(energyUpgradeValue);
                break;
            }

            Console.WriteLine("\n\n  Twój zawodnik po awansie punktowym: ");
            Console.WriteLine($"\n  >> Wytrzymałość podczas walki (energia): {fighter.energy + fighter.extraEnergy}");
            Console.WriteLine($"  >> Doświadczenie w stójce: {fighter.stojka}");
            Console.WriteLine($"  >> Doświadczenie w parterze: {fighter.parter}");
            Console.WriteLine("\n\n\n  Użyj dowolnego przycisku, gdy będziesz gotowy na kolejną walkę.");
        }