как можно я могу сократить это?Код C++ необходимо укоротить
if(moves[1] == moves[4] && moves[4] == moves[7]) { return 1;}
else if(moves[1] == moves[2] && moves[2] == moves[3]) { return 1;}
else if(moves[4] == moves[5] && moves[5] == moves[6]) { return 1;}
else if(moves[7] == moves[8] && moves[8] == moves[9]) { return 1;}
else if(moves[1] == moves[5] && moves[5] == moves[9]) { return 1;}
else if(moves[3] == moves[5] && moves[5] == moves[7]) { return 1;}
else if(moves[2] == moves[5] && moves[5] == moves[8]) { return 1;}
else if(moves[3] == moves[6] && moves[6] == moves[9]) { return 1;}
else if (moves[1] != '1' && moves[2] != '2' && moves[3] != '3' && moves[4] != '4' && moves[5] != '5' && moves[6] != '6' && moves[7] != '7' && moves[8] != '8' && moves[9] != '9') {
return 2;}
в значениях ходов хранятся X или 0, который сравнивается, чтобы получить победитель игры мне нужно, чтобы сократить это вниз как можно больше,
я не могу думать ни о каком пути другого способе чтобы сделать это из-за случайных комбинаций чисел
Приведенный выше код является функцией называется CheckWinner, которая проходит над входом пользователь выбрал с массивом, какие позиции были заполнены
код проверяет ход [ позиции] против других комбинаций выигрышного хода и возвращает 1, если обнаружен выигрышный ход.
Последний бит кода проверяет все пробелы на сетке и, если нет пробелов, возвращает 2, чтобы вызвать ничью.
Надеется, что это помогает
Вы могли бы уточнить, что у каждого есть? –
См. Ярлык, это сетка tic-tac-toe. –
@ Нильс уверен, но я этого не понимаю. –