Juego tres en raya en Java (Interfaz gráfica NetBeans)

Logo Java

En Java podemos programar básicamente todo lo que se nos ocurra, solo basta con poner a funcionar nuestra imaginación; desde Software para empresas, juegos, aplicaciones de todo tipo. Hoy veremos cómo podemos programar de forma sencilla el juego tres en raya en Java. Sin más empecemos.

Programar juego tres en raya en Java (Interfaz gráfica)

Modo de juego: El muy conocido juego tres en raya, consta de 9 casillas sobre las cuales cada jugador debe elegir una en su turno; quien logre hacer una línea de 3 símbolos (X – O) es el ganador. Cuando ninguno de los jugadores logra tres símbolos consecutivos e juego se cierra y se define empate.

 Ejemplo de tres en raya en papel

juego tres en raya en java

Interfáz gráfica del juego tres en raya en Java

Juego tres en raya en Java: Para programar este juego en Java empezamos construyendo la siguiente interfaz (JFrame):

juego tres en raya en java

Los nombres indicados con flechas son componentes de tipo JLabel; puedes lograr el tablero con las líneas muy fácilmente con una imagen de fondo.

Nota: Es importante crear los JLabel de forma individual para indicar donde pulsará el jugador la opción deseada (L1…L9).

Las etiquetas con nombres: pj1 y pj2 servirán para registrar el marcador entre los jugadores.

Definiendo variables para el manejo del juego

Para declarar las variables que permitirán gestionar el funcionamiento del juego. Dirígete a la pestaña código del formulario y en la parte superior deberás definir las variables propuestas a continuación.

juego tres en raya en java

Las variables: c1,c2..c9: servirán para registrar que hay en cada posición, recordemos que podrán contener “x” – “o”.

La variable “t”, será utilizada para manejar el turno: “0” para el primer jugador y “1” para el segundo, así mismo las variables j1 y j2 almacenarán las partidas ganadas por cada jugador, por lo tanto irán incrementando a medida que estos ganen.

Método 1: Ganador

Este método nos permitirá conocer el ganador de la partida, contiene todas las combinaciones necesarias para definirlo haciendo uso de condicionales.

juego tres en raya en java

El código anterior es muy sencillo, ejemplo: si deseamos verificar si un jugador logró la línea superior con “x” solo basta con hacer la comparación con las variables “c1, c2 y c3“. Estas variables las llenaremos desde el evento clic de cada JLabel.

Algo importante a resaltar es que al momento de mostrar el mensaje del ganador, incrementamos la variable j1 o j2 según el caso; esto para asignar un punto por la partida ganada.

Método 2: Opción

juego tres en raya en java

El método opción se encargará de asignar a las variables “c1,c2,…c9”. El valor correspondiente “x”,”o”; esto será dependiendo el turno que se encuentre activo “0”, “1”.

Método 3: Jugar

juego tres en raya en java

Este método se encarga de recibir el valor del turno actual, así mismo asigna una “x” o “o”, al JLabel sobre el cual se hizo clic; cómo podemos observar este método llama al método Opción pasándole el turno y el número de la casilla “1,2…9”.

Nota: Las imágenes referenciadas en el código deberás añadirlas a tu proyecto; de lo contrario no serán encontradas y tendrás errores en el código.

Evento clic de cada JLabel: L1,L2…L9

Ahora hacemos clic derecho sobre el primer JLabel (L1) y seleccionamos Eventos, Mouse, MouseReleased y codificamos:

juego tres en raya en java

Esta misma operación deberás realizarla en los 8 JLabel restantes; cambiando el número de la casilla claro está. Por lo tanto para el segundo JLabel sería:

juego tres en raya en java

De esta forma terminanos la construcción del juego tres en raya en Java. Veamos a continuación como sería su funcionamiento.

Juego tres en raya en Java en funcionamiento

Tres en raya en Java en funcionamiento

Sin duda existen muchas formas de abarcar la programación de este juego, esta es una de las tantas que podemos ocupar; así mismo podemos añadir funcionalidades adicionales haciendo uso de creatividad. Como es mostrar un mensaje cuando la partida queda empate, subrayar las casillas que conformar la raya o línea al ganar, en fin solo debes poner a jugar tu imaginación y escribirlo en código.