Квест, приключенческая игра — один из основных жанров компьютерных игр, требующих от игрока решения умственных задач для продвижения по сюжету. Сюжет может быть предопределённым или же давать множество исходов, выбор которых зависит от действий игрока.
Квест предполагает, что герой перемещается из одного пространство в другое. Число пространств или комнат может быть очень большим, но для примера мы построим мир из 5 связанных между собой комнат. Кошка управляется клавишами - вниз, вверх, вправо и влево.
Если клавиша стрелка вверх, то повернуться вверх пройти 5 шагов и установить значение переменной 0. Все остальные нажатия – вправо, влево и вниз – отрабатываются точно так же.
С кошкой все ясно. А вот мир вокруг кошки устроен сложнее, он должен помнить, откуда идет кошка и куда она должна попадать при ее соприкосновении с экраном. Как только кошка касается экрана, она посылает миру сигнал – передать "Change place"
В ответ на этот сигнал среда начинает анализировать положение (направление) кошки и фон, на котором она находится. Все изображения – костюмы фона.
В зависимости от того, куда смотрит кошка, и из какой комнаты она пришла, фон подсовывает под кошку новое изображение окружающего мира.
Теперь мы можем путешествовать из комнаты в комнату или из области в область. Усложним игру, добавив к кошке двух злобных демонов. Каждый из них постоянно поворачивается в сторону кошки и двигается к ней. Если один из демонов касается другого, он замирает. Если демон коснется кошки, то мы проиграли.
Добавим кошке миссию, которую она должна выполнить, переходя из одной области в другую: найти и собрать семь зеленых шариков. Шарики должны быть видимы в некоторых областях и невидимы в других.
Теперь у нас практически полноценный квест, в котором игрок бродит по полям, собирает зеленые шарики и ускользает от противников.
Проект можно расширять новыми заданиями и новыми областями.
А теперь, попробуйте, создать свой квест. И не забывайте, вы можете скачать понравившийся вам проект с сайта Scratch и изучить его изнутри. А здесь вы можете посмотреть очень много разных игр.
За этот урок спасибо Евгению Патаракину.