Цитата Сообщение от AzAtom Посмотреть сообщение
Выяснилось, что с ReadKey(key1, key2); работать неудобно, потому, что искомый код может оказаться в key1 или key2 и нужно их оба проверять. Если их будет 10, то совсем можно будет зашиться. Нужно что-то другое придумать.
Не нужно обе проверять, если только одна клавиша, а только первую переменную key1, т.к. асмовская процедура заполняет всегда сначала key1, если хотя бы одна клавиша нажата.
С 10-ю да, нужно подумать. Может, сортировать коды по возрастанию в буфере клавиш... Но это замедлит чтение.
Вернуться к конструкции if KeyPressed then ReadKey? Т.е. KeyPressed определяет, нажато ли хоть одно что-нибудь, а ReadKey уже медленная процедура для 10 клавиш.

- - - Добавлено - - -

Цитата Сообщение от AzAtom Посмотреть сообщение
Не реализовал функции ArrayClear - ищу способ
Это просто обнуление числового массива или заполнение пустыми строками строкового массива. На асме я сделал через команду ldir, чтобы юзер не писал свою медленно работающую пошлость for i:=1 to i_max do a[i]:=0;


Цитата Сообщение от AzAtom Посмотреть сообщение
MapSearch - толком не понял, что она ищет.
В ней куча опций. Ищет заданное значение клетки или диапазон значений клеток в области клеток карты (карта - двумерный массив типа byte).