No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Adquiere por un año todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
15H
7M
32S

Agregar un token play to earn

8/15
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Esta es mi versión del TicTactoe con los retos hasta el momento
https://github.com/Miguer-dev/tic-tac-toe.git

En las casillas disponibles tengo otra solución que CREO que puede optimizar el codigo.

    struct Partida {
        address jugador1;
        address jugador2;
        address ganador;
        uint[4][4] jugadas;
        address ultimoTurno;
        uint camposDisponibles;
    }

Le añadimos un nuevo atributo a Partida llamado “camposDisponibles”, en la funcion crearPartida, hacemos esto:

partida.camposDisponibles = 9;

Le asignamos 9, ya que tictactoe siempre tiene 9 casillas disponibles.

En la funcion jugar, cada, añadimos esta validación, antes de la ejecución del codigo.

        require (partida.camposDisponibles > 0, "No ha habido ganador, la partida se cerro");

y al final de esa función anadimos:

        if (partida.camposDisponibles > 0) {
            partidas[idPartida].camposDisponibles--;
        }

al final lo que hice aca es evitar leer constantemente por medio de dos for o while leer el storage y simplemente ir cambiando restando las casillas disponibles por cada jugada exitosa.