private static Point MostrarComidaColaLineal(Size screenSize, ColaLineal culebra) { var lugarComida = Point.Empty; var cabezaCulebra = (Point)culebra.finalCola(); var rnd = new Random(); var Px = cabezaCulebra.X; var Py = cabezaCulebra.Y; do { var x = rnd.Next(0, screenSize.Width - 1); var y = rnd.Next(0, screenSize.Height - 1); if (culebra.ToString().All(p => Px != x || Py != y) && Math.Abs(x - cabezaCulebra.X) + Math.Abs(y - cabezaCulebra.Y) > 8) { lugarComida = new Point(x, y); Console.Beep(659, 125); } } while (lugarComida == Point.Empty); Console.BackgroundColor = ConsoleColor.Blue; Console.SetCursorPosition(lugarComida.X + 1, lugarComida.Y + 1); Console.Write(" "); return(lugarComida); }
private static bool MoverLaCulebritaColaLineal(ColaLineal culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalCola(); int pausa = 0; if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.ToString().Any(x => x.Equals(posiciónObjetivo))) { return(false); } //if (culebra.Any(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); int pausa1 = 0; Console.BackgroundColor = ConsoleColor.Red; Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1); Console.Write(" "); // Quitar cola if (culebra.tamaño() > longitudCulebra) { var removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }
private bool MoverLaCulebrita(ColaLineal culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalCola(); if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.choque(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.numdeelementos() > longitudCulebra) { var removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }