private static Point MostrarComida(Size screenSize, ColaConLista culebra) { var lugarComida = Point.Empty; var cabezaCulebra = (Point)culebra.finalColaConLista(); var rnd = new Random(); var coordenada = cabezaCulebra.X; do { var x = rnd.Next(0, screenSize.Width - 1); var y = rnd.Next(0, screenSize.Height - 1); if (culebra.ToString().All(x => coordenada != x || coordenada != 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); }
public void Ejercicio4() { 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 ColaConLista(); var longitudCulebra = 3; //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.Arriba; //modificar estos valores y ver qué pasa DibujaPantalla(tamañoPantalla); MuestraPunteo(punteo); while (MoverLaCulebrita(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++; //modificar estos valores y ver qué pasa punteo += 5; //modificar estos valores y ver qué pasa MuestraPunteo(punteo); velocidad -= 10; } if (posiciónComida == Point.Empty) //entender qué hace esta linea { posiciónComida = MostrarComida(tamañoPantalla, culebrita); } } // string cadena = "update total_punteos set Punteos='" + punteo + " where Id=" + 1; string rr = @"UPDATE `punteos`.`points` SET `Punteo`= '" + punteo + "' WHERE `Id`=" + '1'; new ClsConexion_1().EjecutaSQLDirecto(rr); //ClsConexion total = new ClsConexion(); //total.EjecutaSQLDirecto(cadena); Console.ResetColor(); Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2); Console.Beep(659, 125); Console.Write("Fin del Juego"); Thread.Sleep(2000); Console.ReadKey(); }
private static bool MoverLaCulebrita(ColaConLista culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalcolaLista(); 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.Blue; Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1); Console.WriteLine(" "); culebra.Insertar(posiciónObjetivo); int pausa1 = 0; Console.BackgroundColor = ConsoleColor.White; Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1); Console.Write(" "); // Quitar cola if (culebra.numElementosLista() > longitudCulebra) { var removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }
//ColaConLista static void opc33() { 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 ColaConLista(); var longitudCulebra = 3; //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.Arriba; //modificar estos valores y ver qué pasa DibujaPantalla(tamañoPantalla); MuestraPunteo(punteo); while (MoverLaCulebritaColaConLista(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++; //modificar estos valores y ver qué pasa punteo += 5; //modificar estos valores y ver qué pasa MuestraPunteo(punteo); velocidad -= 10; } if (posiciónComida == Point.Empty) //entender qué hace esta linea { posiciónComida = MostrarComidaColaConLista(tamañoPantalla, culebrita); } } Console.ResetColor(); Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2); Console.Beep(659, 125); Console.Write("Fin del Juego"); Thread.Sleep(2000); Console.ReadKey(); }
private static bool MoverLaCulebrita(ColaConLista culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalColaConLista(); if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.busquda(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.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 Point MostrarComida(Size screenSize, ColaConLista culebra) { var lugarComida = Point.Empty; var cabezaCulebra = (Point)culebra.frenteCola();//sustituir var rnd = new Random(); do { var x = rnd.Next(0, screenSize.Width - 1); var y = rnd.Next(0, screenSize.Height - 1); if (culebra.comida(x, y) &&//sustituir Math.Abs(x - cabezaCulebra.X) + Math.Abs(y - cabezaCulebra.Y) > 8) { lugarComida = new Point(x, y); } } while (lugarComida == Point.Empty); Console.BackgroundColor = ConsoleColor.Blue; Console.SetCursorPosition(lugarComida.X + 1, lugarComida.Y + 1); Console.Write(" "); return(lugarComida); }
public void jugarConIntentos() { var velocidad = 100; var posiciónComida = Point.Empty; var tamañoPantalla = new Size(60, 20); var culebrita = new ColaConLista(); var longitudCulebra = 3; var posiciónActual = new Point(0, 9); culebrita.insertar(posiciónActual); var dirección = Direction.Derecha; DibujaPantalla(tamañoPantalla); MuestraPunteoK(punteo, vidas); while (vidas != 0) { bool juegarsi = MoverLaCulebrita(culebrita, posiciónActual, longitudCulebra, tamañoPantalla); if (juegarsi) { 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; MuestraPunteoK(punteo, vidas); velocidad -= 10; } if (posiciónComida == Point.Empty) { posiciónComida = MostrarComida(tamañoPantalla, culebrita); } } else { vidas--; Console.ResetColor(); Console.SetCursorPosition(tamañoPantalla.Width / 2 - 15, tamañoPantalla.Height / 2); if (vidas == 0) { Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2); Console.Write($"¡GAME OVER!"); } else { Console.Write($"Haz perdido una vida, te quedan {vidas}"); } Thread.Sleep(2000); Console.ReadKey(); jugarConIntentos(); } } }