Я новичок, и я создал симулятор игрового автомата. Колесо вращается, и x, y и z задаются случайными числами. У меня есть оператор if, который проверяет, является ли x == y == z. Когда программа запускается и числа на самом деле равны, она запускает мой код, который говорит, что они не равны. Почему это происходит?
Например, в операторе cout будет указано 2 -- 2 -- 2, затем он переходит к моему оператору if, если они не равны, и я получаю код «вы проиграли».
Я должен добавить, что это происходит не каждый раз. Иногда он правильно выполняет оператор if, когда они равны. Это очень странно.
srand(time(0));
int x = (rand() % 2) + 1;
int y = (rand() % 2) + 1;
int z = (rand() % 2) + 1;
std::cout << "The spin results are... " << x << " -- " << y << " -- " << z << std::endl << std::endl;
if( x == y == z)
{
std::cout << "You win!\n\n";
playerCoins = playerCoins + (coinsBet * 2);
}
else
{
std::cout << "You lose!\n\n";
}