Войти Создать аккаунт

Войдите, чтобы продолжить.

Игра «Сапёр» · Шаг 5 из 5

Аккорд

Опытные сапёры не открывают клетки по одной. Если вокруг открытой «двойки» уже стоят два флажка, остальные её соседи точно без мин — щелчок по самой «двойке» открывает их все разом. Это называется аккордом.

Что сделать

Сделайте аккорд — щелчок по открытому числу открывает всех соседей без флажков разом.

Что приходит

  • stroka и stolbec — открытая клетка, по которой щёлкнули

  • chisla — поле чисел, -1 — мина

  • flagi — клетки с флажками

  • otkryto — уже открытые клетки

Что вернуть

Соседей без флажков и ещё не открытых, по рядам и столбцам, — если флажков вокруг ровно столько, каково число; иначе [].

Допишите функцию akkord в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Игра зовёт akkord, когда вы щёлкаете по уже открытой клетке. Флажки ставятся щелчком после пробела. Решите шаг — и разминировать можно будет быстро, по несколько клеток за щелчок.

Без этого шага: «аккорда» нет — щелчок по открытому числу ничего не делает.

Пример

У «единицы» в (1, 1) один флажок рядом — на мине (0, 0). Флажков столько же, сколько число, и остальные семь соседей открываются разом.

Тот же пример кодом
Вызов
akkord(1, 1, [[-1, 1, 0], [1, 1, 0], [0, 0, 0]], [(0, 0)], [(1, 1)])
Вернуть
[(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1), (2, 2)]

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.