No tienes acceso a esta clase

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

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?

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.