Оператор if
для проверки первых двух чисел в массиве не работает, а else
не работает.
Я создаю небольшую игру, в которой вы можете бросить кубик трираз, если пользователь бросает кубик три раза и получает одно и то же число, ему присуждается 1500 очков.Если пользователь бросает кубик и получает 2 одинаковых числа, ему присуждается 1200 очков, а если он бросает кубик и получает прямые числа (например, 1, 2, 3 или 3, 4, 5, 6), ему присуждается 1300 очков.иначе вычитается 600 баллов.
Оператор if
, который должен проверять, совпадают ли первые два числа, не работает, а else
не работает.Я не знаю, как обойти это.
void Roll(){
int die[3] = {1, 1, 0}, i;
/*for(i = 0; i < 3; i++){
die[i] = 1 + rand() % 6;
}*/
printf("You rolled: \n");
for(i = 0; i < 3; i++)
printf("%d ", die[i]);
printf("\n");
checkPoints(die);
}
void checkPoints(int die[]){
if(die[0] == die[1]){
if(die[1] == die[2])
pts += 1500;
}
else if((die[0] + 1) == die[1]){
if((die[1] + 1) == die[2])
pts += 1300;
else if(die[0] == die[1]){
pts += 1200;
}
else if(die[0] == die[2]){
pts += 1200;
}
else if(die[1] == die[2]){
pts += 1200;
}
else{
pts -= 600;
}
showPoints();
}
void showPoints(){
printf("Total points: %d\n", pts);
}