S^JBES'SB'S^^SE033^""^^"10^1'3"^
началась. Такое состояние надо отслеживать особо, чтобы при щелчке на кнопке Бросить кубик никаких действий не происходило, а выдавалось бы сообщение о том, что новая партия еще не начата.
Для нормальной работы программы осталось реализовать такие действия пользователя, как выбор пунктов меню Новая игра, Бросить кубик и Передать очередь хода.
Когда выбран пункт меню «Новая игра»
С помощью Инспектора объектов задайте пункту меню Новая игра название NewGameltem. Далее создайте метод реакции на выбор этого пункта способом, описанным ранее при формировании обработчика выбора пункта меню Выход.
Перед тем как начать новую партию, необходимо проверить, закончена ли текущая игра. Ведь если это не так, то человек получит определенные преимущества перед компьютером. Почувствовав, что проигрывает, он сможет начать новую партию, и отрицательный результат ему не зачтется.
// Проверяем, закончена ли партия:
if( Referee.GameFinish() )
{
// Если да, то начинаем новую игру:
Referee-NewGame() ;
// и выводим на экран начальную информацию:
Showlnfo() ;
}
— А что делать, если партия продолжается?
— Программа всегда должна в подобных случаях реагировать на действия человека, сообщая ему хотя бы минимальную информацию. Поэтому, используя расширенный вариант условного оператора, с помощью ключевого слова else добавим вызов диалогового окна с кратким напоминанием о том, что игра не завершена. Это напоминание надо определить как константу в файле Text.h:
const AnsiString GAME_NOT_FINISHED_STR = "Партия не закончена";
А альтернативная часть условного оператора запишется так:
else
ShowMessage(GAME_NOT_FINISHED_STR) ;
150