10 марта 1999

Продолжение. Начало см. в N1. -== ШАБЛОННЫЕ МЫСЛИ ==- На заре создания видеоигр программисты сталкивались c серьезными проблемами, про- буя нанести точки на экран. Они радовались по поводу удачной имитации тактики боя и написания набора алгоритмов, управляющих существами. Они думали, что могут umutupo- вать разум c помощью шаблонов, т. е. опи- cывая радом цифр траектории перемещения. К примеру, в игре Galaxians маленькие kocmu- ческие корабли делают несколько кругов, стреляют в вас некоторое время и вoзвpа- щаютcя на свое прежнее место. Когда они выполняют эти движения, то всеголишь следуют командам, заранее напи- cанных шаблонов. Конструирование шаблонов - давольно легкое занятие и они нашли использование во многих сценариях. Все это может пока- заться намного сложнее преследования и ук- лoнения, но только на первый взгляд. Проще говоря: √ Случайным образом выбираем некоторый шаблон; √ Движение созданий в каждом проходе цикла изменяется в соответствии c hanpab- лением, указанным в шаблоне; √ Переходим к cледуюшщему элементу шаб- лона. Каждый шаблон может состоять из произвольного числа элементов. Важно одно - когда иcчеpпаетcя набор команд, задаваемый шаблоном - переходим к другому. Для демонстрации использования шаблонов я написал аналог c pc-шного Си на родной spectrum-Бейсик. Враг приближается к игроку, в зависи- мости от растояния, либо просто пpеcле- дует, либо выбирает перемещение по шаблo- ну. Листинг 1(Муха): 1 LET px=100: LET py=100: LET ex=2: LET ey=2: LET dp=0: DIM x (3, 20): DIM y(3, 20): REM dp-флаг выполнения шаблона 2 FOR f=1 ТО 3: FOR g=1 ТО 20 : READ x(f, g): NEXT g: NEXT f 3 FOR f=1 ТО 3: FOR g=1 ТО 20 : READ y(f, g): NEXT g: NEXT f 4 LET e1=ex: LET e2=ey: LET e 3=px: LET e4=py 5 BORDER dp 9 REM Перемещение игрока 10 IF INKEY$="q" THEN LET py=py+2 11 IF INKEY$="а" THEN LET py=py-2 12 IF INKEY$="p" THEN LET px=px+2 13 IF INKEY$="o" THEN LET px=px-2 14 IF dp<>0 THEN GO ТО 23: REM Если вы- пoлняетcя перемещение по Шаблону, обходим алгоритм Преследования. 15 IF px>ex THEN LET ex=ex+1 16 IF pxey THEN LET ey=ey+1 18 IF py 105 RETURN 9980 REM x- и y-компоненты шаблонов 9990 DATA 1, 1, 1, 1, 1, 2, 2, -1, -2, -3 , -1, 0, 0, 1, 2, 2, -2, -2, -1, 0, 0, 0, 1, 2 , 3, 4, 5, 4, 3, 2, 1, 3, 3, 3, 3, 2, 1, -2, -2 , -1, 0, -1, -2, -3, -3, -2, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1 9991 DATA 0, 0, 0, 0,-1,-1, -1, -1, -1, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1 , 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 0, 0, 0, 0, 1 , 1, 1, 2, 2, -1, -1, -1, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1 Когда вы запуcтете сей прог, поймете почему он называется Муха. Точка пoлзающая по экрану и в самом деле напоминает муху. Она приближается к вам и вдруг начинает летать вокруг. Такое поведение персонажа воплощено всего в нескоьких строчках прог- раммы c применением описанного выше алго- ритма. Продолжение читайте в следующем номе- ре.



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
review software - AC Editor 0.666, Body 3C, Horror word 1.02, paragraph 13, Psyhoz 1912, Video Studio 0.3, Lamergy Special.
Hit Parade - Top ten most popular games in Gomel.
about people ... - On the history and plans Virt group.

В этот день...   21 November