Skip to content

Este es un sencillo juego de Batalla Naval implementado en Java, ejecutado en la consola. El objetivo es hundir todos los barcos del oponente (en este caso, barcos colocados aleatoriamente en un tablero).

Notifications You must be signed in to change notification settings

draexx/batallaNaval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Batalla Naval

Codacy Badge

Este es un sencillo juego de Batalla Naval implementado en Java, ejecutado en la consola. El objetivo es hundir todos los barcos del oponente (en este caso, barcos colocados aleatoriamente en un tablero).

Descripción del Juego

El juego se desarrolla en un tablero de 10x10. Se despliegan varios tipos de barcos:

  • Portaaviones (tamaño 4)
  • Submarino (tamaño 3)
  • Patrulla (tamaño 2)
  • Lancha (tamaño 1)

Los jugadores introducen coordenadas (X, Y) para disparar a los barcos. El juego informa si el disparo fue "Agua", "Tocado" o si un barco ha sido "Hundido". El juego termina cuando todos los barcos han sido hundidos.

Cómo Compilar

El proyecto utiliza una estructura de directorios estándar de Java. Para compilar el juego:

  1. Asegúrate de tener un JDK (Java Development Kit) instalado.

  2. Navega a la raíz del repositorio en tu terminal.

  3. Crea un directorio para los archivos compilados (por ejemplo, out):

    mkdir -p out/production/batallaNaval
  4. Compila los archivos Java:

    find src -name "*.java" > sources.txt
    javac -d out/production/batallaNaval @sources.txt

    O, si prefieres compilar manualmente cada paquete (aunque find es más robusto):

    # Ejemplo (ajusta según sea necesario si la estructura de paquetes cambia)
    # javac -d out/production/batallaNaval src/clases/coordenada/*.java src/clases/interfazbarcos/*.java src/clases/barco/*.java src/clases/campobatalla/*.java src/Main.java

Cómo Ejecutar

Una vez compilado, puedes ejecutar el juego desde la raíz del proyecto:

java -cp out/production/batallaNaval Main

El juego te pedirá que introduzcas las coordenadas X e Y para cada disparo.

Nota Importante

  • Superposición de Barcos: Actualmente, existe la posibilidad de que los barcos se superpongan al ser generados aleatoriamente en el tablero. Esta es una limitación conocida del estado actual del juego y no fue abordada en la refactorización reciente, ya que requeriría implementar una lógica de validación de posiciones más compleja.

Contribuir

¡Las contribuciones son bienvenidas! Si deseas mejorar el juego, por favor considera hacer un fork del repositorio y enviar un Pull Request. Algunas áreas de mejora podrían ser:

  • Implementar una interfaz gráfica.
  • Añadir un modo de dos jugadores.
  • Solucionar el problema de superposición de barcos.
  • Añadir tests unitarios.

About

Este es un sencillo juego de Batalla Naval implementado en Java, ejecutado en la consola. El objetivo es hundir todos los barcos del oponente (en este caso, barcos colocados aleatoriamente en un tablero).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •