void RecrerArme() { SoldatDeArmée[,] temp = new SoldatDeArmée[Positions.GetLength(0), Positions.GetLength(1)]; int soldatsAjoute = 0; int tempI = 0; int tempJ = 0; for (int i = 0; i < Armés.GetLength(0); i++) { for (int j = 0; j < Armés.GetLength(1); j++) { if (soldatsAjoute < NbVivants) { if (Armés[i, j] != null && Armés[i, j].EstVivant) { temp[tempI, tempJ] = Armés[i, j]; tempJ++; if (tempJ == Positions.GetLength(1)) { tempJ = 0; tempI++; } soldatsAjoute++; } } } } Armés = temp; }
public bool VerifierLesMorts() { bool aReformer = false; int soldatCompte = 0; int tempNbVivants = 0; for (int i = 0; i < Armés.GetLength(0); i++) { for (int j = 0; j < Armés.GetLength(1); j++) { if (soldatCompte < NbVivants) { if (Armés[i, j] == null || !Armés[i, j].EstVivant) { aReformer = true; } else { tempNbVivants++; } } soldatCompte++; } } NbVivants = tempNbVivants; return(aReformer); }
void ToutDetruire() { for (int i = 0; i < Armés.GetLength(0); i++) { for (int j = 0; j < Armés.GetLength(1); j++) { Game.Components.Remove(Armés[i, j]); } } Armés = new SoldatDeArmée[(int)Math.Ceiling(Math.Sqrt(NombreSoldat)), (int)Math.Ceiling(Math.Sqrt(NombreSoldat))]; NbVivants = NombreSoldat; }
void ReformerArmee() { for (int i = 0; i < Armés.GetLength(0); i++) { for (int j = 0; j < Armés.GetLength(1); j++) { if (Armés[i, j] != null) { if (new Vector3(Armés[i, j].VarPosition.X, 5, Armés[i, j].VarPosition.Z) != Positions[i, j]) { Armés[i, j].ModifierPositionCible(PosFlag + Positions[i, j]); } } } } }
void CréerHitboxCaméra() { BoundingSphere temp = new BoundingSphere(); bool firstTime = true; int soldatsComptées = 0;; for (int i = 0; i < Armés.GetLength(0); i++) { for (int j = 0; j < Armés.GetLength(1); j++) { if (soldatsComptées <= NbVivants) { if (Armés[i, j] != null) { if (Armés[i, j].EstVivant) { if (EstDansLimiteTerrain(Armés[i, j])) { if (firstTime) { temp = BoundingSphere.CreateFromBoundingBox(Armés[i, j].HitBoxGénérale); firstTime = false; soldatsComptées++; } temp = BoundingSphere.CreateMerged(temp, BoundingSphere.CreateFromBoundingBox(Armés[i, j].HitBoxGénérale)); soldatsComptées++; } } } } } } Caméra.DonnerBoundingSphere(BoundingSphere.CreateMerged(temp, Flag.ViewFlag)); }