У меня проблема с реализацией моей Игры Жизни в Java.
В GUI У меня есть кнопки, которые определяют начальное состояние игры (осциллятор, планер и т. Д. c), затем, используя Action Listener, я установил первую доску и показал ее.
Затем у меня есть функция, которая подсчитывает соседей моей ячейки и устанавливает цвета моих ячеек. Но у меня есть проблема, когда я хочу повторить игру n раз, потому что я не знаю, как установить интервал времени.
В данный момент я вижу не каждый шаг игры, а только последний.
Ниже мой ActionListener:
private ActionListener buttonsListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == button1)area = setButton1(getBoardWidth(), getBoardHeight());
if (source == glider) area = setGlider(getBoardWidth(), getBoardHeight());
if (source == oscilator) area = setOscilator(getBoardWidth(), getBoardHeight());
setBoard(area, board);
}
};
Функция setBoard()
занимает массив целых чисел с 0 и 1 и преобразование его в массив JButton[][]
с цветами.
Я попытался использовать переопределенный метод run()
, который включает функцию startTheGame()
, которая проверяет окрестность и устанавливает массив целых чисел. Мне нужно сделать это несколько раз, но я не могу установить интервалы времени.
@Override
public void run() {
startTheGame(area);
setBoard(area, board);
}