В while(die1 == die2);
.
есть две ошибки.
==
заставляет цикл продолжаться, пока значения равны, но вы хотите обратное.
Условие может быть бесконечным, если два кубика начинаются одинаково (поскольку переброска никогда не происходит, см. Ниже).
Иначе это будет «никогда».
Точка с запятой предотвратит влияние while
на следующее {}
, оно будет выполнено ровно один раз, если цикл не бесконечен, иначе никогда.
Итак, измените на:
while(die1 != die2)
{
/* reroll */
}
Если вы хотите облегчить поддержку и чтение своего кода, изучите информацию о do {} while();
.