русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программный код пункта меню «Бросить кубик»


Дата добавления: 2015-07-09; просмотров: 682; Нарушение авторских прав


После того как все описанные действия будут выполнены, программа окажется в некотором промежуточном состоянии: прошлая игра уже окончилась, о чем имеется соответствующая запись в списке, а новая еще не началась. Такое состояние надо отслеживать особо, чтобы при щелчке на кнопке Бросить кубик никаких действий не происходило, а выдавалось бы сообщение о том, что новая партия еще не начата.

 

С помощью Инспектора объектов задайте пункту меню Бросить кубик название UseDiceltem и создайте метод реакции на выбор этого пункта. Он получит название UseDiceItemClick().

void __fastcall TForm1:: UseDiceItemClick(TObject *Sender)

{

// добавить код самостоятельно по указаниям, приведенным ниже

}

1. Прежде всего, надо проверить, закончена ли текущая партия. Если это так, то желательно сообщить пользователю, что сначала надо начать новую партию, .а дальнейшие действия текущего метода не выполнять:

if( Referee.GameFinish()) {

ShowMessage(GAME_FINISHED_STR) ;

return;

}

2. Если же игра продолжается, то сначала требуется проверить, не выпала ли единица. Если да, то с помощью функции ShowMessage() надо сообщить об этом человеку, для чего предварительно стоит описать константу: Не забывайте: все константы располагаются в файле Text.h

const AnsiString ONE_STR = "Выпала единица";

3. Если выпала не единица, то необходимо увеличить набранные на текущем ходу очки на выпавшее число, по окончании всех проверок обновить содержимое экранных полей и выполнить проверку на завершение игры.

Выглядеть соответствующий текст будет так:

// если выпала единица...

if( Referee.Dice.GetDiceValue() == 1 )

{

// показать соответствующее сообщение ShowMessage(ONE_STR) ;

// передать очередь хода- компьютеру

// (набранные очки человеку не засчитываются)

Referee.ComputerMove();



}

// иначе запомнить выброшенные очки:

else Referee.Human.CurrentScores += Referee.Dice.LastValue;

4. В противном случае надо просто увеличить значение переменной

Referee. Human.CurrentScores на выпавшее число (оно хранится в переменной

Referee. Dice.LastValue):

5. В заключение вызываются два метода:

Showlnfo(); // показать новые данные EndGameTest(); // проверка, не завершена ли партия



<== предыдущая лекция | следующая лекция ==>
Проверка завершения текущей партии метод EndGameTest(). | Проверяем, все ли в порядке


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.531 сек.