Example #1
0
        public static Phase Create(int i, int wave)
        {
            Phase phase = new Phase()
            {
                phase = i
            };


            var EnemiesMax = random.Next(EnemiesMinNextRound, EnemiesMaxNextRound + 1);

            EnemiesMinNextRound = EnemiesMax;
            EnemiesMaxNextRound++;

            for (int j = 0; j < EnemiesMax; j++)
            {
                Enemie e;
                do
                {
                    e = Enemie.Create(wave);
                } while (ConatinsEnemie(phase.enemies, e));



                phase.enemies.Add(e);
            }



            return(phase);
        }
Example #2
0
        public static Enemie Create(int wave)
        {
            Enemie   enemie    = new Enemie();
            int      direction = random.Next(0, ep.Count);
            Position pos       = ep [direction];

            int speed;

            if (wave < 10)
            {
                speed = 1;
            }
            else if (wave < 20)
            {
                speed = random.Next(2, 3);
            }
            else
            {
                speed = random.Next(2, 4);
            }

            enemie.y         = pos.coor.y;
            enemie.x         = pos.coor.x;
            enemie.dy        = pos.delta.y * speed;
            enemie.dx        = pos.delta.x * speed;
            enemie.direction = direction;

            enemie.damage = random.Next(10, 25 + (int)(wave * FAKTOR_DMG));
            enemie.money  = random.Next(1, 10 + (int)(wave * FAKTOR_MONEY));

            return(enemie);
        }
Example #3
0
        public static bool ConatinsEnemie(List <Enemie> enemies, Enemie e)
        {
            foreach (var enemie in enemies)
            {
                if (e.x == enemie.x && e.y == enemie.y)
                {
                    return(true);
                }
            }

            return(false);
        }