Я создаю игру Othello (похожую на игру Go) на устройстве Android с помощью Android Studio.
Я использовал minimax algorithm
, чтобы создать умного бота, чтобы победить игрока.Однако в minimax algorithm
есть много рекурсивных вызовов, поэтому расчет бота идет очень медленно (я пытался играть и видел, что для расчета потребовалось около 30 секунд).Итак, я хочу показать progress bar
, чтобы сообщить игроку, что бот рассчитывает.Я попытался сделать следующее, но индикатор выполнения не отображался в моей активности:
//Each time the player goes one step, I show progress bar on activity
// to signal to the player that the bot is calculating
progress_bar.setVisible(View.VISIBLE);
//Then, wait for bot's calculation. I have tried to play many time
//and I saw that it takes about 30 seconds
minimax = new Minimax(chessColorMaxtrix);
best_position=minimax.findBestMove();
put(best_position); //complete bot's calculation
//Then, I set the progress bar invisible
progress_bar.setVisible(View.INVISIBLE);
//And wait for the next move of the player
Далее, если я не выполняю progress_bar.setVisible(View.INVISIBLE);
, индикатор выполнения показывает активность нормально.Но это не то, что я хочу.Я хочу спросить, является ли мое progress_bar
использование правильным или неправильным?Если правильно, то почему progress_bar
не показывался на активности.Если не так, как я могу решить проблему?