/* FIN ATRIBUTOS */

        /* CONSTRUCTOR */

        public Laberinto(ListTerm laberinto, ListTerm trofeos, int inicio, int final, int dimX, int dimY)
        {
            this.laberinto = new List <int>();
            Trofeos        = new List <int>();

            ListTerm    aux = laberinto;
            IntegerTerm car = (IntegerTerm)aux.car.Dereference();

            this.Inicio = inicio;
            this.Final  = final;
            this.DimX   = dimX;
            this.DimY   = dimY;

            /* TRANSFORMANDO A LISTA */
            /* TRANSFORMANDO LABERINTO*/
            while (!aux.IsNil())
            {
                if (!aux.cdr.IsNil())
                {
                    aux = (ListTerm)aux.cdr.Dereference();
                }
                else
                {
                    lab.Add(car.IntValue());
                    break;
                }
                this.laberinto.Add(car.IntValue());
                car = (IntegerTerm)aux.car.Dereference();
            }

            /* TRANSFORMANDO TROFEOS */
            aux = trofeos;
            car = (IntegerTerm)aux.car.Dereference();

            while (!aux.IsNil())
            {
                if (!aux.cdr.IsNil())
                {
                    aux = (ListTerm)aux.cdr.Dereference();
                }
                else
                {
                    Trofeos.Add(car.IntValue());
                    break;
                }
                Trofeos.Add(car.IntValue());
                car = (IntegerTerm)aux.car.Dereference();
            }
        }