Итак, у меня проблема прямо здесь, и вот как это работает:
Если я играю в игру и нажимаю на красное поле на моем экране, это показывает, что оба игрока получают очко.
Но на экране моего оппонента - только противник (я) получает очко, поэтому он работает правильно.
Так что это работает на моем экране, когда противник нажимает кнопку, и я вижу, что он получает очко, но если я нажимаю кнопку, тогда оба игрока получают очко, но на экране моего оппонента, пока я не обновлю страницу, я получу очко , Это мой код:
Клиентская сторона:
socket.on('get-point', (data) => {
var socketID = data.socketID;
if(socketID === $("#socketID").text()) {
document.getElementById("user-points").innerHTML = data.points;
console.log('ID: ' + $("#socketID").text());
} else {
socket.emit('opponent-get-point');
}
});
socket.on('opponent-get-point', (dataOpponent) => {
document.getElementById("opponent-points").innerHTML = dataOpponent.points;
console.log('oppoent gets point');
});
Серверная сторона:
socket.on('quad-box-clicked', () => {
io.emit('get-point', {
points: points = points + 1,
socketID: socket.id
});
});
socket.on('opponent-get-point', () => {
io.emit('opponent-get-point', {
points: opponentPoints = opponentPoints + 1,
});
});