/// <summary> /// Method pour détecter un personnage à proximité avant de tenter de se déplacer /// </summary> /// <param name="listOfTroops">Liste des troupes</param> /// <param name="baseTroop">Troupe qui cherche un ennemi</param> /// <param name="indexMatrice">Taille de la grille du jeu</param> /// <returns>Une troupe ennemie détectée ou null si rien n'est détecté</returns> public Tools.Position CheckAroundForTroopMove(List <IBaseTroop> listOfTroops, IBaseTroop baseTroop, int indexMatrice) { List <Tools.Position> listOfValidPos = new List <Tools.Position>(); Tools.Position newPosLeft = Tools.Tools.IsPositionValid(listOfTroops, baseTroop.Position, ConsoleKey.LeftArrow, indexMatrice); Tools.Position newPosRight = Tools.Tools.IsPositionValid(listOfTroops, baseTroop.Position, ConsoleKey.RightArrow, indexMatrice); Tools.Position newPosUp = Tools.Tools.IsPositionValid(listOfTroops, baseTroop.Position, ConsoleKey.UpArrow, indexMatrice); Tools.Position newPosDown = Tools.Tools.IsPositionValid(listOfTroops, baseTroop.Position, ConsoleKey.DownArrow, indexMatrice); if (newPosLeft != null) { listOfValidPos.Add(newPosLeft); } if (newPosRight != null) { listOfValidPos.Add(newPosRight); } if (newPosUp != null) { listOfValidPos.Add(newPosUp); } if (newPosDown != null) { listOfValidPos.Add(newPosDown); } if (listOfValidPos.Count == 0) { return(null); } Random random = new Random(); Tools.Position newPosition = listOfValidPos[random.Next(0, listOfValidPos.Count)]; return(newPosition); }
/// <summary> /// Method pour vérifier les posistions valides du joueur /// </summary> /// <param name="listOfTroops">Liste des troupes</param> /// <param name="position">Position actuelle du joueur</param> /// <param name="key">Touche entrée par le joueur</param> /// <param name="indexMatrice">Taille de la grille</param> /// <returns>La position où doit se déplacer le joueur (null si aucune position valide)</returns> public Tools.Position CheckPlayer(List <IBaseTroop> listOfTroops, Tools.Position position, ConsoleKeyInfo key, int indexMatrice) { return(Tools.Tools.IsPositionValid(listOfTroops, position, key.Key, indexMatrice)); }