public void CulebraColas() { var punteo = 0; var velocidad = 100; //modificar estos valores y ver qué pasa var posiciónComida = Point.Empty; var tamañoPantalla = new Size(60, 20); var culebrita = new ColaLista(); var longitudCulebra = 5; //modificar estos valores y ver qué pasa var posiciónActual = new Point(0, 9); //modificar estos valores y ver qué pasa culebrita.insertar(posiciónActual); var dirección = Direction.Derecha; //modificar estos valores y ver qué pasa DibujaPantalla(tamañoPantalla); MuestraPunteo(punteo); while (cMoverLaCulebrita(culebrita, posiciónActual, longitudCulebra, tamañoPantalla)) { Thread.Sleep(velocidad); dirección = ObtieneDireccion(dirección); posiciónActual = ObtieneSiguienteDireccion(dirección, posiciónActual); if (posiciónActual.Equals(posiciónComida)) { posiciónComida = Point.Empty; longitudCulebra++; punteo += 10; MuestraPunteo(punteo); if (velocidad >= 40) { velocidad = (int)incrementaV(velocidad); } Console.Beep(); } if (posiciónComida == Point.Empty) { posiciónComida = cMostrarComida(tamañoPantalla, culebrita); } } Console.ResetColor(); Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2); Console.Write("Fin del Juego"); Thread.Sleep(2000); Console.ReadKey(); }
public bool cMoverLaCulebrita(ColaLista culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalcola(); if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.frentecola().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); //insertando en la cola de nuestra estructura Console.BackgroundColor = ConsoleColor.Blue; Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1); Console.Write(" "); // Quitar cola if (culebra.numElementos() > longitudCulebra) { var removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }