Я пытаюсь сделать игру высокой или низкой. Бросьте три кубика, добавьте их, а затем догадайтесь, как высоко, так и низко. У меня возникают некоторые проблемы, когда я попадаю на высокую или низкую часть. Когда я запускаю программу, она заканчивается, прежде чем я смогу ответить на высокий или низкий уровень. Кроме того, я не уверен, как использовать цикл while, чтобы продолжить, пока пользователь не ошибается. Вот что я до сих пор.Помощь с высоким или низким разрешением в C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main(void)
{
srand((unsigned)time(NULL));
int dice1, dice2, dice3, dicetotal, i; // Variables
char startGAMEendGame;
// Initializing variables
dice1 = 1 + rand() % 6;
dice2 = 1 + rand() % 6;
dice3 = 1 + rand() % 6;
dicetotal = dice1 + dice2 + dice3;
// Asking the user if they would like to start the game
printf("\nWould you like to play a game? <Y/N> ");
scanf("%c", &startGAMEendGame);
// First If statement to start the game
if (startGAMEendGame == 'Y' || startGAMEendGame == 'y')
{
int dice1, dice2, dice3, dicetotal, i; // Variables
char higherOrlower;
i = dicetotal; // Initializing variables
dice1 = 1 + rand() %6;
dice2 = 1 + rand() %6;
dice3 = 1 + rand() %6;
dicetotal = dice1 + dice2 + dice3;
printf("\nAwesome. Let's get started with a simple game of higher or lower.\nYou get to guess until you are wrong. \n");
printf("\nYour first three rolls are %d, %d, %d, and their sum is %d. \n", dice1, dice2,
dice3, dicetotal);
printf("\nWhat is next your guess? Higher or Lower? <H/L> ");
scanf("%c", &higherOrlower);
if (dicetotal > i && higherOrlower == 'H')
{
printf("\nCongratulations! You guessed correctly. ");
}
if (dicetotal < i && higherOrlower == 'L')
{
printf("\nCongratulations! You guessed correctly. ");
}
}
if (startGAMEendGame == 'N' || startGAMEendGame == 'n')
{
printf("\nBummer. Maybe some other time. ");
}
}
Я немного переформатировал код для вас. Я бы рекомендовал отладку и прохождение всех строк, чтобы увидеть, какой из них ведет себя иначе, чем ожидалось, а затем вернуться, чтобы попросить обратную связь, как только у вас появятся какие-то подробности. –
Я только начинаю. Спасибо за совет! –