public void culebritaTest()
        {
            Console.Title = "Culebrita Cola con Lista";
            DirectionKey direction      = new DirectionKey();
            var          punteo         = 0;
            var          velocidad      = 80;
            var          posiciónComida = Point.Empty;
            var          tamañoPantalla = new Size(60, 20);
            ColaConLista n = new ColaConLista();
            var          longitudCulebra = 3;
            var          posiciónActual  = new Point(0, 9);

            n.Insertar(posiciónActual);
            var dirección = DirectionKey.Direction.Derecha;

            direction.DibujaPantalla(tamañoPantalla);
            direction.MuestraPunteo(punteo);

            while (MoverLaCulebrita1(n, posiciónActual, longitudCulebra, tamañoPantalla))
            {
                if (velocidad > 0)
                {
                    Thread.Sleep(velocidad);
                }
                dirección      = direction.ObtieneDireccion(dirección);
                posiciónActual = direction.ObtieneSiguienteDireccion(dirección, posiciónActual);

                if (posiciónActual.Equals(posiciónComida))
                {
                    posiciónComida = Point.Empty;
                    longitudCulebra++;;
                    punteo += 10;
                    direction.MuestraPunteo(punteo);
                    Console.Beep();
                    velocidad -= 3;
                }

                if (posiciónComida == Point.Empty)
                {
                    posiciónComida = MostrarComida1(tamañoPantalla, n);
                }
            }

            Console.ResetColor();
            Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2);
            Console.Write("Fin del Juego");
            Thread.Sleep(2000);
            new Game().Start();
        }
        private static bool MoverLaCulebrita1(ColaConLista culebra, Point posiciónObjetivo,
                                              int longitudCulebra, Size screenSize)
        {
            Nodo lista;

            lista = culebra.primero;
            Point lastPoint = (Point)culebra.frenteCola();

            if (lastPoint.Equals(posiciónObjetivo))
            {
                return(true);
            }

            for (int i = 0; i <= longitudCulebra && lista != null; i++)
            {
                if (lista.elemento.Equals(posiciónObjetivo))
                {
                    return(false);
                }
                lista = lista.siguiente;
            }
            if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width ||
                posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height)
            {
                return(false);
            }

            Console.BackgroundColor = ConsoleColor.Yellow;
            Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1);
            Console.WriteLine(" ");

            culebra.Insertar(posiciónObjetivo);
            Console.BackgroundColor = ConsoleColor.Red;
            Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1);
            Console.Write(" ");

            //quitar cola
            if (culebra.numElementosLista() > longitudCulebra)
            {
                Point removePoint = (Point)culebra.quitar();

                Console.BackgroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1);
                Console.Write(" ");
            }
            return(true);
        }