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); }
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); }
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); }