public Schuss(Turm schiessenderTurm) { BackColor = Color.Transparent; Width = 30; Height = 30; SchiessenderTurm = schiessenderTurm; Ziel = FindeNaechstenGegnerZuTurm(SchiessenderTurm); if (Ziel == null) { Timer zielFinder = new Timer() { Interval = 100}; zielFinder.Tick += new EventHandler(zielFinder_Tick); zielFinder.Start(); } Left = SchiessenderTurm.Left; Top = SchiessenderTurm.Top; ImageLocation = Environment.CurrentDirectory + @"\Images\Shot.png"; Timer t = new Timer(); t.Interval = 10; t.Tick += new EventHandler(t_Tick); t.Start(); }
private static Gegner FindeNaechstenGegnerZuTurm(Turm turm) { var alleGegner = GegnerLogik.ListeAllerGegner; Gegner gegnerZumZurueckgeben = null; double smallestValue = double.MaxValue; foreach (Gegner gegner in alleGegner) { double entfernungVonTurmZuGegner = EntfernungsHelfer.ErmittleEntfernung(turm.Location, gegner.Location); if (entfernungVonTurmZuGegner < smallestValue) { smallestValue = entfernungVonTurmZuGegner; gegnerZumZurueckgeben = gegner; } } return gegnerZumZurueckgeben; }