Beispiel #1
0
        private static bool MoverLaCulebrita(ColaLineal culebra, Point posiciónObjetivo,
                                             int longitudCulebra, Size screenSize)
        {
            try
            {
                var lastPoint = (Point)culebra.finalCola();

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


                if (culebra.Equals(posiciónObjetivo))
                {
                    return(false);
                }


                if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width ||
                    posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height)
                {
                    return(false);
                }
                Console.BackgroundColor = ConsoleColor.DarkMagenta;
                Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1);
                Console.WriteLine(" ");

                culebra.insertar(posiciónObjetivo);

                Console.BackgroundColor = ConsoleColor.DarkGray;
                Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1);
                Console.Write(":");

                // Quitar cola
                if (culebra.el() > (longitudCulebra))
                {
                    var removePoint = (Point)culebra.quitar();
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1);
                    Console.Write(" ");
                }
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error=" + e.Message);
                return(false);
            }
        }