static void Main(string[] args) { bool victoria = false; Random r = new Random(); ConsoleKeyInfo intro; int fila, columna; int[] turno = { 0, 1 }; // 1 jugador, 0 ordenador char[] valor = { 'X', 'O' }; string mensaje = ""; string continuar = "Pulsa intro para continuar"; Tablero tableroJugador = new Tablero(); Tablero tableroOrdenador = new Tablero(); Tablero tableroOponente = new Tablero(); // el jugador coloca los barcos tableroJugador.Rellenar(); Console.WriteLine("Tu tablero:"); tableroJugador.MostrarTablero(); Console.WriteLine("Generando barcos del ordenador..."); // se colocan los barcos del ordenador tableroOrdenador.Generar(); Console.WriteLine("Tablero ordenador:"); tableroOrdenador.MostrarTablero(); Console.WriteLine("Proceso finalizado. Pulsa intro para comenzar!"); intro = Console.ReadKey(true); Console.WriteLine(intro.KeyChar); if (intro.KeyChar == 13) { Console.WriteLine("has pulsado enter."); while (!victoria) { Console.Clear(); Console.WriteLine("Turno del jugador."); Console.WriteLine("Introduce fila (0 - 7):"); try { fila = Convert.ToInt16(Console.ReadLine()); while (fila > 8 || fila < 0) { Console.WriteLine("Introduce una fila correcta:"); fila = Convert.ToInt16(Console.ReadLine()); } Console.WriteLine("Introduce columna (0 - 7):"); columna = Convert.ToInt16(Console.ReadLine()); while (columna > 8 || columna < 0) { Console.WriteLine("Introduce una columna correcta:"); columna = Convert.ToInt16(Console.ReadLine()); } mensaje = tableroOrdenador.Turnos(fila, columna, turno[1]); if (mensaje == "Agua") { Console.WriteLine(mensaje); tableroOponente.TableroOponente(fila, columna, valor[1]); } else if (mensaje == "Tocado.") { Console.WriteLine(mensaje); tableroOponente.TableroOponente(fila, columna, valor[0]); } else if (mensaje == "Tocado y hundido.") { Console.WriteLine(mensaje); tableroOponente.TableroOponente(fila, columna, valor[0]); } } catch (Exception e) { Console.WriteLine("error: {0}", e); } if (mensaje == "Victoria!!!") { victoria = true; Console.WriteLine("Victoria del jugador! \nFIN DE JUEGO"); } Console.WriteLine(continuar); intro = Console.ReadKey(true); Console.WriteLine(intro.KeyChar); while (intro.KeyChar != 13) { Console.WriteLine(continuar); intro = Console.ReadKey(true); } Console.Clear(); Console.WriteLine("Turno del ordenador."); Console.WriteLine("Introduce fila (0 - 7):"); fila = r.Next(0, 8); Console.WriteLine("Fila: {0} ", fila); Console.WriteLine("Introduce Columna (0 - 7):"); columna = r.Next(0, 8); Console.WriteLine("Columna: {0} ", columna); mensaje = tableroJugador.Turnos(fila, columna, turno[0]); if (mensaje == "Victoria!!!") { victoria = true; Console.WriteLine("Victoria del ordenador! \nFIN DE JUEGO"); } Console.WriteLine("Turno ordenador: {0} ", mensaje); Console.WriteLine(continuar); intro = Console.ReadKey(true); Console.WriteLine(intro.KeyChar); while (intro.KeyChar != 13) { Console.WriteLine(continuar); intro = Console.ReadKey(true); } } } else { Console.WriteLine("NO has pulsado enter."); } Console.ReadKey(); }
public static void Main(string[] args) { Tablero tablero_jugador = new Tablero(); Tablero tablero_ordenador = new Tablero(); tablero_jugador.Rellenar(); tablero_ordenador.Generar(); Console.WriteLine("Proceso finalizado. Pulsa Intro para comenzar!"); Console.ReadKey(); bool ganador = false; bool turno_jugador = true; Barco barco_actual; Casilla casilla_actual; int x; int y; do { Console.Clear(); if (turno_jugador) { Console.WriteLine("Turno del jugador."); Console.WriteLine("Introduce fila (1 - {0}):", Tablero.width); while (!int.TryParse(Console.ReadLine(), out x) || x < 1 || x > Tablero.width) { Console.WriteLine("Error, debe introducir un número válido para la fila. Vuelva a intentarlo:"); } Console.WriteLine("Introduce fila (1 - {0}):", Tablero.height); while (!int.TryParse(Console.ReadLine(), out y) || y < 1 || y > Tablero.height) { Console.WriteLine("Error, debe introducir un número válido para la columna. Vuelva a intentarlo:"); } x -= 1; y -= 1; casilla_actual = tablero_ordenador.GetPieza(x, y); if (casilla_actual.GetEstado().Equals(Casilla.Estados.BARCO)) { casilla_actual.SetEstado(Casilla.Estados.TOCADO); } else { Console.WriteLine("AGUA"); } barco_actual = tablero_ordenador.GetBarcoTablero(x, y); if (null != barco_actual) { if (barco_actual.EstaHundido()) { Console.WriteLine("TOCADO Y HUNDIDO"); } else if (barco_actual.EstaTocado()) { Console.WriteLine("TOCADO"); } } tablero_ordenador.MostrarOcuto(); if (tablero_ordenador.TodosHundidos()) { ganador = true; } else { turno_jugador = false; Console.WriteLine("Pulsa Intro para continuar..."); Console.ReadKey(); } } else { Console.WriteLine("Turno del ordenador."); Random rnd = new Random(); x = rnd.Next(0, Tablero.width); y = rnd.Next(0, Tablero.height); Console.WriteLine("Fila {0}, Columna {1}", y + 1, x + 1); casilla_actual = tablero_jugador.GetPieza(x, y); if (casilla_actual.GetEstado().Equals(Casilla.Estados.BARCO)) { casilla_actual.SetEstado(Casilla.Estados.TOCADO); } else { Console.WriteLine("AGUA"); } barco_actual = tablero_jugador.GetBarcoTablero(x, y); if (null != barco_actual) { if (barco_actual.EstaHundido()) { Console.WriteLine("TOCADO Y HUNDIDO"); } else if (barco_actual.EstaTocado()) { Console.WriteLine("TOCADO"); } } tablero_jugador.Mostrar(); if (tablero_jugador.TodosHundidos()) { ganador = true; } else { turno_jugador = true; Console.WriteLine("Pulsa Intro para continuar..."); Console.ReadKey(); } } } while (!ganador); tablero_jugador.Mostrar(); tablero_ordenador.Mostrar(); if (turno_jugador) { Console.WriteLine("\nGANO EL JUGADOR"); } else { Console.WriteLine("\nGANO EL ORDENADOR"); } Console.ReadKey(); }
public static void Main(string[] args) { bool turnoJugador = true; bool victoriaJugador = false; bool victoriaOrdenador = false; bool validaIntro; int fila = 0; int columna = 0; Tablero tableroJugador = new Tablero(); Tablero tableroOrdenador = new Tablero(); tableroOrdenador.Generar(); tableroJugador.Rellenar(); do { Console.Clear(); if (turnoJugador) { Console.WriteLine("TURNO DEL JUGADOR"); Console.WriteLine(); tableroOrdenador.PintarTablero(true); Console.WriteLine(); do { try { validaIntro = false; Console.Write("Introduzca Fila (1-8): "); fila = Convert.ToInt32(Console.ReadLine()); } catch (FormatException) { Console.WriteLine("La fila debe contener un número"); validaIntro = true; } } while (validaIntro); do { try { validaIntro = false; Console.Write("Introduzca Columna (1-8): "); columna = Convert.ToInt32(Console.ReadLine()); } catch (FormatException) { Console.WriteLine("La columna debe contener un número"); validaIntro = true; } } while (validaIntro); string respuesta = tableroOrdenador.ComprobarCasilla(fila, columna); Console.WriteLine(respuesta); tableroOrdenador.PintarTablero(true); Console.Write("Pulse intro para continuar"); Console.ReadLine(); victoriaJugador = tableroOrdenador.ComprobarVictoria(); turnoJugador = false; } else { Console.WriteLine("TURNO DEL ORDENADOR"); Console.WriteLine(); Random rand = new Random(); fila = rand.Next(8) + 1; columna = rand.Next(8) + 1; string respuesta = tableroJugador.ComprobarCasilla(fila, columna); Console.WriteLine("Fila: {0}, Columna: {1}", fila, columna); Console.WriteLine(respuesta); tableroJugador.PintarTablero(false); Console.Write("Pulse intro para continuar"); Console.ReadLine(); victoriaOrdenador = tableroJugador.ComprobarVictoria(); turnoJugador = true; } } while (!victoriaJugador && !victoriaOrdenador); if (victoriaJugador) { Console.WriteLine("HAS GANADO"); } else { Console.WriteLine("HAS PERDIDO"); } }