Si se realizan varias peticiones una tras otra llega el momento en que en la misma página tienes un boleano diferente, es decir que puedes tener 1 "X" con 8 "O"s o 1 "O" con 8 "X"s. ¿Qué me recomiendas hacer para solucionar ese error? (no sé si sea sólo yo o el código guía también presenta este inconveniente).
Este es mi código:
const express = require('express');
const socketio = require('socket.io');
var app = express();
app.io = socketio();
var figure = true;
app.io.on('connection',(socket) => {
console.log('conectado');
socket.emit('init',{figure});
figure = !figure;
})
module.exports = app;
(
() => {
let juego = true;
function jugar(elementoSeleccionado) {
let p = document.createElement('p');
p.style.fontWeight ='bold';
p.style.top = '42%';
p.style.right = '47%';
p.style.display = 'inline';
p.style.position = 'absolute';
p.innerHTML = juego ? 'X' : 'O';
elementoSeleccionado.appendChild(p);
}
let elements = document.querySelectorAll('.cat-element');
elements.forEach(element => {
element.addEventListener('click',function() {
if(!this.hasChildNodes()) jugar(this);
});
});
let socket = io();
socket.on('connect',() => {
socket.on('init',data => {
juego = data.figure;
});
});
}
)();
Este es mi código:
const express = require('express');
const socketio = require('socket.io');
var app = express();
app.io = socketio();
var figure = true;
app.io.on('connection',(socket) => {
console.log('conectado');
socket.emit('init',{figure});
figure = !figure;
})
module.exports = app;
(
() => {
let juego = true;
function jugar(elementoSeleccionado) {
let p = document.createElement('p');
p.style.fontWeight ='bold';
p.style.top = '42%';
p.style.right = '47%';
p.style.display = 'inline';
p.style.position = 'absolute';
p.innerHTML = juego ? 'X' : 'O';
elementoSeleccionado.appendChild(p);
}
let elements = document.querySelectorAll('.cat-element');
elements.forEach(element => {
element.addEventListener('click',function() {
if(!this.hasChildNodes()) jugar(this);
});
});
let socket = io();
socket.on('connect',() => {
socket.on('init',data => {
juego = data.figure;
});
});
}
)();