Статус
В этой теме нельзя размещать новые ответы.
Регистрация
3 Сен 2012
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Собственно делаю сапера на javascript, возник вопрос, как сделать так, чтобы при нажатии на одну клетку и если она пустая, открывались рядом стоящие пустые клетки? Желательно в подробностях
 
алгоритм: у твоих клеток есть координаты (или id или еще что-то), с помощью которых проверяй клетки рядом с пустой на заполненность
 
писал сапёр в детстве, было так: поле n на m заполнено нулями. генерирую мину прибавляя к клетке 8-ку. прибавляю единички в квадрате с миной, чтобы вышло так: 1_1_1 1_9_1 1_1_1 и так с каждой. за мину считалось всё, что больше 8-ми. рядом стоящие мины таким образом соответственно отмечались: 1_2_2__1 1_9_10_1 1_2_2__1 открытие клетки выглядело так: показать клетку. если клетка больше 8-ми - бум. если клетка имеет цифру - показать цифру. если клетка пуста - применить открытие ко всем соседям по очереди. не совсем рационально, но результат удовлетворял, да и мины при этом не взрывались, будучи окружёнными цифрами. генерировалось поле при первом клике, так, чтобы мина не попалась первой - можешь проверить на виндовом, думаю там так-же происходит.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху