
Комментарии 12
Автор, ждал разбора момента и не увидел как генератор минного поля учитывает, что мины могут создать кольцо, в которое невозможно будет попасть? Простая рандомная расстановка может привести к такому
В статье этот момент был опущен сознательно по одной причине: сохранение низкого порога входа для начинающих.
Целью руководства было научить основам:
Работе с классами (ООП).
Базовой логике 2D-массивов.
Основам Pygame (игровой цикл, отрисовка, обработка событий).
Реализации простого рекурсивного алгоритма.
Добавление алгоритма проверки поля на логическую решаемость — это задача на порядок сложнее, которая увела бы нас от этих основных целей.
Фу нейронка
а это было бы интересно разобрать - как узнать что область не замкнута и в неё есть доступ? Когда это лучше делать, при постановке новой мины проверять не замкнёт ли она область, или пытаться сперва расставить а потом проверить и, допустим, перенести одну из них, чтобы разомкнуть контур. А ведь это коснётся и задачи и на поиск пути - такие алгоритмы используются во множестве игр.
Понимаю, что статья для начинающих - но чуть-чуть материала на развитие тоже будет интересно
Что это за ситуация? И почему это вообще является проблемой?
Если мины образуют кольцо вокруг ячейки без мины, скажем слева (мина это X, а 5 ячейка без неё) то разгадывая поле справа туда никак не попадёшь:
XX
5X
XX
Верхний правый Х и нижний правый Х легко помогают определить, где нет мины
221
XX2
5X3
XX2
221А если будет полный круг, то можно методом исключения
Я имею ввиду, что начиная, например, справа сверху как мы узнаем, есть в центре мина или нет? Мы не можем вычислить это никак - нет просвета и информация из чисел вокруг не помогает тут
Кстати, можно попробовать в моем исполнении поиграть. Классическая игра, без рекламы и с разными размерами полей и сложностью.
https://play.google.com/store/apps/details?id=com.embarcadero.MineSweeperFMX
Написано на Delphi

Чат гпт убедил меня, что это действительно бэд дизайн играх. Но мы же говорим об оригинальной игре в винде? Так подобных ситуаций валом.
При чем гпт забавно объяснял. Спрашиваю, про угадывание ли речь? Нет, говорит, ты "не можешь пройти" через мины)
Создаем 'Сапёр' на Python с нуля: пошаговое руководство для начинающих