Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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;
        }