[ Foro de C# ]
Hola como estan? Quisiera saber si el ejercicio esta bien o q le faltaria agregar o cambiar y si me pueden explicar un poco mas a fondo lo de las funciones GET q no logro entender su funcion exacta.
Saludos y gracias.
public class Bienvenida
{
bool salir;
public bool GetSalir()
{
return salir;
}
public void LanzarB()
{
Console.Write("Bienvenido a D GAME!\nPulsa \"intro\" para jugar o \"ESC\" para salir.\n");
ConsoleKeyInfo tecla = Console.ReadKey();
if (tecla.Key==ConsoleKey.Escape)
{
salir = true;
}
else
{
salir = false;
}
}
}
public class Partida
{
public void LanzarP()
{
Console.Write("******************************\n");
Console.Write("******************************\n");
Console.Write("******************************\n");
Console.Write("******************************\n");
Console.Write("Esta seria la pantalla para jugar.\nPulsa \"intro\" para irte.\n");
Console.ReadKey();
}
}
public class Juego
{
public void Lanzar()
{
Bienvenida hola = new Bienvenida();
Partida game = new Partida();
while (hola.GetSalir()==false)
{
hola.LanzarB();
game.LanzarP();
}
}
public static void Main()
{
Juego el = new Juego();
el.Lanzar();
}
}
Imagino que el ejercicio 6.3.5 es
Ejercicio propuesto 6.3.5: Amplía el esqueleto del ConsoleInvaders (ejercicio 6.3.4): El método Lanzar de la clase Bienvenida escribirá en pantalla "Bienvenido a Console Invaders. Pulse Intro para jugar o ESC para salir". Puedes comprobar si se pulsa ESC con "ConsoleKeyInfo tecla = Console.ReadKey(); if (tecla.Key == ConsoleKey.Escape) salir = true;". El código de la tecla Intro es " ConsoleKey.Enter". También puedes usar "Console.Clear();" si quieres borrar la pantalla. Añade un método "GetSalir" a la clase Bienvenida, que devuelva "true" si el usuario ha escogido Salir o "false" si ha elegido Jugar. El método Lanzar de la clase Juego repetirá la secuencia Bienvenida-Partida hasta que el usuario escoja Salir.
Si es así, en general está bien. Apenas un par de correcciones:
- No uses tanto "\n", es un arcaísmo de los tiempos de C, que hace el código poco legible, y que no necesariamente va a ser portable entre plataformas.
- Usa métodos Lanzar, no les cambies el nombre a "LanzarB", "LanzarP", etc., porque ya aparecerá delante el nombre del objeto que estás lanzando.
Pero la lógica parece correcta y el uso del GetSalir es bueno.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)