9. Программирование пользовательского интерфейса

Когда выполняется оператор break, управление в программе передается на оператор, следующий за for. Тогда обработку выпадения единицы надо переписать следующим образом:

else

{

Computer.CurrentScores = 0;

break ;

)

Однако выполнены еще не все проверки. В теле цикла надо выяснить, не накоплено ли 20 и более очков, и если накоплено, то дальнейшее бросание кубика тоже надо прекратить, так же, как это было сделано только что при выпадении единицы:

// если набрано 20 и более очков, то if( Computer.CurrentScores >= 20 )

// .«прервать цикл бросания кубика «

break ;

Итоговый текст реализации метода CompirterMoveQ примет следующий вид:

void TReferee::ComputerMove() { \ int i;

Computer.CurrentScores = 0;

for( i = 1; i <= 5; i ++ ) { if( Dice.GetDiceValueO 1= 1 )

Computer.CurrentScores += Dice.LastValue;

else { Computer.CurrentScores = 0;

break;

}

if( Computer.CurrentScores >= 20 ) break ;

} . Computer.Scores += Computer.CurrentScores;

Human.CurrentScores = 0;

}

160