socketi.io оба игрока получают очко - PullRequest
0 голосов
/ 19 ноября 2018

Итак, у меня проблема прямо здесь, и вот как это работает:

  1. Если я играю в игру и нажимаю на красное поле на моем экране, это показывает, что оба игрока получают очко.

  2. Но на экране моего оппонента - только противник (я) получает очко, поэтому он работает правильно.

Так что это работает на моем экране, когда противник нажимает кнопку, и я вижу, что он получает очко, но если я нажимаю кнопку, тогда оба игрока получают очко, но на экране моего оппонента, пока я не обновлю страницу, я получу очко , Это мой код: Клиентская сторона:

  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,
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...