GetAsyncKeyState () для MS DOS

Я сделал небольшую игру для Windows, которая использует GetAsyncKeyState (). Сейчас я хочу скомпилировать игру для MS DOS, но не могу найти альтернативы для этой функции. getch () и kbhit () слишком медленные для обработки нажатий клавиш.
Основная цель — обрабатывать нажатия клавиш со скоростью света или, по крайней мере, как со скоростью GetAsyncKeyState ().
Заранее спасибо.

1

Решение

Пример кода для обработки клавиатуры на Borland c ++ MSDOS
который использует conio.h , kbhit() а также getch(), Это должно скомпилировать
просто отлично в MSDOS Borland c ++.

#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <dos.h>

#define TRUE 1
#define FALSE (!TRUE)
#define TEXTSCREEN 0xB800#define esc    27
#define tab    9
#define up     72
#define down   80
#define left   75
#define right  77
#define home   71
#define cend   79
#define pgup   73
#define pgdn   81
#define ins    82
#define del    83
#define plus   43
#define subt   45
#define mult   42
#define devi   47
#define spc    32
#define f1     59
#define f2     60
#define f3     61
#define f4     62
#define f5     63
#define f6     64
#define f7     65
#define f8     66
#define f9     67
#define f10    68
#define ap     53
#define bksp   8
#define enter  13
#define crum   245void key2(void);

int main(void)
{

ch=0;
while(ch!=esc)
{

key2();

}

return 0;
}void key2(void)
{
if (kbhit())
{
ch=getch();

if (ch==f1)
{

}
if (ch==f2)
{

}
if (ch==f3)
{

}
if (ch==f4)
{}
if (ch==f5)
{}
if (ch==f6)
{}
if (ch==f7)
{}
if (ch==f8)
{}
if (ch==f9)
{

}
if (ch==f10)
{}if (ch==tab)
{

}

if (ch==ins)
{

}

if (ch==del)
{
}

if (ch==bksp)
{}

if (ch==enter)
{}

if (ch==spc)
{

}
if (ch==49)
{}
if (ch==50)
{}

if (ch==up)
{}

if (ch==down)
{}
if (ch==home)
{}
if (ch==cend)
{}
if (ch==pgup)
{}
if (ch==pgdn)
{}
}
}
1

Другие решения


По вопросам рекламы [email protected]