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

if( input >= 50 && input <= 1000 ) {

Referee.GAME_FINISH_SCORE = input;

Referee.NewGame() ;

Showlnfo() ;

}

В противном случае, когда значение input не укладывается в допустимые рамки, пользователь должен увидеть предупреждение о том, что введенное число не соответствует диапазону:

else ShowMessage(BAD_NUMBER_STR) ;

h01671.jpg

Избегайте глубокой вложенности условных операторов.„Это значительно усложняет логику работы программы и процесс отладки. Оптимально использовать не более одного уровня такой вложенности. В принципе любой код всегда можно переделать так, чтобы он вообще не допускал вложенных операторов if. Например, кусочек данного метода, где обрабатывается нажатие ОК, можно переписать следующим образом:

// если НЕ нажата кнопка ОК, то завершить работу метода if( InputForm->ShowModal() != mrOk ) return;

intinput;

input = StrToInt( InputForm->Input->Text);

if( input >= 50 && input <= 1000 )

Referee.GAME_FINISH_SCORE = input;

else ShowMessage(BAD_NUMBER_STR);

Теперь вложенных операторов if удалось избежать, а структура исходного текста стала более очевидной.

Подготовка законченного приложения

«•

Позиционируем окна

Чтобы программа при запуске выглядела красиво, неплохо, чтобы главное окно (да и остальные тоже) располагалось в центре экрана (по умолчанию

167