KORZYSTANIE Z WYKAZU
Kolorem czerwonym drukowane są hasta, dotyczące dialektu SINCLAIR LOGO dla ZX Spectrum 48 kB, wzorowanego na APPLE LOGO. Nieznacznie różniące się wersje LOGO dostępne są dla komputerów Atari 800XL oraz Amstrad CPC 464 — oraz typów z nimi zgodnych pod względem oprogramowania.
Kolorem niebieskim drukowane są hasta, odnoszące się do TERRAPIN LOGO w wersji podstawowej dla Apple II. Dialekt ten niemal pokrywa się z COMMODORE LOGO dla komputerów C 64 i C 128.
Hasta wspólne dla obu opisywanych dialektów drukowane są w kolorze czarnym.
Wszystkie przykłady przy hastach czarnych i czerwonych podane zostały przy użyciu SINCLAIR LOGO, pozostałe — TERRAPIN LOGO.
Hasłem jest najczęściej nazwa procedury, uzupełniona o typ jej parametrów oraz — jeżeli jest to operacja — o typ wyniku. Np.:
FORWARD n FD n
oznacza, że FORWARD wymaga jednego parametru, bądącego liczbą; FORWARD może zostać skrócone do FD.
SENTENCE nsl nsl ← l (SE nsl...) ← I
oznacza, że operacja SENTENCE zazwyczaj wymaga dwóch parametrów. Każdy z nich może być słowem, listą lub liczbą; wynikiem jej jest lista. SENTENCE może być skrócone do SE oraz wystąpić wraz z dowolną ilością parametrów w nawiasach okrągłych — zatem jest procedurą zachłanną.
HEADING ← n
oznacza, że HEADING jest operacją bezparame–trową, której wynikiem jest liczba.
Używane skróty, określające typy danych:
n — liczba, np. 3
250.0675
6.75E14
s — słowo, np. „HEJ”
3456
TRUE
I — lista, np. []
[Oto przykład [listy]]
[123 0]
p — wyrażenie logiczne o wartości TRUE lub FALSE, np.
1 = :x
MEMBERP 1 [1 2 3 4]
(.alfa > :beta)
1.1. Żółw
BACK n BK n
Przemieszczenie żółwia do tyłu o podaną liczbę kroków, bez zmiany jego kierunku (w przypadku podania parametru ujemnego żółw porusza się do przodu).
BACK 50
FORWARD n FD n
Przemieszczenie żółwia do przodu o podaną liczbę kroków, bez zmiany jego kierunku. W przypadku podania parametru ujemnego żółw porusza się do tyłu.
FORWARD 50
HIDETURTLE HT
Sylwetka żółwia zostaje usunięta z ekranu. Wszystkie procedury graficzne są dalej wykonywane bez zmian. Efektem ubocznym jest pewne zwiększenie tempa tworzenia rysunku.
TO SZYBKO :co
HT RUN :co ST
END
SZYBKO [REPEAT 50 [FD 80 RT 141]]
HOME
Żółw zostaje przemieszczony do swego położenia początkowego, tzn. w środek ekranu i ustawiony w pozycji pionowej. Jeżeli pisak żółwia jest w opcji PENDOWN lub PENREVERSE, żółw kreśli w trakcie tego przesunięcia linię.
RT 90 FD 70 HOME
LEFT n LT n
Obrót żółwia w lewo o podany w stopniach kąt, bez zmiany jego pozycji (parametr ujemny powoduje obrót w prawo).
LEFT 90
RIGHT n RT n
Obrót żółwia w prawo o podany w stopniach kąt, bez zmiany jego pozycji. W przypadku podania parametru ujemnego następuje obrót w lewo.
TO ZWROT RIGHT 180
END
ZWROT
SHOWNP ←P
Funkcja, określająca widoczność żółwia na ekranie. Przyjmuje wartość TRUE, gdy żółw jest widoczny, FALSE w przeciwnym przypadku.
SHOWTURTLE
PRINT SHOWNP
TRUE
SHOWTURTLE ST
Sylwetka żółwia ukazuje się na ekranie monitora.
HIDETURTLE
CS
SHOWTURTLE
TURTLESTATE ←I
Funkcja, określająca aktualny stan żółwia. Jej wartością jest lista czteroelementowa; pierwsze dwa elementy określają kolejno: opuszczenie pisaka oraz widoczność żółwia (TRUE lub FALSE). Trzeci element listy jest liczbą określającą kolor pisaka, czwarty określa kolor tła ekranu.
PRINT TURTLESTATE
TRUE TRUE 0 6
1.2. Ekran graficzny
CLEAN
Usunięcie wszystkich rysunków z ekranu graficznego. Żółw nie zmienia swojego położenia.
FD 40
CLEAN
CLEARSCREEN CS
Inicjalizacja ekranu graficznego. Wszystkie rysunki zostają usunięte, żółw ustawiony w środku ekranu i skierowany pionowo w górę. CS nie ma wpływu na stan pisaka, widoczność żółwia oraz na tryb ekranu (WRAP, WINDOW lub FENCE).
FD 40
CS
CLEARSCREEN CS
Patrz CLEAN.
DRAW
Patrz CLEARSCREEN.
FENCE
Tryb ekranu graficznego, w którym żółw nie ma możliwości przekraczania jego granic; każda próba tego rodzaju kończy się wydrukiem komunikatu LOGO.
FENCE FORWARD 500 0
Turtle out of bounds
NOWRAP
Patrz FENCE.
WINDOW
Tryb ekranu, w którym żółw może swobodnie poruszać się poza jego obrzeżem (wszystkie procedury graficzne są wykonywane również poza obszarem ekranu).
CS WINDOW
FD 5000 PR POSITION
0 5000
WRAP
WRAP
Tryb ekranu, w którym przy próbie przekroczenia jego krawędzi żółw ukazuje się po przeciwległej stronie ekranu.
CS WRAP
LT 30
FD 5000
1.3. Pisak
PENDOWN PD
Włączenie opcji „pisak opuszczony”. Żółw w trakcie przemieszczania się zostawia na ekranie ślad w postaci linii.
PENDOWN
SETPOS [50 0]
FD 40 HOME
PENERASE PE
Włączenie opcji pisaka, w której pełni on rolę „gumki” — żółw podczas ruchu usuwa istniejące elementy rysunku.
PD FD 60
PENERASE
BK 4 0
PENREVERSE PX
Włączenie opcji pisaka, w której podczas ruchu żółwia miejsca „zamalowane” rysunku są wymazywane, natomiast w pozostałych miejscach pojawia się linia.
PD FD 20
PENREVERSE
BK 6 0
PENUP PU
Opcja pisaka, w której żółw nie pozostawia żadnego śladu na ekranie.
TO SKOK :jaki
PU RUN :jaki PD
END
FD 20 SKOK[HOME BK 2]BK 20
1.4. Układ współrzędnych
ASPECT n
Ustalenie stosunku długości odcinka jednostkowego poziomej osi układu współrzędnych do długości odcinka jednostkowego osi pionowej. Standardowo (dla Apple II) wielkość ta wynosi 0.8. Zob. SETH SCRUNCH
DOT
Pojawienie się na ekranie punktu o podanych współrzędnych. Parametrem jest lista dwuelementowa, zawierająca żądane współrzędne X i Y punktu. DOT nie ma żadnego wpływu na aktualny stan zołwia.
DOT C10 803
DOT C500 10003
DOT
out of bounds
HEADING ← n
Aktualna wartość kąta pomiędzy pionem ekranu a kierunkiem żółwia. Kąt ten liczony jest w stopniach zgodnie z ruchem wskazówek zegara.
HOME PR HEADING
0
LT 90
PR HEADING 270
POSITION ← I POS ← I
Funkcja określająca aktualne współrzędne żółwia na ekranie. Jej wartością jest lista dwuelementowa, zawierająca te współrzędne.
HOME PR POS
0 0
BK 30 PRINT POS
0 –30
SCRUNCH ← I
Funkcja określająca aktualne wartości bezwzględne jednostek na poziomej i pionowej osi układu Standardowo SCRUNCH = [100 100]
PRINT SCRUNCH
100 100
SETHEADING n SETH n
Ustawienie żółwia pod żądanym kątem do pionu, podanym w stopniach i liczonym zgodnie z ruchem wskazówek zegara.
SETH 0
SETH TOWARDS [20 40]
SETPOS I
Przesunięcie żółwia do punktu, którego współrzędne są określone przez dwa elementy listy — parametru. Kierunek żółwia nie ulega zmianie.
TO SINUSOIDA :dl
REPEAT :dl[SETPOS SE XCOR
+ 180 * SIN XCOR * 2]
END
CS SINUSOIDA 120
SETCRUNCH I SETSCR I
Ustalenie wartości bezwzględnych jednostek na poziomej i pionowej osi układu współrzędnych. Parametrem jest dwuelementowa lista liczb, określających długości jednostek na osiach układu. Standardowo wartością tej listy jest [100 100].
TO PRZYKŁAD.ELIPSY
SETSCR [100 503]
REPEAT 36 [FD 10 RT 10]
END
PRZYKŁAD.ELIPSY
SETSCR [100 100]
SETX n n
Przesunięcie żółwia ao punktu o podanej współrzędnej poziomej X. Współrzędna Y i kierunek żółwia pozostają bez zmian.
TO SCHODY :ile
REPEAT: ile CSETY YCOR + .10
SETX XCOR + 153
END
CS SCHODY 6
SETXY I
Przesunięcie żółwia do punktu o podanych współrzędnych: poziomej i pionowej, bez zmiany jego kierunku. Odpowiednik SETPOS
SETY n
Przesunięcie żółwia do punktu o podanej współrzędnej pionowej Y. Współrzędna X i kierunek żółwia pozostają bez zmian.
TO HISTOGRAM: wartości
IF EMPTYP:wartosci [STOP]
SETY FIRST :wartosci SETX XCOR + 10
HISTOGRAM BUTFIRST
:wartości
END
CS HISTOGRAM [10 20 60 35 73 12 0]
TOWARDS “I” ← n
Funkcja, określająca kierunek żółwia w stopniach do podanego punktu płaszczyzny. Parametrem jest dwuelementowa lista liczb, wartością funkcji liczba z przedziału 0…360.
CS
PRINT TOWARDS [10 10]
45
TOWARDS n n ← n
Funkcja, określająca kierunek żółwia (liczony w stopniach od pionu ekranu) do punktu o podanych jako parametry współrzędnych. Odpowiednik TOWARDS
XCOR ← n
Aktualna wartość współrzędnej poziomej żółwia.
HOME RT 9 0 FD 40
PRINT XCOR
40
YCOR ← n
Aktualna wartość współrzędnej pionowej żółwia.
TO PIONOWO :odl
SETY YCOR + :odl
END
SETH 45 FD 40
PIONOWO 10
1.5. Kolor
BACKGROUND ←n GB ←n
Aktualna wartość liczby, określającej kolor tła ekranu. Dla ZX Spectrum wartość ta mieści się w przedziale 0…7.
TO DOPEŁNIJ
SETBORDER BACKGROUND
END
SETBG 6 DOPEŁNIJ
BACKGROUND
Ustalenie koloru tła ekranu zgodnie z podanym parametrem. Dla Apple II musi on być liczbą całkowitą z zakresu 1…6. Odpowiednik
PENCOLOR n
Ustalenie koloru pisaka zgodnie z podanym parametrem. Odpowiednik
SETPC n
Aktualna wartość liczby, określającej kolor pisaka.
SETPC 5
PRINT PC
5
SETBG n
Ustalenie koloru tła ekranu zgodnie z podanym parametrem — dla Spectrum liczbą z przedziału 0…7.
TO FLESZ :dlugosc
MAKE „x BACKGROUND
REPEAT :dlugosc [SETBG RANDOM 8]
SETBG :x
END
FLESZ 10
SETBORDER n SETBR n
Ustalenie koloru marginesu zgodnie z wartością parametru.
TO NEGATYW
MAKE „x BACKGROUND
SETBG PC SETBR PC
SETPC :x
END
NEGATYW
SETPC n
Ustalenie koloru pisaka zgodnie z wartością parametru.
HOME
REPEAT 10
[SETPC RANDOM]
Marcin Waligórski