- •Ход работы:
- •7.1 Описание классов.
- •7.2 Определяем первый класс Кубик - tDice
- •7.3 Описание метода для объекта Кубик, имитирующий его бросок.
- •7.4. Описываем класс Игрок
- •7.6 Описание Конструктора tPlayer
- •7.7 Описание класса судьи tReferee
- •7.7.1. Алгоритм реализация метода NewGameQ в файле Game.Cpp (смотри рисунок 5)
- •7.7.3 Метод GameFinish() дает информацию окончена ли игра или нет.
- •8. Продолжаем работать с интерфейсом программы на форме Form1.( смотри рисунок 1)
- •Событие «Новая игра»
- •8.2 Новая игра: описание методов ShowInfo(),EndGameTest().
- •8.2.1. Описание метода ShowInfo()
- •8.2.2 Текстовые константы , новый пользовательский файл Text.H
- •8.2.3. Конструктор класса tForm1
- •8.2.4. Проверка завершения текущей партии метод EndGameTest().
- •9. Программный код пункта меню «Новая Игра»
- •2.— А что делать, если партия продолжается?
- •10. Программный код пункта меню «Бросить кубик»
- •10. Программный код пункта меню «Передать очередь хода»
- •11. Продолжаем работать с интерфейсом программы на форме Form1.( смотри рисунок 1)
- •11.1 Настраиваем командные кнопки
- •12 Программирование пользовательского интерфейса
- •13. Случайная генерация
Событие «Новая игра»
При наступлении этого события происходят следующие действия:
• все набранные очки каждого игрока обнуляются;
• в соответствующих полях главного окна выводится начальная информация;
• случайным образом выбирается игрок, ходящий первым;
• если это компьютер, то выполняется ход компьютера.
Событие «Выход»
При наступлении этого события происходит только одно действие: программа закрывается.
Событие «Бросить кубик»
После этого события выполняются следующие операции:
• бросается кубик для человека.
• если выпала 1, то: ход передается компьютеру;
иначе: результат броска добавляется к текущим набранным очкам;
• если партия завершилась, то: выводятся соответствующие сообщения; начинается новая игра.
Событие «Передать очередь хода»
В результате этого события происходят следующие действия:
• выполняется ход компьютера;
• если партия завершилась, то: выводятся соответствующие сообщения; начинается новая игра.
8.1. Пункт меню:Выход из игры
Выход из игры и закрытие приложения — операция простая. Она будет выполняться, когда человек выберет в меню пункт Выход (или нажмет соответствующую командную кнопку). Закрыть программу надо в обработчике соответствующего события, которое будет сгенерировано C++Builder. Это выполняется следующим образом.
1. Выберите в меню формы пункт Выход из игры и один раз щелкните на нем левой кнопкой мыши .
2. С помощью Инспектора объектов задайте для выбранного таким способом пункта меню название (Name) GameExitltem. Обязательно изменяйте свойство Name, далее по инструкции обращение к элементам формы будет по персональным идентификаторам.
3. Снова выберите в меню формы этот пункт и дважды на нем щелкните.
C++Builder автоматически создаст новый метод GameExitltemClick() класса TForm1 главной формы. Этот метод будет вызываться, когда пользователь в работающей программе выберет пункт меню Выход из игры.
В методе достаточно, привести один оператор — вызов метода Terminate() объекта Application (класс TApplication). Этот объект создается C++Builder автоматически, доступен через указатель и содержит в себе информацию о всем создаваемом приложении — в частности, о названии ЕХЕ-файла, его значке и т. д. Так как Application — указатель, то вызывать метод этого объекта надо с помощью операции «->».
8.2 Новая игра: описание методов ShowInfo(),EndGameTest().
В соответствии с алгоритмом Событие «Новая игра» необходимо реализовать пункт, где в соответствующих полях главного окна выводится начальная информация. Эти операции лучше всего вынести в отдельный метод ShowInfo(), так как выполнять действия по показу подобной информации придется и в других точках программы. Всегда старайтесь выделить не зависящую от интерфейса логику работы программы (в нашем случае — это реализация трех классов в файле Game.cpp) в отдельные независимые модули. Смешивание логики задачи и функций пользовательского интерфейса в одну кучу сильно затрудняет понимание программы и повышает вероятность внесения ошибок.
8.2.1. Описание метода ShowInfo()
Новый метод ShowInfoQ — надо включить в класс главной формы TForm1, сразу после объявления переменно Referee, строкой void ShowInfo(); в конец описания класса TForm1 в файле DiceUnit.h
Реализация метода ShowInfo() помещается в конце файла DiceUnit.cpp:
// Показ текущей информации о ходе игры:
void TForm1::ShowInfo()
{
//здесь будет располагаться текст метода, с использованием текстовых констант из нового
// файла Text.h
}