Введение в программирование на языке Python
Урок 10: как справиться с написанием больших кодов; понятие декомпозиции; как использовать все концепции кодирования, которые уже изучили, в одном большом коде.
Создаём игру:
разработка кода и декомпозиция
Миссия урока
Разработчики игр из CodingMine пишут игру под названием Agent Invader. Однако у них возникли некоторые проблемы с управлением, системой стрельбы и системой подсчета очков. На этом уроке, в отличие от других уроков, ты будешь разрабатывать и писать один большой код. Каждое действие будет охватывать разные аспекты игры. К концу занятия ты напишешь полностью работающую игру.
Начать игру: щелкнуть правой кнопкой мыши на персонажа, над головой которого буквы CEO. В Minecraft подобные персонажи называются NPC – неигровые персонажи.
Сделать паузу в игре: нажать на клавиатуре esc в левом верхнем углу.
Продолжить игру: нажать на стрелочку в левом верхнем углу рядом с надписью «продолжить игру».
Миссия 1:
инструкция
ответ
Миссия 2:
комментарии
ответ
Миссия 3:
подсказки
ответ
Игровая задача:
Hазработчику игр требуется помощь в программировании контроллера, который будет перемещать Агента в игре. На контроллере есть две «кнопки», синяя - это левая кнопка, а красная - правая. Необходимо написать код: когда персонаж стоит на красной или синей площадке Агент двигается в правильном направлении.
Игрок вводит логин и пароль на платформе Minecraft: Education Edition.
Выполняет последовательность действий: ИГРАТЬ - БИБЛИОТЕКА - ПРЕДМЕТНЫЕ НАБОРЫ - ИНФОРМАТИКА - PYTHON - ВВЕДЕНИЕ В PYTHON - УРОК 09 "Написание кода" - СОЗДАТЬ МИР.

Подсказка: не удаляй какой-либо заранее заданный код в окне кодирования.

Напиши код, используя одну функцию с условием if и elif,чтобы определить цвет: красный или синий. Эту функцию в дальнейшем можно использовать для постоянно повторяющегося цикла while. Для создания непрерывно повторяющегося цикла while необходимо установить для условия цикла значение True.

Кода код запущен, игрок может стоять на синих или красных блоках, чтобы перемещать Агента влево или вправо. Как только Агент переместится к левому краю, а затем к правому, Задание 1 будет завершено.
Игровая задача:
Программисту требуется помощь, чтобы написать систему стрельбы, которая заставит Агента стрелять по блокам в игре. Над Агентом в игре есть золотые блоки, в которые необходимо выстрелить. 

Это задание состоит из двух частей.

Часть 1. Тебе необходимо написать функцию, которая заставит Агента стрелять в первый ряд золотых блоков, находящихся на один блок выше его головы. Агенту необходимо использовать фейерверки для стрельбы. Замени блок стрельбы блоком воздуха AIR, чтобы удалить его.

Часть 2. Теперь Агенту необходимо повторить то же самое для других золотых блоков. Когда код будет запущен, Агент будет двигаться влево и вправо (в зависимости от того, на каких блоках стоит игрок) и стрелять по золотым блокам. Задание 2 будет завершено, когда все золотые блоки будут разрушены.

Игровая задача:
Разработчику игр нужна помощь, чтобы написать систему подсчета очков для игры, а также создать начальный и конечный экраны-заставки. В начале игры должно появиться ее название, а затем каждый раз, когда Агент стреляет в золотой блок, счет должен увеличиваться на единицу. Общее количество очков для победы в игре должно быть 15, после чего появится заставка, поздравляющая игрока с победой в игре.
Тебе необходимо прибавлять 1 к переменной score каждый раз, когда Агент стреляет в золотой блок. Затем необходимо отредактировать условие в цикле while, чтобы он повторялся только тогда, когда счет меньше или равен 15.
Переменную score в функции огня необходимо объявить глобальной переменной, чтобы иметь возможность использовать ее функции. Перед началом игры, игрокам необходимо перезапустить Задание, иначе система подсчета очков не будет работать.
Команды, используемые на уроке
Видеоразбор урока 10
Курс "Введение в программирование на языке Python"
Проверь себя
Ответь на несколько вопросов.
Получи максимальный результат или пройди тест повторно. 
Левелнись! 
Начать тест
Что такое декомпозиция?
Упс! Ответ неверный.
Упс! Ответ неверный.
И это правильный ответ!
Следующий вопрос
Проверить
Узнать результат
Чем полезна декомпозиция?
И это правильный ответ! 
Упс! Ответ неверный. 
Упс! Ответ неверный. 
Следующий вопрос
Проверить
Узнать результат
Что означает этот символ <=?
Это правильный ответ!
Упс! Ответ неверный. 
Упс! Ответ неверный.
Следующий вопрос
Проверить
Узнать результат
Как заставить цикл while непрерывно повторяться?
Упс! Ответ неверный. 
Упс! Ответ неверный. 
Ответ верный! 
Следующий вопрос
Проверить
Узнать результат
Нууу это что-то неральное!
Пройди тест заново. 
Пройти еще раз
Что-то ты не очень старался. 
Пройди тест заново и набери максимальное количество правильных ответов. 
Пройти еще раз
Что-то ты не очень старался. 
Пройди тест заново и набери максимальное количество правильных ответов. 
Пройти еще раз
Все хорошо, но может быть лучше!  
Пройди тест заново и набери максимальное количество правильных ответов. 
Пройти еще раз
Уже хорошо, но может быть лучше!  
Пройди тест заново и набери максимальное количество правильных ответов. 
Пройти еще раз
Ты круто справился! 
Тест пройден успешно! Урок завершен. Впереди тебя ждут новые миссии.
Играй и учись. Левелнись! 
Пройти еще раз
Возник вопрос?
Задай его!
Заполни форму или отправь сообщение на info@levelbox-game.com.
Мы ответим как можно быстрее.
*Отправляя сообщение, ты подтверждаешь согласие на обработку персональных данных