Как написать игру для ZX Spectrum на ассемблере

       

ВЗАИМОДЕЙСТВИЕ С ИГРАЮЩИМ



ВЗАИМОДЕЙСТВИЕ С ИГРАЮЩИМ

Думается, ни для кого не секрет, в чем кроется причина популярности компьютерных игр. Ведь в них любой играющий с помощью несложных манипуляций может влиять на события, происходящие на экране и тем самым без особого вреда для здоровья почувствовать себя в роли супергероя или суперзлодея. Икаким бы сложным ни был сюжет игры, устройства управления остаются одними и теми же - клавиатура или джойстик.

Приведем несколько примеров. В игре RIVER RAID можно ускорять или замедлять полет вашего самолетика, поворачивать его вправо или влево. И для этого достаточно лишь наклонить ручку джойстика в нужном направлении, а нажав кнопку «огонь», можно выпустить по объекту противника ракету.

Особенно поражают реальностью происходящего игры, посвященные какому-либо виду спортивной борьбы (FIST, ORIENTAL GAMES и другие). В них с помощью все тех же пяти клавиш или джойстика можно заставить главного персонажа выполнять множество различных приемов, прыжков, ударов и прочих телодвижений.

Подобные примеры можно продолжать до бесконечности, но для нас важно другое: все эти изменения на экране возможны благодаря особой части игровой программы, которая носит название блок взаимодействия с играющим. Когда вы нажимаете на какую-либо из управляющих клавиш или наклоняете ручку джойстика, программа реагирует должным образом и обычно переключается на выполнение той части, которая «заведует» выполнением соответствующего действия. Так, например, если ваш танк может поворачивать вправо и влево, а время от времени еще и стрелять, то в блоке управления такой программы должно быть ровно три части, каждая из которых отвечает за свой «участок работы».

У вас может создаться впечатление, что вся задача сводится лишь к тому, чтобы отслеживать нажатия клавиш или наклон ручки джойстика да в ответ на воздействие извне изменять направление движения управляемого объекта. Однако это пока еще не все. В реальной игре, когда по экрану движется созданный вами человечек, самолет или любой другой персонаж, возникает масса проблем, которые нужно решать. Прежде всего необходимо восстанавливать фон позади движущегося объекта, чтобы за ним не протянулся след девственно чистого экрана. А что делать, если движущийся объект «натолкнулся» на какое-то препятствие: стенку, дерево или встретился лицом к лицу со своим противником. Наконец, как поступить с врагом, в которого попал снаряд, выпущенный из вашей пушки. На все эти вопросы мы постараемся дать ответ на страницах нашей книги.



Содержание раздела