Слишком медленное изменение цвета кнопки - PullRequest
0 голосов
/ 22 ноября 2011

В настоящее время я делаю игру Реверси для своего класса программирования, и я хотел попробовать внедрить компьютер в игру.Я успешно с этим справился, но компьютер мгновенно делает их ход, поэтому вы не видите, как он работал.

Я попытался решить эту проблему, используя следующий метод:

public void wait (int n) {
    long t0, t1;
    t0 = System.currentTimeMillis();
    do {
        t1 = System.currentTimeMillis();
    } while ((t1-t0) < n);
}

Iзатем вызвал этот метод после того, как игрок сделал свой ход, прямо перед тем, как он вызвал мой метод * 1006. *из-за того, что игрок щелкает, фон меняется на светло-серый по умолчанию, а затем, через несколько секунд, он выполняет изменения цвета вашего хода и компьютеров.

У всех есть предложения по исправлению этой ситуации.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

Вам может потребоваться не только изменить свойство цвета кнопки, но и достаточно часто вызывать ее метод .repaint() или даже .update(), например. каждые 100 мс То есть вам нужно заставить кнопку фактически перерисовывать себя на экране тогда, когда вам это нужно, а не тогда, когда система определяет, что у нее есть время для визуализации накопленных изменений.

0 голосов
/ 22 ноября 2011

Использование:

Thread.sleep(5000);

Это заставляет текущий поток спать в течение 5 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...