예제 #1
0
        protected override bool TestValidNode(Coordonnees coor)
        {
            if (coor == null)
            {
                throw new NullReferenceException("Les coordonnées de la node à valider sont nulles !");
            }
            if (!coor.EstValide())
            {
                throw new InvalidOperationException("Les coordonnées renseignées ne sont pas valides");
            }
//            var node = (Node<Case>)tableau[i, j];
            var            node = (Node <Case>)Tableau.ElementAt(coor);
            CaseAgeOfKebab c    = (CaseAgeOfKebab)node.Value;

//            CaseAgeOfKebab c = node.Value as CaseAgeOfKebab;
            if (c == null)
            {
                throw new NullReferenceException("Le type de case ne correspond pas !!");
            }
            if (!c.Walkable)
            {
                //Console.WriteLine("Cette case n'est pas Walkable ! " + node.Coor);
                return(false); // la case n'est pas valide si elle n'est pas Walkable !
            }
            return(true);
        }