Вобщем пишу свой рогалик уже начал кой чо делать но столкнулся с проблемой.
Не могу написать взаимодействие со стрелками клавиатуры:
управление решил строить таким образом каждой клавише соответсвует свое числовое ACSII значение
т.е
c:=readkey
b=ord(с)
if b=? - ну и далее в зависимости от того каким будет числовое значение будет выполняться команда
но проблема в том что все 4 стрелки имеют одинаковое значение равное 0.
Вопрос как можно подругому сделать взаимодействие с клавой?
пишу на Turbo Pascal.
Разработка рогалика.
Модератор: Jolly Roger
Re: Разработка рогалика.
http://faqs.org.ru/progr/pascal/pascal.htmГоблин писал(а):Вобщем пишу свой рогалик уже начал кой чо делать но столкнулся с проблемой.
Не могу написать взаимодействие со стрелками клавиатуры:
управление решил строить таким образом каждой клавише соответсвует свое числовое ACSII значение
т.е
c:=readkey
b=ord(с)
if b=? - ну и далее в зависимости от того каким будет числовое значение будет выполняться команда
но проблема в том что все 4 стрелки имеют одинаковое значение равное 0.
Вопрос как можно подругому сделать взаимодействие с клавой?
пишу на Turbo Pascal.
Код: Выделить всё
Q: А как прочитать нажатия клавиш с клавиатуры? Ну, буквы и цифры я прочитал с
помощью ReadKey - а вот функциональные клавиши почему-то ноль возвращают.
A: Потому что эти клавиши возвращают расширенный код, состоящий из двух симво-
лов - как, например, стрелки, или буквенно/цифровая клавиатура в комбина-
ции с Alt, Ctrl, и т.д. Вот, как нужно обрабатывать клавиатуру:
case ReadKey of {читаем код }
#0:case ReadKey of {код оказался расширенным}
#59:Writeln('Нажали F1');
#60:Writeln('Нажали F2');
{.......................}
end {case}; {закончили обработку расширенных кодов}
#13:Writeln('Нажали Enter');
#27:Exit
end {case}
http://www.ntlib.chat.ru/ware/tables/scan.htm
Re: Разработка рогалика.
Можно и даже проще -- NumLock и пользовать цифровую клавиатуру. ловить 2 - вниз, 8 - вверх, и т.п.
- Aerton
- Сообщения: 503
- Зарегистрирован: 11 авг 2007, 02:58
- Откуда: Новосибирск
- Контактная информация:
Re: Разработка рогалика.
Anfeir писал(а):Можно и даже проще -- NumLock и пользовать цифровую клавиатуру. ловить 2 - вниз, 8 - вверх, и т.п.
- * Далеко не все держат нумлок включенным
* Цифры могут уже быть использованны для чего-то другого
* Что делать с ноутбуками без num-keys?
Re: Разработка рогалика.
курсора все равно не хватит, чтобы ходить по диагонали. Если по диагонали не нужно ходить, тогда да, можно курсор.
Но в принципе все это мелочи, которые никто не мешает потом поправить. Особенно если в это уперлась разработка. Это все не главное. Цифры на цифровой клаве имеют право на существование. Посмотрите на Адом, если еще не видели.
Но в принципе все это мелочи, которые никто не мешает потом поправить. Особенно если в это уперлась разработка. Это все не главное. Цифры на цифровой клаве имеют право на существование. Посмотрите на Адом, если еще не видели.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 59 гостей