Я пишу программу для блэкджека для кубиков из Лаборатории, и для этого я использую команду break. В приведенном ниже коде, если игрок перевернул 21 с первой руки, он должен вырваться из цикла while и перейти к коду ниже, но этого не происходит. Я знаю, что он проходит через «если», потому что он печатает «Ты разорился! Снова удача!» но оператор break не работает. Что я делаю не так??Команда Break в C работает неправильно?
while(1) { //Loop for each round
rollDie(&roll1, &roll2);
printf("Your first roll is %d and %d \n", roll1, roll2);
count = (roll1 + roll2)*2;
check = count;
printf("This totals to %d. Doubling this we get %d as your current hand.\n", roll1+roll2, count);
if(count > 21) {
printf("You busted! Bad luck!");
break;
}
while(flag == 1) {
playerMove = getPlayerMove();
if(playerMove == 'H' || playerMove == 'h')
flag = hitMe(&count, &check);
if(flag == 2)
break;
else
flag = 0;
}
printf("It is now the dealers turn to roll.");
flag = dealer(count, &total);
if(total > count)
printf("The dealers %d beats your %d", total, count);
else if (total == count) {
printf("It's a tie!");
}
else
printf("Your %d beats the dealers %d", count, total);
break;
}
Вы могли бы дать весь результат? это напечатало 'You busted! «Не повезло!», Тогда «Теперь дилеры поворачиваются к рулону»? – HuStmpHrrr
Последовала функция playerMove внутри следующего цикла while, который спрашивает, хочет ли игрок Hit или Stand. Я никогда не входил в ответ за это, я просто прекратил программу, потому что она никогда не должна была там D: – bibzuda7
Это C не python, вы должны добавить фигурные скобки там, где это необходимо –