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 鈥渃amposDisponibles鈥, 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.