Ага, так понятнее.
Насчёт звука вопрос. Если передать в SoundEffect(0,0,0); это же будет самый длинный звук, да? Сколько секунд длится самый длинный звук?
Т.е., чтобы VirtualKeyCode код содержал и адрес порта? Ну что-то в этом есть, да, но это привязка к конкретному железу, виртуальные коды могут быть несовместимые или обязательно для всех спектрумов одинаковые?
В принципе, я тоже похожее предложил, только использовать не виртуальный 2 байтовый код клавиши, а 1 байтный вроде скан-кода клавиши, где не учитываются регистры букв, всё равно столько клавиш нет, кодов хватит и на джойстики тоже.
Читать не именно в текущий момент, а обработчик прерывания опрашивает клавиатуру и заполняет некий буфер. Функция KeyPressed(key:byte):boolean; ищет уже в этом массиве. Команда CPIR поможет. Правда, такая система занимает больше времени, но коды клавиш могут быть одинаковые для любой реализации клавиатуры и джойстиков.
- - - Добавлено - - -
Тоже думаю, что так будет лучше. Надо только добавить коды джойстиков.
- - - Добавлено - - -
Andrew771, про MapSearch. Если найдено 2 удовлетворяющие условиям ячейки, например, слева и справа на расстоянии 1, координаты которой будут возвращены? А если справа и справа-сверху, то которые координаты будут возвращены?





Ответить с цитированием