9_J[IgOI^aим^дg^з^lниeIIOДIДю^^^
C++Builder автоматически создаст новый метод GameExitltemClick() класса TFormI главной формы. Этот метод будет вызываться, когда пользователь в работающей программе выберет пункт меню Выход из игры.
В методе достаточно, привести один оператор — вызов метода Terminate() объекта Application (класс TApplication). Этот объект создается C++Builder автоматически, доступен через указатель и содержит в себе информацию о всем создаваемом приложении — в частности, о названии ЕХЕ-файла, его значке и т. д.
Application->Terminate() ;
Так как Application — указатель, то вызывать метод этого объекта надо с помощью операции «->».
Новая игра
Соответствующий пункт меню в Инспекторе объектов можно назвать NewGameltem. Для него надо вышеописанным способом создать метод реакции (он автоматически получит название NewGameltemClick()) и прежде всего вызвать метод NewGameQ объекта Referee, чтобы задать начальные значения внутренним переменным.
Далее требуется вывести в поля надписей информацию о состоянии текущей партии. Эти операции лучше всего вынести в отдельный метод, так как выполнять действия по показу подобной информации придется и в других точках программы.
Всегда старайтесь выделить не зависящую от интерфейса логику работы программы (в нашем случае — это реализация трех классов в файле Game.cpp) в отдельные независимые модули. Смешивание логики задачи и функций пользовательского интерфейса в одну кучу сильно затрудняет понимание программы и повышает вероятность внесения ошибок.
Новый метод — назовем его ShowlnfoQ — надо включить в класс главной формы TFormI. Реализация метода ShowlnfoQ помещается в конце файла DiceUnit.cpp:
// Показ текущей информации о ходе игры:
void TFormI::Showlnfo() {
}
142