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); }
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... :("); } }
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); }
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); }
public override void OnJoinBattle(BattleSimulator simulator) { }
public override void OnLeaveBattle(BattleSimulator simulator) { }
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}"); }
public void KillWarrior(BattleSimulator simulator) { _current.OnLeaveBattle(simulator); Console.WriteLine($"{_current.Name} kiesett"); _current = null; }
public virtual void DecreasePower(BattleSimulator simulator, int power) { Power -= power; }
public abstract void PostCombatEffect(BattleSimulator simulator);
public abstract void OnLeaveBattle(BattleSimulator simulator);
public abstract void OnJoinBattle(BattleSimulator simulator);
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"); }
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}"); }