public void CreateEnemies() { int SpawnMultiplier = 0; //crashes if enemies over the top of each other? for (int i = 0; i < EnemiesToSpawn; i++) { EnemySpawnX = SpawnMultiplier * (int)(EnemySize * 1.2); BasicEnemies Enemy = new BasicEnemies { X = EnemySpawnX, Y = EnemySpawnY, Size = 50, }; SpawnMultiplier++; //500 being an arbitrary number //Change 500 to screen. width - enemy size * 5 or something if (EnemySpawnX >= 300) { EnemySpawnY += (int)(Enemy.Size * 1.2); SpawnMultiplier = 0; } BasicEnemies.Add(Enemy); } }
public bool IsColliding(Bullet rect1, BasicEnemies rect2) { if (rect1.X < rect2.X + rect2.Size && rect1.X + rect1.Size > rect2.X && rect1.Y < rect2.Y + rect2.Size && rect1.Y + rect1.Size > rect2.Y) { return(true); } else { return(false); } }
private void CollisionDetection() { for (int i = 0; i < PlayerBullet.Count; i++) { Bullet PlayerBulletTemp = PlayerBullet[i]; for (int b = 0; b < BasicEnemies.Count; b++) { BasicEnemies EnemyTemp = BasicEnemies[b]; if (IsColliding(PlayerBulletTemp, EnemyTemp)) { EnemySpeed += .1f; CurrentScore++; BasicEnemies.Remove(EnemyTemp); PlayerBullet.Remove(PlayerBulletTemp); } } } }