таймер в Java: счетчик застрял на 1 - PullRequest
0 голосов
/ 02 мая 2018

Обычно я делаю поворот таймера для сетевой игры, поэтому, если таймер нажмет 0, ход будет отдан другому игроку. Если игрок делает ход, а таймер по-прежнему не достигает 0, счетчик сбрасывается с 10. Я не знаю своих ошибок по таймеру.

timer.scheduleAtFixedRate(new TimerTask() {
  @Override
  public void run() {
    counter++;
    if(counter % second == 0){
      System.out.println("Times Up");
      TimeOut();
    }
    if(command.startsWith("BOX1")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX2")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX3")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX4")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX5")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX6")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX7")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX8")) {
      counter=0;
      counter++;
    }
    if(command.startsWith("BOX9")) {
      counter=0;
      counter++;
    }
    else{
      System.out.println("Time left:" + (second - (counter %second)) );
    }
  }
}, 3000, 3000);

Таким образом, когда мой сервер получает BOX1 (клиент делает движение), таймер должен быть установлен в 0 и снова увеличен, но мой счетчик застрял на 1

enter image description here

...