Цитата:
Сообщение от
AzAtom
Ещё хорошо бы спектрум-специфические функции реализовать в отдельном модуле, функции работы со спрайтами, с экраном, вывод звука, ввод с клавиатуры. И тогда мы могли бы назвать модули одинаково и можно будет в дельфи компилировать под windows, в турбопаскаль компилировать под DOS, а в ZX Like Pascal компилировать под спектрум и всё это вообще без изменения кода.
Это я изначально не планировал, думал только под Спектрум. Сейчас Oleg N.Cher поругается.
Цитата:
MapSearch(<x>,<y>,<id element>,<id condition>,<distance>,<value variable>,<x variable>,<y variable>)
Поиск элемента (значения клетки) на карте вокруг исходной клетки <x>,<y> карты. Параметры карты должны быть предварительно заданы в операторе MapSet.
<x> - горизонтальная координата исходной клетки карты, может быть <arithmetic expression>.
<y> - вертикальная координата исходной клетки карты, может быть <arithmetic expression>.
<id element> - значение элемента (клетки карты), которое необходимо найти, может быть <arithmetic expression>.
<id condition> - условие поиска элемента (0 – равно значению элемента, 1 – не равно значению элемента, 2 – меньше значения элемента, 3 – больше или равно значению элемента), может быть <arithmetic expression>.
<distance> - расстояние в клетках от исходной клетки карты, может быть <arithmetic expression>.
<value variable> - имя переменной типа Byte, в которую запишется количество найденных элементов (если не найдены, то 0).
<x variable> - имя переменной типа Byte, в которую запишется горизонтальная координата ближайшего найденного элемента (если не найдены, то 0).
<y variable> - имя переменной типа Byte, в которую запишется вертикальная координата ближайшего найденного элемента (если не найдены, то 0).
Т.е., поиск определенного значения клетки карты вокруг клетки с координатами x,y на расстоянии distance в прямоугольной области. Можно просто искать конкретное значение клетки, а можно все не равные этому значению, или все клетки с бОльшим значением, или все клетки с меньшим значением. Нужно указать имена переменных <value variable>, <x variable>, <y variable>, куда запишется найденное количество подходящих клеток, удовлетворяющих условию поиска, а также ближайшие к искомой клетке координаты клетки с подходящим значением.