Комментарии 23
Это вопрос не к автору, а к тем кто в избранное добавил…
Снобизм — претензия на высокую интеллектуальность, изысканный вкус или авторитетность в какой-то области, и при этом надменное отношение к тем, кто якобы лишён этих достоинств
И вы столько всего увидели в простом вопросе о целесообразности?
Мне было бы интересно посмотреть решение-исследование для неограниченного поля и победной комбинации любой длины, зачем искусственные ограничения:
Я рассмотрю пример проверки победы в игре крестики-нолики, но на поле 6х6 и блоком подряд заполненных значений равному 4-м.
Почему именно такие условия, почему не использовать общее решение? В чём практическая ценность задачи? Она логично выглядела бы как часть общей задачи о, например, стратегии игры. Но вот так… Мне непонятно, поэтому и спросил, зачем читатели сохраняют в избранное, если это не боты, конечно.
Можно было бы сделать это более заметно.
Также, как и оценить сложность алгоритма.
if (toright || toleft) return true; return false;
Код прямо из книги вредных советов.
Предложенный алгоритм представляет из себя тупой перебор.
Центральные линии проверяются по нескольку раз.
Вот, кстати, да. Тоже не очень понятно в чем принципиальная необходимость возврата true и отдельно false.
return ( toleft || toright )
Чем не вариант?
Так что дети, брать чужой код не разобравшись плохо еще и потому, что разобравшись в алгоритме вы поймете, что он не очень то и хорош. Перефразируя поговорку про золото, «Не все то O(n), что алгоритм».
По коду автора невозможно определить выигрышную последовательность значков, чтобы потом как-то ее выделить на игровом поле (это требовалось в моем заказе).
я не читал: в статье какой-то особый метод, считающий одинаковых соседей в 3 раза быстрей, чем что-либо?
P.S.: а почему бы и нет? завести рубрику «юные программисты», куда постить статьи школьников (в прямом смысле). может быть интересно, как они там яблочки считают или домики рисуют. я бы почитал )
Если это решение именно задачи "определить, выигрышна ли заданная позиция в игре крестики-нолики", то решение не верное. Оно не учитывает "невозможные" ситуации, как та, которая представлена на второй иллюстрации (нолики ни разу не сходили, правильный ответ — "крестики мухлюют", а не "крестики выиграли"), не учитывает ситуации, когда кто-то выиграл дважды (две выигрышных ситуации на одном поле, за исключением частных случаев вроде пересекающихся выигрышных комбинаций), не учитывает ситуаций, когда игра была продолжена после выигрыша одной из сторон, или когда выиграли обе стороны.
Простой алгоритм проверки победы в крести-нолики на не стандартном поле