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