Добавляем переменную—судью»
Когда выбран пункт меню «Бросить кубик»
С помощью Инспектора объектов задайте пункту меню Бросить кубик название UseDiceltem и создайте метод реакции на выбор этого пункта. Он получит название UseDiceltemClick().
Что надо сделать в данном методе? Прежде всего, надо проверить, закончена ли текущая партия. Если это так, то желательно сообщить пользователю, что сначала надо начать новую партию, .а дальнейшие действия текущего метода не выполнять:
if( Referee.GameFinish() )
ShowMessage(GAME_FINISHED_STR) ;
— А как теперь завершить выполнение метода?
— В этом нам поможет оператор return. Ранее он использовался для завершения работы метода и формирования возвращаемого им значения, но метод UseDiceltemClick(), если посмотреть в его заголовок, возвращает значение типа void (или, иными словами, ничего не возвращает). Однако оператор return можно использовать все равно, только никакого выражения ему теперь приписывать не надо. Указывается просто:
return ;
Как только такой оператор встречается, выполнение текущего метода завершается.
В зависимости оттого, возвращает метод значение или нет (точнее говоря, имеет ли он возвращаемое значение тип void), надо обязательно использовать правильную форму оператора return — с вычисляемым выражением, или без.
Полная проверка на завершение игры запишется так:
if( Referee.GameFinish() ) { ShowMessage(GAME_STOP_STR) ;
return ;
}
Если же игра продолжается, то сначала требуется проверить, не выпала ли единица. Если да, то с помощью функции ShowMessage() надо сообщить об этом человеку, для чего предварительно стоит описать константу:
const AnsiString ONE_STR = "Выпала единица";
151