示例#1
0
        public virtual bool IsStrongerThan(BattleSimulator simulator, Warrior other)
        {
            var side       = IsLightSide ? simulator.LightSide : simulator.DarkSide;
            var otherSide  = side == simulator.LightSide ? simulator.DarkSide : simulator.LightSide;
            var ownPower   = (1.0 + (side.Morale / 100.0)) * Power;
            var otherPower = (1.0 + (otherSide.Morale / 100.0)) * other.Power;

            Console.WriteLine($"{Power} erő összehasonlítása {side.Morale} morállal ({ownPower}), ellenfél: {other.Power} erő {otherSide.Morale} morállal ({otherPower})");
            return(ownPower > otherPower);
        }
示例#2
0
        public override void PostCombatEffect(BattleSimulator simulator)
        {
            if (simulator.Chance(50))
            {
                Power += 1;
                Console.WriteLine($"Jabba nagyon szerencsés, nőtt az ereje: {Power}");
            }

            else
            {
                Console.WriteLine($"Jabba semmit nem tett a csapatért... :(");
            }
        }
示例#3
0
        public Warrior GetWarrior(BattleSimulator simulator)
        {
            var result = _current ?? (_current = GetRandomWarrior());

            if (HanSoloDied)
            {
                HanSoloDied = false;
                if (_current.Name == "Luke Skywalker")
                {
                    _current.DecreasePower(simulator, -5);
                }
            }
            result?.OnJoinBattle(simulator);
            return(result);
        }
示例#4
0
        static void StartMenu()
        {
            string cmd = null;

            do
            {
                Console.Clear();
                Console.WriteLine("---Awesome starwars simulation---");
                Console.Write("1: Szimuláció\n2:Kilépés a programból\nParancs: ");
                cmd = Console.ReadLine();
                switch (cmd)
                {
                case "1":
                    var warriors  = FileHandler.ReadWarriors();
                    var simulator = new BattleSimulator(warriors);
                    var winner    = simulator.RunSimulation();
                    Console.WriteLine("Csata eredménye:");
                    if (winner == null)
                    {
                        Console.WriteLine("Döntetlen");
                    }
                    else
                    {
                        Console.WriteLine($"A {(winner.IsLightSide ? "jók" : "rosszak")} nyertek, utolsó harcos: {winner.Name}, megmaradt ereje: {winner.Power}");
                    }
                    Console.WriteLine("\n\n\nÜss le egy billentyűt a folytatáshoz...");
                    Console.ReadKey();
                    break;

                case "2":
                    return;

                default:
                    Console.WriteLine("Hibás parancs...");
                    Thread.Sleep(500);
                    break;
                }
            } while (true);
        }
示例#5
0
 public override void OnJoinBattle(BattleSimulator simulator)
 {
 }
示例#6
0
 public override void OnLeaveBattle(BattleSimulator simulator)
 {
 }
示例#7
0
 public override void OnJoinBattle(BattleSimulator simulator)
 {
     simulator.LightSide.Morale -= 3;
     Console.WriteLine($"Az ellenséges Jedi csapata új morálja 3 ponttal csökken: {simulator.LightSide.Morale}");
 }
示例#8
0
 public void KillWarrior(BattleSimulator simulator)
 {
     _current.OnLeaveBattle(simulator);
     Console.WriteLine($"{_current.Name} kiesett");
     _current = null;
 }
示例#9
0
 public virtual void DecreasePower(BattleSimulator simulator, int power)
 {
     Power -= power;
 }
示例#10
0
 public abstract void PostCombatEffect(BattleSimulator simulator);
示例#11
0
 public abstract void OnLeaveBattle(BattleSimulator simulator);
示例#12
0
 public abstract void OnJoinBattle(BattleSimulator simulator);
示例#13
0
        static void StartMenu()
        {
            string cmd      = null;
            var    warriors = FileHandler.ReadWarriors();

            do
            {
                Console.Clear();
                Console.WriteLine("---Awesome starwars simulation---");
                Console.Write("1: Analitikák\n2:Szimuláció\n3:Eredmények\n4:Kilépés a programból\nParancs: ");
                cmd = Console.ReadLine();
                switch (cmd)
                {
                case "1":
                    Console.Clear();
                    var analytics = new Analytics(warriors);
                    analytics.WriteAllData();
                    Console.WriteLine();
                    analytics.AllAnalytics();
                    Console.WriteLine("\nVárható eredmény:");
                    analytics.GuessResult();
                    Console.WriteLine("\n\n\nÜss le egy billentyűt a kilépéshez...");
                    Console.ReadKey();
                    break;

                case "2":
                    warriors = FileHandler.ReadWarriors();
                    var simulator = new BattleSimulator(warriors);
                    var winner    = simulator.RunSimulation();
                    FileHandler.WriteResult(winner);
                    Console.WriteLine("Csata eredménye:");
                    if (winner == null)
                    {
                        Console.WriteLine("Döntetlen");
                    }
                    else
                    {
                        Console.WriteLine($"A {(winner.IsGood ? "jók" : "rosszak")} nyertek, utolsó harcos: {winner.Name}, megmaradt ereje: {winner.Power}");
                    }
                    Console.WriteLine("\n\n\nÜss le egy billentyűt a kilépéshez...");
                    Console.ReadKey();
                    break;

                case "3":
                    var results         = FileHandler.ReadResults();
                    var resultAnalytics = new ResultAnalytics(results);
                    resultAnalytics.AllAnalytics();
                    Console.WriteLine("\n\n\nÜss le egy billentyűt a kilépéshez...");
                    Console.ReadKey();
                    break;

                case "4":
                    break;

                default:
                    Console.WriteLine("Hibás parancs...");
                    Thread.Sleep(500);
                    break;
                }
            } while (cmd != "4");
        }
示例#14
0
 public override void OnJoinBattle(BattleSimulator simulator)
 {
     simulator.LightSide.Morale -= 3;
     Console.WriteLine($"Darth Maul nagyon szerencsés, a másik csapata új morálja: {simulator.LightSide.Morale}");
 }