Example #1
0
        /// <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);
        }
Example #2
0
 /// <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));
 }