Инструменты пользователя

Инструменты сайта


msx:msx-logo:msx-logo

MSX-Logo

FIXME


оригинал

Реализация язык программирования Logo для MSX.

MSX Logo (English)

Константы

endсамостоятельное значение end
falseзначение «ложь»
trueзначение «истина»

Функции

Редактирование

ed strсмотри edit
edit strредактирует функцию
ednsоткрывает редактор, по выходу выполняет все команды
er strсмотри erase
erallстирает все функции пользователя
erase strстирает функцию пользователя
es n:intоткрывает редактор изображения черепашки (монохромной картинки 16×16 пикселей) под номером n
po [str]выводит на экран определения функций с именами из массива
poallвыводит на экран все определения функций и значения переменных
podsвыводит на экран вызванные ранее on.touch и when?
pofile strвыводит на экран содержимое файла с заданным именем?
ponsвыводит на экран все значения переменных
popsвыводит на экран все определения функций
potsвыводит на экран имена всех определённых пользователем функций
ppsвыводит все данные, запомненные через pprop, если для имени существует больше одной пары значений, пары будут выведены в разных строках
to strоткрывает редактор для редактирования функции
versionвыводит версию logo на экран

Управление

copydef src:str dst:strсоздаёт функцию dst как копию функции src
define name:str [args:[str] body:[commands]]определяет функцию name с параметрами args и телом body, в args не нужно писать двоеточие перед именами параметров, в commands — нужно
each [commands]выполняет команды
ern strстирает переменную
if cond:bool [commands1] [commands2]если условие верно, выполнит commands1, иначе commands2 если есть
make name:str val:?создаёт переменную name со значением val
name name:str val:?как make?
op ?может быть output?
output val:?возможно, преждевременный выход из функции, возвращая val
repeat r:int [команды]выполняет команды r раз
rerandomменяет seed?
run []выполняет аргумент как команды
stopпреждевременно выходит из функции, не возвращая значения
when n:int [команды]выполняет команды каждую секунду для n=0 или при каждом набранном с клавиатуры символе при n=1, смотри также pods

Проверки

definedp name:strвозвращает истину, если функция name определена
listp ?возвращает истину, если параметр — массив, для чисел и строк возвращает ложь
namep name:strвернёт истину, если переменная определена
numberp ?вернёт истину, если аргумент — число
shownpвозвращает истину ?
wordp ?возвращает «ложь» для массивов

Логические

and bool boolвозвращает логическое и
equalp ? ?вернёт истину, если значения равны
not boolвернёт противоположное значение
or bool boolвозвращает логическое или

Математические

arctan floatвозвращает арктангенс в градусах
cos floatвозвращает косинус от угла, заданного в градусах
diff float floatвозвращает разницу двух чисел
distance [float float]возвращает длину вектора
int floatокругляет в сторону нуля
minus floatвозвращает число с противоположным знаком
product ? ?возвращает произведение двух чисел
quotient float floatделит первый аргумент на второй
random v:intвозвращает случайное число в интервале 0⇐число<v
remainder float floatвозвращает остаток от деления первого аргумента на второй
round floatокругляет число по модулю к ближайшему целому, -0,5 → -1, 0,5 → 1
sin floatвозвращает синус от угла, заданного в градусах
sqrt floatвозвращает квадратный корень числа
sum float floatвозвращает сумму двух чисел
thing strвозвращает значение переменной

Текстовые

ascii charвозвращает код символа
char intвозвращает символ по его коду
word ? ?склеивает два аргумента в строку

Массивы

allвозвращает последовательность целых чисел 0…29
bfсмотри butfirst
blсмотри butlast
butfirst []возвращает массив без первого элемента или строку без первого символа
butlast []возвращает массив без последнего элемента или строку без последнего символа
count []возвращает длину массива
emptyp []вернёт истину, если массив пуст
first []возвращает первый элемент массива
fput val:? arr:[]возвращает массив, полученный добавлением val в начало arr
item int []возвращает элемент массива по индексу, нумерация с 1
last []возвращает последний элемент массива
list ? ?создаёт и возвращает массив из двух значений
lput val:? arr:[]возвращает массив, полученный добавлением val в конец arr
seсмотри sentence?
sentenceкак list?
spaceвозвращает массив из двух чисел (?)

Свойства

erprops?
erps?
gprop ? ??
plist name:strвозвращает массив запомненных функцией pprop значений
pprop name:str key:? val:?запоминает пару key:val под именем name, добавляя к имеющимся данным
remprop name:str key:strудаляет пару для имени name с ключом key

Экран

back dist:floatдвигает черепашку назад на dist пикселей
bgвозвращает текущий цвет фона
bkсмотри back
cgочистить графический экран и переместить черепашку домой
change.colorсмотри change.colour
change.colour src:int dst:intзаменяет на экране цвет src цветом dst
cleanочищает графический экран
colorсмотри colour
color.overсмотри colour.over
colourвозвращает цвет изображения черепашки
colour.overвозвращает цвет под черепашкой
csочищает текстовый и графический экраны
ctочищает текстовый экран
cursorвозвращает массив из двух элементов, номер колонки и номер строки текстового курсора
dot [float float]рисует или стирает выбранным пером точку в координатах относительно центра экрана, оси вправо вверх
fd floatсмотри forward
forward dist:floatперемещает черепашку вперёд на dist пикселей
getsh n:intвозвращает изображение черепашки номер n в виде массива из 32 байт
headingвозвращает направление черепашки в градусах
homeвозвращает черепашку домой и направляет её вверх
htпрячет черепашку
left ang:floatповорачивает черепашку против часовой стрелки на ang градусов
lt floatсмотри left
pcвозвращает цвет пера
pdсмотри pendown
peрезинка вместо пера
pendownопустить перо, рисовать
penupподнять перо, черепашка не рисует и не стирает
posвозвращает координаты черепашки относительно центра экрана как массив из двух чисел, оси направлены вправо и вверх
pr ?смотри print
print ?выводит аргумент на экран
puсмотри penup
pxперо, совмещённое с резинкой: если на пути черепашки есть рисунок, он будет стёрт, иначе — нарисован
right ang:floatповорачивает черепашку по часовой стрелке на ang градусов
rtсмотри right
setbg intустанавливает цвет фона
setc intустанавливает цвет изображения черепашки
setcursor [x:int y:int]устанавливает текстовый курсор в колонку x и строку y
seth ang:floatповорачивает черепашку в заданном направлении, смотри также heading
setpc intустанавливает цвет пера, смотри также pc
setpos [x:float y:float]устанавливает координаты черепашки относительно центра экрана, оси направлены вправо и вверх
setscr int??
setsh intвыбирает изображение черепашки, смотри также shape
setsp float
settext intустанавливает, с какой строки начинается текстовый экран: чем число больше, тем меньше строк текста поместится
setx floatустанавливает горизонтальную координату черепашки
setxvel floatустанавливает горизонтальную составляющую скорости черепашки
sety floatустанавливает вертикальную координату черепашки
setyvel floatустанавливает вертикальную составляющую скорости черепашки
shapeвозвращает номер выбранного для черепашки изображения
show ?как pr?
snap?
speedвозвращает числовое значение скорости черепашки, смотри также setsp
type ?выводит аргумент на экран без перевода строки
window?
wrap?
xcorвозвращает горизонтальную координату черепашки
xvelвозвращает горизонтальную составляющую скорости черепашки
ycorвозвращает вертикальную координату черепашки
yvelвозвращает вертикальную составляющую скорости черепашки

Ввод/вывод

buttonp d:intвозвращает нажата ли кнопка A на джойстике d=1…2
cload str?
csave str?
erf strстирает файл?
joy j:intвозвращает направление джойстика j=1…2, 0=нет, 1=вверх, 2=вверх-вправо, далее по часовой стрелке до 8=вверх-влево
joyp j:intвозвращает направление джойстика j=1…2, false=нет, true=1…8
keypвозвращает истину, если буфер клавиатуры не пуст
load str?
loadpic str?
noise rfreq:int vol:int len:intвоспроизводит шум c частотой, обратной rfreq=0…31, громкостью vol=0…15 и длительностью len=0…255 (похоже, в кадрах)
noprinter?
printer?
rlожидает ввода строки с клавиатуры и возвращает введённое
save str?
savepic str?
wait n:intзадержка в n кадров

Неизвестные

ask float? [?]?
copysh float? float??
dir ??
erds?
erns?
fill?
freeze?
on.touch float float []?
putsh float ??
rcrecycle ?
recycle?
rg?
scrunchвозвращает 1,1?
shade?
st?
stamp?
tell [float]?
text ??
thaw?
toot ? ? ? ??
toplevel?
towards ??
whoвозвращает 0?

Ссылки

msx/msx-logo/msx-logo.txt · Последние изменения: 2022-04-30 09:02 — GreyWolf