С для профессиональных программистов



         

Тело главной программы


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

int directx,directy; /* направление  */

main()

union k

char c[2];

int i;

 key;

int deltax=0,deltay=0;

int swaph=0,swapc=0;

int it=COMPUTER;

long htime,ctime,starttime,curtime; /* таймер счета */

int count;

mode(4); /* установка 4 режима графики CGA/EGA */

palette(0); /* палитра 0 */

load_pic(); /* ввод игрового поля */

time(&starttime); /* установка времени */

htime=ctime=0;

display_object(human,4,1);

display_object(computer,4,3);

count=0;

/* главный цикл игры */

do

/* вычисление текущего счета  */

time(&curtime);

if (it==COMPUTER) htime+=curtime-starttime;

else ctime+=curtime-starttime;

time(&starttime);

show_score(it,htime,ctime);

if (bioskey(1))  /* если нажата клавиша */

directx=directy=IDLE; /* устанавливает

направление перемещения */

key.i = bioskey(0);

deltax=0;deltay=0;

if(!key.c[0]) switch(key.c[1])

case 75: /* влево */

deltay= -1;

directy=LEFT;

break;

case 77: /* вправо */

deltay=1;

directy=RIGHT;

break;

case 72: /* вверх */

deltax= -1;

directx=UP;

deltax= -1;

directx=UP;

break;

case 80: /* вниз */

deltax=1;

directx=DOWN;

break;

case 71: /* вверх и влево */

deltay= -1;

directy=LEFT;

deltax= -1;

directx=UP;

break;

case 73: /* вверх и вправо */

deltay=1;

directy=RIGHT;

deltax= -1;

directx=UP;

break;

case 79: /* вниз и влево */

deltay= -1;

directy=LEFT;

deltax=1;

directx=DOWN;

break;

case 81: /* вниз и вправо */

deltay=1;

directy=RIGHT;

deltax=1;

directx=DOWN;

break;




Содержание  Назад  Вперед