public void sistemaCollisioni() { for (int idPrimo = guerrieri.Length - 1; idPrimo >= 0; idPrimo--) { Guerriero primo = guerrieri[idPrimo]; for (int idAltro = idPrimo - 1; idAltro >= 0; idAltro--) { Guerriero altro = guerrieri[idAltro]; if (primo.Bounds.Intersects(altro.Bounds)) { primo.CorpoACorpo = true; altro.CorpoACorpo = true; } } } }
public void muoviVersoNemico(Guerriero guerNem) { Vector2 direzione = guerNem.posizione - this.posizione; direzione.Normalize(); this.nuovaPosizione = this.posizione + direzione * this.velMovimento; }
/// <summary>Restituisce l'angolo (in radianti) tra guerriero e nemico</summary> public float guardaNemico(Guerriero guerNem) { double diffx = MathHelper.Distance(this.posizione.X, guerNem.posizione.X); double diffy = MathHelper.Distance(this.posizione.Y, guerNem.posizione.Y); return (float)Math.Atan(diffy / diffx); }
public Giocatore(Colore colore, Guerriero [] guerrieri) { this.colore = colore; }