Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект №7. Описание игры с использованием ООП.docx
Скачиваний:
23
Добавлен:
11.04.2015
Размер:
223.71 Кб
Скачать

Событие «Новая игра»

При наступлении этого события происходят следующие действия:

• все набранные очки каждого игрока обнуляются;

• в соответствующих полях главного окна выводится начальная информация;

• случайным образом выбирается игрок, ходящий первым;

• если это компьютер, то выполняется ход компьютера. 

Событие «Выход»

При наступлении этого события происходит только одно действие: программа закрывается. 

Событие «Бросить кубик»

После этого события выполняются следующие операции:

• бросается кубик для человека.

• если выпала 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

}