Saltar la navegación

Proyecto final. Tres en Raya.

Objetivo

Tic-tac-toe

Juego de mesa para dos jugadores y gana el primero en poner tres marcas iguales en línea, usualmente círculos y cruces, dentro de una cuadrícula de tres casillas de ancho por tres de alto.

El juego se complica si lo diseñamos para un jugador contra la máquina. 

Ejemplo de Tic-Tac-Toe

Manos a la obra

Plantea como vas a crear un tablero de 3x3

Observa el código de los ejemplos de eventos  y crea el tablero 3x3 bien con botones o una tabla

Ahora tenemos que resolver si pongo O o X en el tablero dependiendo del jugador

Necesitaremos una variable tipo bandera para controlar el turno.

Si la casilla está vacía y dependiendo del turno colocamos X o O en cada casilla o botón

Este proceso será repetitivo por tanto la mejor opción es crear  una function que devuelva el carácter X o O :

  • Indica el nombre de la función
  • Qué parámetros tiene.
  • Que resuelve esta función.
  • Que valor nos devuelve.
  • Dónde voy a usar la función

Una vez colocada cada ficha hay que comprobar la partida

  • La partida no ha terminado
  • la partida ha terminado.
    • Ha ganado algún jugador.
    • Hay empate

Nos encontramos de nuevo con un proceso repetitivo. Piensa qué es lo que necesitas

¿Como saber el estado de la partida?

Necesitamos guardar en alguna variable o grupo de variables (9 variables) el estado en el que se encuentra cada celda de la tabla (vacía, X, O). Elige qué estructura de datos necesitas y codifica los 3 estados en los que puede estar esta estructura de datos.

Examinando los valores de dicha estructura, podremos conocer el estado de la partida. A continuación podemos ver una forma de asociar el estado de la partida con una estructura de datos.

X X O
X O
O

       ===>

2 2 1
0 2 1
0 1 0

Creado con eXeLearning (Ventana nueva)