Добавляем переменную—судью»

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

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

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

if( Referee.GameFinish() )

ShowMessage(GAME_FINISHED_STR) ;

— А как теперь завершить выполнение метода?

— В этом нам поможет оператор return. Ранее он использовался для завершения работы метода и формирования возвращаемого им значения, но метод UseDiceltemClick(), если посмотреть в его заголовок, возвращает значение типа void (или, иными словами, ничего не возвращает). Однако оператор return можно использовать все равно, только никакого выражения ему теперь приписывать не надо. Указывается просто:

return ;

h01511.jpg

Как только такой оператор встречается, выполнение текущего метода завершается.

В зависимости оттого, возвращает метод значение или нет (точнее говоря, имеет ли он возвращаемое значение тип void), надо обязательно использовать правильную форму оператора return — с вычисляемым выражением, или без.

Полная проверка на завершение игры запишется так:

if( Referee.GameFinish() ) { ShowMessage(GAME_STOP_STR) ;

return ;

}

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

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

151