Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
En esta lección aprenderemos a construir el juego de Tres en raya sin utilizar archivos FXML. Crearemos toda la interfaz directamente desde el código Java, empleando las clases de layout HBox
y VBox
para organizar el tablero, y gestionaremos la interacción de los jugadores mediante eventos. Esta aproximación nos ayudará a comprender cómo generar interfaces dinámicas en JavaFX.
Hacer el juego del tres en raya para dos jugadores.
- Utilizando HBox y VBox, montaremos un tablero de 9 posiciones.
- Iremos almacenando en un array de 9 posiciones las casillas a las que se vaya moviendo cada jugador.
- Cada vez que un jugador pulse sobre una casilla, su color quedará modificado en función del jugador al que le tocaba mover.
- Además, ada vez que un jugador pulse sobre una posición quedará modificado un array con el identificador del jugador almacenado en la posición correspondiente. Para ello, podemos vincular a cada botón un atributo que recuperaremos en el momento en que el botón sea pulsado:
// Para añadir un atributo al botón
btn.getProperties().put("index", i);
// Para recuperar un atributo del botón:
int id = (int)b.getProperties().get("index");
- Después de cada tirada, se comprobará si alguien ha ganado, llamando al método evaluateWin(String [] tablero);
- El método evaluateWin(String [] tablero) mediante sucesivos if todas las posibilidades de que un jugador gane.
Resultado esperado
- Al ejecutar el programa, verás un tablero de 3×3 botones.
- Los jugadores pueden alternar turnos pulsando las casillas.
- Cuando alguien gana, se imprimirá un mensaje en la consola indicando el ganador.
¡Con esta implementación, ya tienes un juego funcional de Tres en raya construido completamente desde JavaFX sin FXML!