Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Алгоритм Сапера на си шарп

#c_sharp #массивы


Написал консольное приложение сапер, но появились проблемы с реализацией. Мой алгоритм
таков: есть массивы, один для показа клеток в консоли, в другом содержаться расположения
мин(9-мина,0-8  соответственно кол-во мин рядом). При выборе одной из клеток, если
клетка содержит 0, то проверяются все соседние клетки по порядку, а в массиве для показа
этот ноль становится видимым, если те клетки содержат 0,то снова выполняется этот рекурсивный
проход по клеткам и отображение в массиве для показа. Так вот, в случае если выбрана
одна из клеток и она ноль, в клетке слева и сверху содержатся единицы,а в клетке сверху-слева
находится ноль, то по идее этот ноль не должен отображаться,потому что к нему нет прямого
доступа(то есть,с любых сторон кроме диагональных)Как мне реализовать это?
    


Ответы

Ответ 1



Очень просто. При открытии 0-клетки ищите 0-соседей не по диагонали, а только сверху, снизу, слева и справа.

Комментариев нет:

Отправить комментарий