Игра «Сокобан» · Шаг 5 из 6
Уровни из JSON
Уровней в игре четыре, а придумать их можно сотни — и хранить их удобнее не в коде, а в файле JSON, который можно править, не трогая программу. Но файл пишут люди, и в нём бывает всякое: опечатка, уровень без карты, карта из чисел.
Что сделать
Прочитайте уровни из файла JSON, который пишут люди, — и не падайте ни на какой опечатке.
Что приходит
tekst— текст JSON: список объектов с ключами"nazvanie"и"karta"
Что вернуть
Список пар (название, карта) по годным объектам в порядке файла; негодные пропущены; не JSON или не список — [].
Допишите функцию zagruzit_urovni в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Игра зовёт zagruzit_urovni один раз, в начале, с четырьмя уровнями, записанными в оболочке. Решите шаг — и после первого уровня откроются остальные три.
Без этого шага: уровни из JSON не читаются — играется один, первый.
zagruzit_urovni('[{"nazvanie": "Первый", "karta": ["#####", "#@$.#", "#####"]}]')
[('Первый', ['#####', '#@$.#', '#####'])]
Функция принимает текст JSON. Ожидается список объектов с ключами «nazvanie» (строка) и «karta» (непустой список строк). Возвращает список пар (название, карта) — по одной на каждый годный объект, в порядке файла. Негодные объекты пропускаются. Если текст не разбирается как JSON или это не список — пустой список.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.