Игра в Scratch «Модель битвы драконов и демонов»
От простого проекта, в котором кошка меняла цвет линз мы перейдем к проекту со множеством действующих персонажей. Мы еще в самом начале говорили, что Скретч это мультиагентная среда, но ни разу еще не показали этого. Теперь время пришло.
По щелчку зеленого флажка наш герой занимает случайное положение на экране и надевает на себя одну из масок – дракона или демона. Маска зависит от значения переменной (как это уже было с кошкой).
Теперь мы разрешим нашему герою перемещаться по экрану: герой меняет
костюмы, проходит 10 шагов, поворачивается в случайном направлении и не покидает пределов экрана. Если он родился в костюме демона, то все эти действия он и совершает демоном. Если он родился драконом, то он ведет себя как дракон.
Теперь мы введем неожиданное предположение, что наш герой может встретить игрока другой команды. Например, зеленому дракону на пути может встретиться красный демон и он под воздействием этой встречи с красным может превратиться в демона.
Или наоборот, красному демону может встретиться зеленый дракон и он может под воздействием встречи с зеленым может превратиться в дракона:
Подчеркиваем, что превращение носит необязательный характер. Может
превратиться или не превратиться с вероятностью 50%. Ниже представлен фрагмент действий нашего героя, если он действует в обличии демона:
Команда на этом не заканчивается и ниже идет запись ИЛИ:
Вести себя как дракон, а если коснешься красного демона, то можешь превратиться в демона. И теперь возникает справедливый вопрос: откуда возьмутся все эти другие демоны и драконы, которых наш герой возможно встретит? А мы их сейчас откопируем из нашего же героя. У нас есть специальная кнопка экспорта отдельного спрайта и мы потом можем взять готовый спрайт в качестве нового героя. Мы можем таких спрайтов взять множество, и все они будут между собой взаимодействовать.