Я начал изучать C неделю назад и решил написать свою собственную игру тиктакто для практики.Множественный логический оператор || (ИЛИ) условия для цикла в C
У меня есть цикл игры в основной
for(int i = 1; player1.isWinner!=1 || player2.isWinner!=1 || noWinner!=1; i++){...}
Где I - подсчитывает повороты и состояние конца игры один из игроков выиграл, или никто не выиграл (ничья).
На данный момент она завершает работу выполняет только если все условия 1.
Как заставить его работать правильно?
Используйте '&&' вместо '||'? Кроме того, вы можете использовать '_Bool' и избавиться от'! = 1', что облегчает выполнение условия. –
Я думаю, что суть проблемы здесь - непонимание булевой алгебры, а именно [законы Де Моргана] (https://en.wikipedia.org/wiki/De_Morgan%27s_laws). Который легко понять, если вы пропустите все секретные рукопожатия математика bs. «Яблоки не синие, а они не фиолетовые» - это то же самое, что «Яблоки не синие или пурпурные». – Lundin