private static bool MoverLaCulebrita1(ColaCircular culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { Point lastPoint = (Point)culebra.frenteCola(); if (lastPoint.Equals(posiciónObjetivo)) { return(true); } int i = culebra.listaCola.Length - 1; do { if (culebra.listaCola[i] != null) { if (culebra.listaCola[i].Equals(posiciónObjetivo)) { return(false); } } i--; } while (i > 0); if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width || posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height) { return(false); } Console.BackgroundColor = ConsoleColor.Gray; 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.ultimo > longitudCulebra) { Point removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }
private static bool MoverLaCulebrita(ColaCircular culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalcolaCircular();//cambio if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.ToString().Any(x => x.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.Green; 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.size() > longitudCulebra) //cambio { var removePoint = (Point)culebra.quitar(); //cambio Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }