Программирование игр для Windows. Советы профессионала


Пример обработчика прерывания № 2 - Ловим нажатия клавиш! - часть 5


} break;

case BREAK_RIGHT; // отпускание стрелки вправо

{

key_table[INDEX_RIGHT] = 0;

} break;

case BREAK_LEFT:  // отпускание стрелки влево

{

key_table[INDEX_LEFT]  = 0;

} break;

default: break;

} // конец оператора switch

} // конец New_Key_Int

//  ОСНОВНАЯ ПРОГРАММА ////////////////////////////////

void main(void)

{

int dопе=0, x=160, y=100;// флаг выхода и координаты точки

//установка видеорежима 320x200x256

_setvideomode(_MRES256COLOR) ;

Fun_Back(); // оригинальная картинка, не так ли?

printf("\nPress ESC to Exit.");

// установка нового обработчика прерывания

Old_Isr = _dos_getvect(KEYBOARD_INT) ;

_dos_setvect(KEYBOARD_INT, New_Key_Int);

// основной цикл

while(!done)

{

_settextposition(24,2) ;

printf("raw key=%d   ",raw_key);

// смотрим в таблицу и перемещаем маленькую точку

if (key_table[INDEX_RIGHT]) х++;

if (key_table[INDEX_LEFT]) х--;

if (key_table[INDEX_UP]) y--;

if (key_table[INDEX_DOWN]) y++;

// рисуем

киберточку

Plot_Pixel_Fast(x,y,10);

// Наша клавиша завершения. Значение кода нажатия ESC равно 1

if (raw_key==1) done=l;

} // конец while

// восстановление старого обработчика прерывания

_dos_setvect(KEYBOARD_INT, Old_Isr) ;

_setvideomode (_DEFAULTMODE) ;

} // конец

функции main

Уфф... Вот и все, ребята!




Начало  Назад  Вперед



Книжный магазин