-2
Я создаю игровой графический интерфейс для удовольствия, используя кости. Код выглядит примерно так:Рекурсивно вызывающие игровые классы в Java
public class run {
//set up frame
Game game = new Game();
game.run();
}
public class Game {
public void run() {
Round round = new Round();
int playerWhoLostADie = round.run();
//handle if the game ends
//otherwise, call recursively
run(playerWhoLostADie);
}
}
public class Round {
public int run() {
Turn turn = new Turn();
Bet bet = turn.run();
//if the round is over
return(currentPlayer);
//otherwise, call recursively
run(bet);
}
}
public class Turn {
public Bet run() {
//handle betting
return bet;
}
}
Вызывает раунды и превращает рекурсивно разумный способ сделать это? Должен ли я использовать отдельные потоки, чтобы избежать замораживания GUI, и если да, то как?
Нет, независимо от того, что вы делаете, ** не ** используйте рекурсию для любого из этого. И, вероятно, нет необходимости напрямую использовать потоки. Просто используйте Swing Timer. –
Я знаком с использованием таймеров для отложенных задач. Как вы порекомендовали бы использовать их в этом случае? –
Я не вижу никакого способа дать конкретный совет тому, что вы опубликовали, только общие рекомендации, как я уже сказал. Если вам нужен более конкретный ответ, вам нужно будет увеличить качество размещенной информации, включая предоставление нам гораздо лучшего представления о вашей структуре программы и более полезный код - [mcve], чтобы быть точным. –