|
Mam do sprzedania SD-BOX za 350 zł. Jesteś zainteresowany, to skontaktuj się. |
LOGO-64
LOGO-64 jest łatwym do nauczenia się językiem programowania pozwalającym szybko opanować zasady tworzenia kolorowych rysunków i prostych gier komputerowych. Daje podstawy do zrozumienia i poznania innych języków programowania, oraz w łatwy sposób uczy podstawowych słów w języku angielskim, używanych w informatyce.
Opracowanie składa się z dwóch części. Pierwszej, przeznaczonej dla początkujących programistów i drugiej, dla bardziej zaawansowanych użytkowników komputerów C-64.
Pierwsza część obejmuje dziesięć lekcji stopniowo wprowadzających w tajniki języka LOGO-64. Część druga zawiera opisy wszystkich rozkazów języka, omówienie komunikatów o błędach i przykładowa programy.
UWAGA:
Nigdy nie wkładaj ani nie wyjmuj kartridża przy włączonym zasilaniu komputera! |
Włóż kartridż do gniazda EXPANSION PORT (pierwsza z prawej strony) i włącz zasilanie. Na ekranie monitora zostanie wyświetlone menu języka LOGO-84:
ADD LINES - dodaj linię programu.
INSERT LINES - wstaw linię programu.
DELETE LINES - skasuj linię programu.
REPLACE A LINE - zastąp linię programu.
LIST PROGRAM - wylistuj program.
PRINT PROGRAM - wydrukuj program.
SAVE ON TAPE OR DISK - zapisz na kasecie lub dyskietce.
GET FROM TAPE OR DISK - wczytaj z kasety lub dyskietki.
MERGE A PROGRAM - połącz program.
EXECUTE A PROGRAM - wykonaj program.
TRACE A PROGRAM - prześledź program.
COMPOSE SPRITES - projektowanie duszków (sprajtów).
Naciskając na klawiaturze pierwszą literę odpowiedniego napisu decydujesz, którą opcję chcesz wybrać.
Na początek naciśnij literę A dla dodania nowej linii programu. Na ekranie monitora pojawi się napis:
ENTER LINE 1
? *
Teraz napisz PEN DOWN (opuść pisak). Sprawdź poprawność napisu; jeśli popełniłeś błąd, użyj klawisza DELete (prawy skrajny na górze), skasuj błąd i napisz poprawnie. Teraz naciśnij RETURN, aby wprowadzić tę linię do pamięci komputera. C-64 poprosi Cię o wprowadzenie drugiej linii programu ENTER LINE 2 i wypisze znak zapytania oraz mrugającą gwiazdkę. Napisz teraz TEXT WITAJ !!! i naciśnij RETURN. Tym sposobem napisałeś pierwszy program!
C-64 zapyta Cię o trzecią linię: ENTER LINE 3, zignoruj to i naciśnij RETURN, program powróci do LOGO-64 MENU. Upewnij się, że program, który przed chwilą napisałeś znajduje się w pamięci komputera. Naciśnij L aby wylistować program. Na ekranie pojawi się pytanie:
ENTER LINE RANGE - wprowadź numery linii
FROM-TO?* - od-do
Jeśli chcesz wylistować cały program, naciśnij RETURN. Na ekranie zobaczysz napis:
1 PEN DOWN
2 TEXT WITAJ !!!
Plik L1-1
1 i 2 nazywamy numerami linii programu. Wszystkie programy w LOGO-64 mają każdy rozkaz w osobnej linii, a linie numerowane są od 1 w górę. Ponieważ Twój pierwszy program miał tylko dwie linie, komputer przyporządkował im numery 1 i 2.
Naciśnij RETURN. Monitor powróci do LOGO-64 MENU. Spróbuj polecić komputerowi aby wykonał napisany przed chwilą program. Naciśnij E. Ekran zostanie wyczyszczony. W lewym górnym rogu pojawi się gwiazdka symbolizująca żółwia-logo i wykonany zostanie napis WITAJ !!!. Po skończeniu napisu program powróci do LOGO-64 MENU.
Teraz spróbuj zatrzymać napis na ekranie. Naciśnij A ponieważ będziesz musiał dodać jeszcze jedną linię do programu. Zostaniesz poproszony o wprowadzenie linii numer 3 "ENTER LINE 3. Napisz STOP i naciśnij klawisz RETURN. C-84 poprosi Cię o wprowadzenie linii numer 4, ale ponieważ na razie chcesz skończyć dopisywanie, naciśnij RETURN i komputer powróci do LOGO-64 MENU.
Teraz każ wykonać ten program, naciskając literę E. Napis WITAJ !!! zostanie na ekranie dopóki nie naciśniesz klawisza RETURN. Dopiero wtedy program powróci do LOGO-64 MENU. Dopisz kilka następnych linii do twojego programu:
4 CHARACTER TO +
5 TURTLE COLOR BLACK
6 MOVE TO 6-3
7 RIGHT 5
8 DOWN 5
9 LEFT 5
10 UP 5
11 STOP
Plik L1-1
Jeśli nie jesteś pewien jak dopisać te linie do programu, wróć do początku i sprawdź w jaki sposób dopisałeś linię nr 3.
Wykonaj ten program. Zobaczysz napis WITAJ !!!, naciśnij RETURN, żółw przesunie się w dół ekranu i narysuje prostokąt o boku równym 5 odstępów. Rysunek zostanie wykonany znakiem + gdyż tak kazałeś w linii nr 4.
Przyjrzyj się linii nr 6, MOVE TO 6-3. Czy rozumiesz znaczenie cyfr 6-3? Aby przesuwać żółwia po ekranie, musimy umieć nazwać każde miejsce na ekranie monitora. Wyobraź sobie, że ekran jest pokratkowaną kartką papieru, na której narysowano 25 rzędów i 40 kolumn. Wykonaj program, żółw przesunie się o 6 rzędów i o 3 kolumny i dopiero tam zacznie rysować prostokąt.
Wprowadź następne zmiany do programu. Naciśnij RETURN aby powrócić do MENU, teraz naciśnij literę R aby zamienić linię programu. Komputer zapyta Cię którą linię chcesz wymienić, napisz 3, na ekranie zobaczysz starą linię nr 3 oraz prośbę o wprowadzenie nowej linii - NOW ENTER NEW LINE.
Napisz PEN UP i naciśnij RETURN, ekran powróci do MENU, przez wylistowanie sprawdź czy zmiana została wprowadzona do programu.
Wykonaj program. Zobaczysz, że żółw napisze "WITAJ !!!", a następnie przemieści się do szóstego rzędu i trzeciej kolumny i tam zacznie poruszać się po obwodzie prostokąta lecz nie pozostawi na ekranie żadnego śladu.
Wylistuj jeszcze raz cały program, aby zobaczyć dlaczego żółw nie pozostawił na ekranie rysunku.
1 PEN DOWN
2 TEXT WITAJ !!!
3 PEN UP
4 CHARACTER TO +
5 TURTLE COLOR BLACK
6 MOVE TO 6-3
7 RIGHT 5
8 DOWN 5
9 LEFT 5
10 UP 5
11 STOP
Plik L1-2
Odpowiedź jest łatwa, żółw pozostawia na ekranie rysunek gdy wydasz mu komendę PEN DOWN, a nie pozostawia rysunku po komendzie PEN UP. Tak więc jeśli chcesz narysować prostokąt, musisz znaleźć sposób na umieszczenie komendy PEN DOWN między liniami 6 i 7.
Aby to wykonać, naciśnij klawisz RETURN i skorzystaj z instrukcji INSERT w LOGO-64 MENU.
Naciśnij literę I, komputer zapyta clę o numer linii przed którą chcesz umieścić dodatkową linię - BEFORE LINE #?. Napisz 7, ponieważ dodatkową linię powinieneś umieścić między liniami 6 i 7. Wprowadź rozkaz PEN DOWN i naciśnij RETURN. Program zapyta cię o linię nr 8. Ponieważ nie chcesz wprowadzać więcej nowych linii, naciśnij jeszcze raz RETURN i powróć do MEHU. Naciśnij klawisz L aby wylistować ostateczną wersję twojego pierwszego programu:
1 PEN DOWN
2 TEXT WITAJ !!!
3 PEN UP
4 CHARACTER TO +
5 TURTLE COLOR BLACK
6 MOVE TO 6-3
7 PEN DOWN
8 RIGHT 5
9 DOWN 5
10 LEFT 5
11 UP 5
12 STOP
Plik L1-3
Zauważ, że linia którą dodatkowo wstawiłeś do programu ma numer 7, a wszystkie linie następujące po niej zostały automatycznie przenumerowane.
Teraz możesz swój pierwszy program zapisać na kasecie lub dyskietce. Naciśnij klawisz RETURN, program powróci do MENU, wybierz opcję SAVE naciskając literę S. C-64 zapyta clę czy chcesz dokonać zapisu na kasecie czy na dyskietce - TAPE 0R DISK. Zapiszmy program na kasecie, w tyra celu naciśnij literę T i RETURN. Komputer zapyta Cię czy kaseta jest gotowa do zapisu - IS TAPE READY? i wyświetli literę Y. Jeżeli magnetofon jest gotowy do zapisu naciśnij klawisz RETURN na klawiaturze, a następnie RECORD i PLAY w magnetofonie. Po zapisaniu programu na kasecie ekran powróci do LOGO-64 MENU.
Dla ugruntowania wiadomości zawartych w lekcji nr 1 zapoznaj się z tłumaczeniem użytych w tekście słów i zwrotów:
RETURN - klawisz służy do wprowadzenia linii programu do pomięci komputera. Powtórne naciśnięcie tego klawisza przywraca MENU początkowe.
DELete - klawisz umożliwiający korygowanie błędnie wpisanych rozkazów przed naciśnięciem klawisza RETURN.
ADD - (dołączyć) opcja pozwalająca na napisanie nowej linii programu.
INSERT - (wstawiać) opcja umożliwiająca na wstawienie jednej lub więcej linii do istniejącego programu.
REPLACE - (zastąpić) pozwala na zamianę starej linii na nową w istniejącym programie.
LIST - (spis, lista) opcja listowania programu.
SAVE - (zapis) pozwala na zapisanie programu.
EXECUTE - (wykonać) pozwala uruchomić napisany program.
PEN DOWN - (opuść pisak) umożliwia rysowanie podczas przemieszczania się żółwia.
PEN UP - (podnieś pisak) pozwala na przemieszczanie się żółwia po ekranie bez pozostawiania śladu.
TEXT - (tekst) pozwala żółwiowi na pozostawianie na ekranie napisów (jeśli wcześniej wydano polecenie PEN DOWN).
CHARACTER TO - (litera, czcionka) definiuje czcionkę którą posługuje się żółw podczas rysowania.
TURTLE COLOR - (kolor żółwia) definiuje kolor śladu pozostawianego przez żółwia.
UP - (do góry) kierunek ruchu żółwia do góry ekranu.
DOWN - (do dołu) kierunek ruchu żółwia do dołu ekranu.
RIGHT - (w prawo) kierunek ruchu żółwia w prawo.
LEFT - (w lewo) kierunek ruchu żółwia w lewo.
MOVE TO - (przesuń do) przesuwa żółwia do określonego rzędu i określonej kolumny ekranu.
STOP - zatrzymuje przebieg programu do momentu naciśnięcia klawisza RETURN.
ĆWICZENIA
- Spróbuj zmienić kolor, rodzaj znaku wykorzystywanego przez żółwia podczas rysowania, położenie i kształt rysunku. Spróbuj użyć znaków graficznych po komendzie TEXT [znaki graficzne uzyskasz przez naciśnięcie klawisza COMMODORE łącznie z dowolną literą].
- Wybierz opcję DELETE, spróbuj skasować napisany program. Pamiętaj, że zawsze możesz wczytać kopię programu z kasety.
- Napisz nowy program drukujący twoje imię na ekranie, a następnie obrysuj je prostokątem z czerwonych serduszek.)
Aby zacząć drugą lekcję przyjrzyj się ponownie MENU:
Chcemy znowu wprowadzić nowe zmiany do programu z poprzedniej lekcji. Program nagrałeś na kasecie, włóż ją do magnetofonu, naciśnij literę G. C-64 zapyta Cię czy chcesz używać kasety czy dyskietki i wyświetli mrugającą literę T dla kasety. Ponieważ program nagrałeś na niej, naciśnij tylko RETURN. Komputer ponownie zapyta czy jesteś gotowy, Jeśli tak, to znowu naciśnij RETURN. C-64 poprosi byś nacisnął klawisz PLAY w magnetofonie - PRESS PLAY ON TAPE, gdy to zrobisz, program zostanie ponownie wczytany do pamięci komputera. Po tym na ekranie pojawi się ponownie MENU.
Naciśnij L 1 wylistuj program, potem go uruchom [litera E] i sprawdź czy działa poprawnie.
Teraz spróbujemy nauczyć żółwia używać kolorów. Powróć do MENU i naciśnij literę I. Jak pamiętasz z pierwszej lekcji komputer poprosi o podanie numeru linii przed którą chcesz wprowadzić nowe linie. Podaj 1 (bo kolory których chcesz używać najwygodniej jest określać na początku programu) i naciśnij RETURN. C-64 poprosi cię o wprowadzenie linii nr 1 - ENTER LINE 1. Wpisz następujące linie:
1 SCREEN COLOR GREEN
2 BORDER COLOR PURPLE
3 TURTLE COLOR WHITE
Plik L2-1
Po napisaniu tych linii naciśnij klawisz RETURN by powrócić do LOGO-64 MENU.
Wylistuj program, by sprawdzić czy nowe linie zostały umieszczone w programie. Teraz uruchom program, ekran jest teraz naprawdę kolorowy. Linie 1, 2, 3 napisane przed chwilą definiują kolory: 1 - ekranu; 2 - tła; 3 - żółwia.
Do dyspozycji masz następujące kolory:
BLACK |
czarny |
WHITE |
biały |
RED |
czerwony |
CYAN |
błękitny |
PURPLE |
purpura |
GREEN |
zielony |
BLUE |
niebieski |
YELLOW |
żółty |
ORANGE |
pomarańczowy |
BROWN |
brązowy |
LIGHT RED |
jasnoczerwony |
GRAY 1 |
szary 1 |
GRAY 2 |
szary 2 |
GRAY 3 |
szary 3 |
LIGHT GREEN |
jasnozielony |
LIGHT BLUE |
jasnoniebieski |
Spróbuj w liniach 1, 2, 3 wpisać inne kolory i wybierz te, które ci najbardziej odpowiadają.
Spróbujmy teraz czegoś nowego. Wylistuj twój program:
1 SCREEN COLOR GREEN
2 BORDER COLOR PURPLE
3 TURTLE COLOR WHITE
4 PEN DOWN
5 TEXT WITAJ !!!
6 PEN UP
7 CHARACTER TO +
8 TURTLE COLOR BLACK
9 MOVE TO 6-3
10 PEN DOWN
11 RIGHT 5
12 DOWN 5
13 LEFT 5
14 UP 5
15 STOP
Plik L2-1
Pierwsze trzy linie w twoim programie mogą być inne, jeśli wybrałeś inne kolory. Reszta programu powinna być taka sama jak zapisana wyżej. Jeśli nie jest taka sama, to za pomocą rozkazów REPLACE i INSERT powinieneś potrafić ją poprawić.
Linie 11 do 14 służą do narysowania pudełka o bokach równych 5 wierszy i 5 kolumn. Gdybyś chciał narysować pudełko o innych rozmiarach, za każdym razem musiał byś napisać te cztery linia od nowa. Taki sposób zabiera wiele czasu. Poznasz teraz procedurę, dzięki której można to wykonać o wiele łatwiej.
Postaraj się bardzo uważnie prześledzić następne kilka instrukcji. Najpierw wróć do MENU naciskając klawisz RETURN, teraz naciśnij literę D aby wybrać opcję kasowania. Na ekranie pojawi się napis:
ENTER LINE RANGE
FROM-TO?*
Nie naciskaj klawisza RETURN, gdyż skasowałbyś cały program, podaj tylko numery linii które chcesz skasować. Napisz 10-14 i dopiero wtedy naciśnij RETURN. W ten sposób skasujesz linie od 10 do 14. Teraz na ekranie znowu pojawi się MENU. Wylistuj program, zwróć uwagę, że linie 10 do 14 zostały skasowane, a nowa linia 10 to stara linia nr 15.
Jak widzisz, aby skasować pewną grupę linii, należy po pytaniu
FROM-TO?*
podać numer pierwszej i ostatniej linii w grupie którą chcesz skasować, rozdzielone myślnikiem. Jeśli chcesz skasować tylko jedną linię, wtedy podajesz tylko jeden numer, a gdy chcesz skasować cały program, wtedy od razu naciskasz klawisz RETURN.
Naciśnij teraz RETURN, by powrócić do MENU, po czym naciśnij literę I i dopisz następujące linie:
10 CALCULATE X=7
11 PEN DOWN
12 RIGHT X
13 DOWN X
14 LEFT X
15 UP X
Plik L2-2
Ten program narysuje pudełko o bokach równych 7 wierszy na 7 kolumn. Uruchom go, aby się o tyra przekonać.
X w powyższym programie nazywamy ZMIENNĄ, gdyż może ona przyjmować różne wartości w różnym czasie. Linię numer 10 - CALCULATE X=7 komputer rozumie w ten sposób, że gdy gdziekolwiek w programie spotka X, przyjmuje zamiast X wartość podaną w rozkazie CALCULATE X=n, w naszym przypadku X=7.
Użycie zmiennych ułatwia programowanie, choć może na pierwszy rzut oka tak nie wygląda. Aby się o tyra przekonać, spróbuj parę razy zmienić rozmiary pudelka w powyższym programie.
W tym programie, jeśli chcesz narysować pudełko o boku równym 3, wystarczy zamienić tylko linię nr 10 CALCULATE X=3. Program, gdy tylko spotka X przyjmie wartość 3. Np. UP X = UP 3.
Co musisz zrobić by narysować pudełko o boku równym 5? Oczywiście, wystarczy w linii nr 10 napisać CALCULATE X=5. Zmień linię nr 10 i sprawdź, że program rysuje teraz pudełko o boku 5 (wysokość 5 linii, szerokość 5 wierszy).
Zmiana jednej linii - nr 10 jest łatwiejsza i szybsza niż czterech - nr 12, 13, 14, 15. W długich programach używanie zmiennych zmniejsza prawdopodobieństwo popełnienia błędu, a i poprawianie takiego programu jest łatwiejsze. W LOGO-64 jako zmiennych możesz używać dowolnych liter alfabetu. Możesz także używać kombinacji liter i liczb. Np. jeśli napiszesz taką linię programu: CALCULATE X=Y+2 program znając wartość Y obliczy X i zapamięta ją, by zawsze, gdy spotka X mógł wstawić właściwą wartość. Lub gdy program spotka linię: DOWN X+5, najpierw obliczy ile wynosi X+5, a dopiero potem wykona polecenie - przesunie w dół o X+5 rzędów. Jeżeli nie podasz wartości zmiennej, program przyjmie ją jako równą zero.
Spróbuj odpowiedzieć: jeśli program składa się z następujących linii, to ile wynosi F?
1 CALCULATE A=2
2 CALCULATE B=3
3 CALCULATE F=A+B
Jeśli odpowiedziałeś F=5 rozwiązałeś ćwiczenie poprawnie! A jak zmieni się wartość F gdyby linia nr 3 wyglądała następująco:
3 CALCULATE F=A+B+C
Jeśli odpowiedziałeś, że wartość F się nie zmieniła, to masz rację. C nie zostało przecież nigdzie określone, więc komputer przyjmie, że równa się zero.
Wróć do MENU, wylistuj program i postaraj się znaleźć sposób no narysowanie pudełka o poziomym boku o 3 szerszym od pionowego. Rozwiązanie jest dobrym przykładem na użycie zmiennej i liczby. Zamień linie 12 i 14 na:
12 RIGHT X+3
14 LEFT X+3
Spróbuj z innymi rozmiarami boków. Jak powinien wyglądać program rysujący pudełko o poziomym boku równym X, a pionowym Y? Postaraj się napisać taki program samodzielnie, poczym każ go wykonać, by się upewnić, że pracuje poprawnie. Powinieneś np. dopisać następujące linie:
10 CALCULATE X=14
11 CALCULATE Y=15
12 PEN DOWN
13 RIGHT X
14 DOWN Y
15 LEFT X
16 UP Y
17 STOP
Plik L2-3
Zapisz powyższy program ponieważ będziesz używał go w następnej lekcji. Do zapisania użyj komendy SAVE.
Na zakończenie lekcji nr 2 powtórzmy znaczenie niektórych rozkazów:
SAVE - zapisuje program na kasecie lub dyskietce.
DELETE - kasuje jedną lub więcej linii w programie.
COLORS - definiuje kolor ekranu, tła i treści rysunku.
CALCULATE - określa lub wylicza wartość zmiennej, np. D=E*3+8.
ZMIENNA - dowolna litera alfabetu zdefiniowana w rozkazie CALCULATE.
ĆWICZENIA
- Jeśli używasz kolorowego monitora zmień kolor tła - BORDER na błękitny - CYAN.
- Zmień program tak, by ekran i rysunek miały ten sam kolor, co widzisz na ekranie i dlaczego?
- Napisz program wiele razy zmieniający kolory ekranu i tła.
Wczytaj program, który zapisałeś w lekcji nr 2 i wylistuj go. Ekran powinien wyglądać następująco:
1 SCREEN COLOR GREEN
2 BORDER COLOR PURPLE
3 TURTLE COLOR WHITE
4 PEN DOWN
5 TEXT WITAJ !!!
6 PEN UP
7 CHARACTER TO +
8 TURTLE COLOR BLACK
9 MOVE TO 6-3
10 CALCULATE X=14
11 CALCULATE Y=15
12 PEN DOWN
13 RIGHT X
14 LEFT Y
15 LEFT X
16 UP Y
17 STOP
Plik L2-3
W twoim programie mogłeś wybrać inne kolory, oraz inne litery dla zmiennych, lecz reszta programu powinna być taka sama. Jeśli nie, to użyj rozkazów: REPLACE, DELATE i ADD dla poprawienia błędnych linii.
Uruchom - EXECUTE program i sprawdź, czy poprawnie rysuje pudełko. Procedurę rysującą pudelka możesz stosować w innych programach, dlatego warto nauczyć się, w jaki sposób dołączać taki program (procedurę) do innych większych programów. Na początek dołącz dwie dodatkowe linie przed linią nr 17.
17 PEN UP
18 ROUTINE END
Teraz dołącz jeszcze jedną nową linię przed linią nr 12.
12 LABEL BOX
Ostatnia część programu powinna wyglądać następująco:
10 CALCULATE X=14
11 CALCULATE X=15
12 LABEL BOX
13 PEN DOWN
14 RIGHT X
15 DOWN Y
16 LEFT X
17 UP Y
18 PEN UP
19 ROUTINE END
20 STOP
Po komendzie LABEL możesz podać dowolną nazwę, nazwę tę będziesz używał zawsze, gdy będziesz chciał skorzystać z tej procedury. W powyższym programie użyta została nazwa BOX - pudełko, możesz oczywiście użyć innej nazwy.
Przyjrzyj się powyższemu programowi. W linii nr 12 występuje komenda LABEL - etykieta, a zaraz po niej nazwa BOX, w linii nr 19 komenda ROUTINE END - koniec procedury. Program zawarty między liniami nr 12 do 19 nazywamy procedurą lub podprogramem (w tyra przypadku procedurą rysowania pudelka). Jeżeli kiedykolwiek będziesz musiał w programie narysować pudełko, wystarczy wczytać do pamięci C-64 procedurę B0X (od LABEL BOX do ROUTINE END) i zastosować rozkaz USE - użyj, w naszym przypadku USE B0X. Użyjmy procedury B0X do narysowania wielu pudełek. Dołącz INSERT następujące linie do starego programu, przed linią nr 20:
20 MOVE TO 8-6
21 CALCULATE X=2
22 CALCULATE Y=3
23 USE B0X
24 MOVE TO 8-12
25 USE BOX
26 MOVE TO 13-9
27 CALCULATE Y=2
28 USE BOX
29 MOVE TO 15-6
30 PEN DOWN
31 DOWN 3
32 RIGHT 8
33 UP 4
34 PEN UP
35 CHARACTER TO *
36 TURTLE COLOR WHITE
37 MOVE TO 10-7
38 PEN DOWN
39 UP 1
40 SET COLUMN TO 13
41 SET ROW TO 10
Uf! Ile linii. Teraz uruchom program, Na ekranie monitora komputer narysuje zarys uśmiechniętej twarzy. Jedyne nowe rozkazy w twoim programie to linie 40 i 41: SET COLUMN TO i SET ROW TO. Rozkazy te szybko przemieszczają kursor syrabolizujący żółwia w miejsce na ekranie określone numerem rzędu i numerem kolumny. Podobnie, lecz powoli działa rozkaz MOVE TO.
Program zrobił się tak długi, że po wylistowaniu nie mieści się cały na ekranie. Aby zatrzymać listowanie, wystarczy nacisnąć i prztrzymać klawisz SPACE, puszczenie klawisza SPACE wznowi listowanie. Cały program rysujący uUśmiechniętą twarz wygląda następująco:
1 SCREEN COLOR GREEN
2 BORDER COLOR PURPLE
3 TURTLE COLOR WHITE
4 PEN DOWN
5 TEXT WITAJ !!!
6 PEN UP
T CHARACTER TO +
8 TURTLE COLOR BLACK
9 MOVE TO 6-3
10 CALCULATE X=14
11 CALCULATE Y=15
12 LABEL BOX
13 PEN DOWN
14 RIGHT X
15 DOWN Y
17 LEFT X
17 UP Y
18 PEN UP
19 ROUTINE END
20 MOVE TO 8-6
21 CALCULATE X=2
22 CALCULATE Y=3
23 USE BOX
24 MOVE TO 8-12
25 USE BOX
26 MOVE TO 13-9
27 CALCULATE Y=2
28 USE BOX
29 MOVE TO 15-6
30 PEN DOWN
31 DOWN 3
32 RIGHT 8
33 UP 4
34 PEN UP
35 CHARACTER TO *
36 TURTLE COLOR WHITE
37 MOVE TO 10-7
38 PEN DOWN
39 UP 1
40 SET COLUMN TO 13
41 SET ROW TO 10
42 STOP
Plik L3
Rozkazy, użyte w liniach 1 do 8 są Ci dobrze znane, wyjaśnimy więc tylko program rysujący uśmiechniętą twarz. Zarys twarzy składa się z czterech pudełek. Za każdym razem, gdy żółw ma narysować pudełko, musi wykonać trzy czynności:
- Przemieszcza się - MOVE do wskazanego miejsca ekranu.
- Wylicza - CALCULATE, jeśli jest taka potrzeba, wymiary pudełka.
- Rysuje pudełko, przy użyciu podprogramu, który nazwaliśmy BOX.
Przyjrzyj się liniom od 9 do 19. W tych liniach zawarta jest procedura rysowania pierwszego pudełka. Linia nr 9 przemieszcza żółwia do 6 rzędu i 3 kolumny, czyli miejsca na ekranie z którego chcemy zacząć rysować. Linie 10 i 11 mówią, że X wynosi 14, a Y wynosi 15. Linia nr 12 oznacza początek podprogramu nazwanego BOX. Od następnej linii, nr 13, żółw zaczyna zostawiać ślad na ekranie - PEN DOWN - opuść pisak. Linia nr 14 każe przesunąć się żółwiowi o X jednostek (wiemy że X=14) w prawo. Linia nr 15 o Y - 15 jednostek w dół. Linia nr 16 o X - 14 jednostek w lawo i linia nr 17 o Y = 15 jednostek do góry. W 18 linii żółw przestaje zostawiać ślad na ekranie - PEN UP - podnieś pisak. Linia nr 19 oznacza koniec podprogramu nazwanego BOX a ponieważ wcześniej nie było komendy USE, żółw zacznie realizować następną linię programu. W ten sposób został narysowany obrys twarzy.
Linia nr 20 posyła żółwia do miejsca określonego przez przecięcie 8 rzędu i 6 kolumny. W liniach 21 i 22 zmienia się wartość X na 2 i Y na 3. Wartości są małe, ponieważ chcemy narysować małe oczy. Linia nr 23, USE BOX, mówi żółwiowi, by znalazł i zastosował podprogram nazwany BOX. Tak więc program, zamiast przejść do następnej linii, skacze do linii nr 12 i zaczyna rysować pudełko o bokach: X=2 i Y=3. Ponieważ żółw wykonał skok do podprogramu BOX po komendzie USE, to po dojściu do końca podprogramu wróci do następnej linii, po rozkazie USE, czyli do linii nr 24.
Przyjrzyj się linii nr 24. Tym razem żółw przemieszcza się do innego miejsca ekranu, ale nie zmienia wielkości rysowanego pudełka, (chcemy by oczy były takie same), dlatego nie podajemy nowych wartości dla X i Y. X dalej pozostaje równe 2, a Y równe 3. Po wykonaniu podprogramu BOX, linia nr 25, żółw wraca do następnej linii, czyli nr 26. Linia nr 26 przemieszcza żółwia w miejsce ekranu gdzie ma być narysowany nos. Wartość X nadal pozostaje równa 2, lecz Y zmienia się też na 2 (linia nr 27 CALCULATE Y=2). Linia nr 28 wywołuje podprogram rysowania pudełka - USE BOX, po narysowaniu nosa program wraca do linii nr 29. W ten sposób zostały narysowane cztery pudełka (obrys twarzy, oczy i nos), linie od 29 do 34 rysują usta, a linie 35 do 41 dodają iskierki w oczach.
Powinieneś teraz uważnie przyjrzeć się po kolei każdej linii programu i zastanowić się, czy rozumiesz w jaki sposób wykorzystywane są instrukcje: LABEL, R0UT1NE END i USE, aby wielokrotnie wykorzystać jedną część programu. Jeśli wszystko rozumiesz, możesz przejść do lekcji nr 4.
Powtórzmy najważniejsze dotychczas poznane instrukcje:
LABEL - pozwala nadać nazwę grupie instrukcji w programie, czyli wyodrębnić część programu jako PODPROGRAM.
ROUTIHE END - określa koniec PODPROGRAMU. Gdy instrukcja USE spowoduje skok programu do miejsca, w którym instrukcja LABEL określa nazwę podprogramu, to ROUTINE END odsyła z powrotem do następnej linii po instrukcji USE.
USE - pozwala na użycie wcześniej napisanego podprogramu, w dowolnym miejscu programu. Należy wcześniej instrukcją LABEL nazwać podprogram i po USE podać tę nazwę.
SET COLUMN TO i SET ROW TO - instrukcje wymuszające natychmiastowy skok żółwia do określonej kolumny i rzędu zamiast wolno działającej instrukcji MOVE TO.
CWICZENIA
- Spróbuj zmienić kolory i znak + w rysunku usmiechniętej twarzy. Zmień usta na smutne.
- Spróbuj dopisać dalszy ciąg programu, aby dorysować uszy i włosy. Zapisz treść programu na kasecie lub dyskietce.
- Napisz program rysujący dom z drzwiami, oknami, skośnym dachem i kominem.
Zacznij pisać nowy program:
1 CHARACTER TO !
2 PEN DOWN
3 TEXT !HURRA
4 DOWN 1
5 RIGHT 1
6 TEXT HURRA
7 DOWN 1
6 RIGHT 1
9 TEXT HURRA!
10 STOP
Plik L4-1
Uruchom - EXECUTE ten program, na ekranie zobaczysz napis:
Program, drukujący powyższy napis można napisać inaczej. Skasuj - DELETE linie 3-4, oraz 6-7 i dołącz przed linią nr 6 - INSERT BEFORE LINE #6:
LOOP END
Dołącz jeszcze przed linią nr 3 - INSERT BEFORE LINE #3:
LOOP 3
Wylistuj. Program powinien wyglądać następująco:
1 CHARACTER TO !
2 PEN DOWN
3 LOOP 3
4 RIGHT 1
5 TEXT HURRA
6 DOWN 1
T LOOP END
8 STOP
Plik L4-2
Ponownie uruchom program - EXECUTE i sprawdź, że napis na ekranie wygląda tak samo:
Ten program ma tylko jedną linię tekstową TEXT. Dlaczego więc drukuje na ekranie napis !HURRA! trzy razy? Żółw drukuje trzy razy napis !HURRA! ponieważ instrukcja TEXT znajduje się wewnątrz pętli - LOOP. Napis !HURRA! drukowany jest trzy razy, ponieważ po komendzie LOOP podaliśmy cyfrę 3.
Gdy występuje konieczność powtórzenia grupy instrukcji, należy zastosować instrukcję LOOP. Możesz oczywiście użyć dowolnych instrukcji wewnątrz pętli, i kazać powtórzyć je dowolną ilość razy.
Pętle są często używane podczas programowania w wielu językach, dlatego warto dobrze zrozumieć mechanizm ich działania. W powyższym programie, żółw w trzeciej linii znajduje instrukcję LOOP, odczytuje ile razy musi ją powtórzyć (w naszym przypadku trzy razy) i zaczyna realizować pierwszą instrukcję po instrukcji LOOP (przesuń w prawo o 1, potem wydrukuj HURRA, przesuń w dół o 1). Linia nr 7 oznacza koniec pętli - LOOP END. Program wewnątrz pętli zostanie wykonany trzy razy, ponieważ po instrukcji LOOP napisałeś cyfrę 3.
Żeby przekonać się, że umiesz zaprogramować ilość powtórzeń, zmień w linii nr 3 ilość powtórzeń na 6.
Teraz żółw napisze HURRA sześć razy. Spróbuj innych ilości powtórzeń.
Zapisz ten program na kasecie lub dyskietce.
Teraz inny przykład użycia instrukcji LOOP. Skasuj pamięć komputera rozkazem DELETE i napisz następujący program:
1 CALCULATE Q=4
2 LOOP 3
3 PEN DOWN
4 RIGHT Q
5 DOWN Q
S LEFT Q
7 UP Q
6 PEN DOWN
9 DOWN Q+2
10 LOOP END
11 STOP
Plik L4-3
Wykonaj program, żółw narysuje na ekranie trzy kwadraty. Przyjrzyj się liniom nr 2 i 10. Linia nr 2 określa początek pętli i ilość powtórzeń (w naszym przypadku 3), a linia nr 10 kończy pętlę. Wszystkie instrukcje znajdujące się między liniami 2 i 10 zostaną wykonane po kolei trzy razy. Program zawarty między tymi liniami rysuje kwadrat i przesuwa żółwia o 2 linie w dół.
Podczas realizacji pętli, żółw korzysta ze wskaźnika ilości wykonań pętli - INDEX, wskaźnik liczy, ile razy pętla została wykonana i gdy jego wartość zrówna się z liczbą podaną po instrukcji LOOP, wtedy dopiero program przechodzi do następnej linii po LOOP END. Tak więc, przy pierwszej realizacji instrukcji LOOP, wskaźnik jest równy 1 i rośnie o jeden po każdym powrocie do instrukcji LOOP.
Po dojściu do LOOP END program sprawdza wartość wskaźnika i gdy jest równy wartości podanej w instrukcji LOOP, wychodzi z pętli do następnej linii po LOOP END.
Zwróć uwagę, że procedura pętli jest podobna do podprogramu. Obie służą do wielokrotnego wykonywania określonego ciągu instrukcji. Gdy występuje potrzeba powtórzenia ciągu instrukcji w jednym miejscu, wtedy wygodniej jest stosować pętle, gdy natomiast ciąg instrukcji ma być wykonywany w różnych miejscach, wygodniejszy jest podprogram.
Naciśnij klawisz D, by skasować poprzedni program z pamięci C-64, teraz A i zacznij pisać nowy program:
1 TURTLE COLOR RED
2 CLEAR SCREEN
3 MOVE TO 11-11
4 CALCULATE X=10
5 PEN DOWN
6 LOOP X
7 FORWARD INDEX
8 TURN RIGHT
9 LOOP END
10 STOP
Plik L4-4
Uruchom program i popatrz na ekran. W programie występuje kilka nowych instrukcji:
CLEAR SCREEN - linia nr 2 kasuje całą zawartość ekranu.
LOOP X - linia nr 6 polecenie nakazujące wykonać instrukcje zawarte między LOOP X i LOOP END X razy. Po wykonaniu pętli X razy program wykona następną instrukcję po LOOP END. X oznacza ilość powtórzeń i może być liczbą, zmienną lub kombinacją zmiennej i liczby. Np. 3*Y+6.
FORWARD INDEX - linia nr 7 powoduje przesunięcie żółwia w ostatnio zadeklarowanym kierunku o ilość pól równą wskaźnikowi INDEX. Wskaźnik INDEX jest numerem wykonywanej pętli. Np. podczas pierwszego wykonania pętli, wskaźnik INDEX równa się jeden, a podczas piątego - pięć.
TURN RIGHT - linia nr 8 zmienia kierunek ruchu żółwia o 90 stopni w prawo. Inne instrukcje działające podobnie to: TURN LEFT - skręć w lewo; TURN AROUND - odwróć się; HALFTURN RIGHT - skręć o 45 stopni w prawo; HALFTURN LEFT - skręć o 45 stopni w lewo.
Spróbujmy teraz dokładnie prześledzić, w jaki sposób żółw rysuje na ekranie spiralę. Aby ułatwić Ci zrozumienie tego programu, skorzystamy z opcji TRACE - śledzić. Ta opcja pozwala na prześledzenie całego programu linia po linii.
Przejdź do MENU i naciśnij literę T. Ekran zostanie wyczyszczony i w górnym lewym rogu ekranu pojawi się pierwsza instrukcja twojego programu: 1 TURTLE COLOR RED. Naciśnij RETURN i C-84 wykona pierwszą instrukcję. Poczym zostanie wypisana następna instrukcja: 2 CLEAH SCREEN. Naciśnij znowu RETURN i ta instrukcja zostanie też wykonana.
W ten sposób możesz prześledzić działania całego programu, instrukcja po instrukcji. Jeśli chcesz przyspieszyć przeglądanie programu, naciśnij i przytrzymaj jeden z klawiszy CRSR (na dole po prawej stronie klawiatury), Jeśli chcesz przerwać śledzenie programu, wystarczy nacisnąć klawisz RUN/STOP i na ekranie pojawi się znowu LOGO-64 MENU. Opcja śledzenia - TRACE jest bardzo przydatna do odnajdywania błędów w programie. Pozwala na prześledzenie działania programu instrukcja po instrukcji i w ten sposób na zlokalizowanie miejsca, w którym popełniłeś błąd. Pamiętaj, że komputer nie popełnia błędów, tylko czasami programista każe wykonać mu niewłaściwą instrukcję.
Jeszcze raz sprawdź, czy rozumiesz co znaczy każda linia w programie rysującym spiralę. Jeśli nie rozumiesz wszystkiego, przeczytaj raz jeszcze informacje zawarte wyżej i/lub prześledź - TRACE program krok po kroku. Zapisz program, by użyć go w lekcji nr 5.
CWJCZENIA
- Wczytaj program L4-3. Skasuj - DELETE linię nr 6. Dołącz - INSERT przed linią nr 5: DOWN 1. Linie 5 i 6 zostaną zamienione miejscami. Co stało się z napisem HURRA i dlaczego?
- Pomyśl, jak napisać program rysujący choinkę, używając instrukcji LOOP i INDEX. Pomóc może ci przyjrzenie się, jak została użyto instrukcja INDEX w programie rysującym spiralę.
Np. program rysujący choinkę może wyglądać następująco:
- Wprowadź zmiany, tak by program rysował kilka choinek. Zastosuj USE podprogram zmieniający miejsce rysowania choinki, a wewnątrz niego umieść pętlę rysującą drzewko. Narysuj cztery drzewka.
Aby zacząć piątą lekcję programowania LOGO-64, wczytaj do pamięci komputera program rysujący spiralę z poprzedniej lekcji - L4-4. Dodaj następujące linie przed linią nr 5:
5 BEEP 34
6 WAIT 50
7 NO BEEP
Plik 5-1
Uruchom program. Zwróć uwagę na dźwięk generowany przez komputer.
Linia nr 5 BEEP 34 każe wygenerować dźwięk o wysokości fortepianowego środkowego C. Wykaz wysokości dźwięków i przyporządkowane im liczby w instrukcji BEEP znajdziesz na końcu opracowania. WAIT 50 linia nr 6, każe żółwiowi czekać 50 jednostek (jedna jednostka równa się 1/50 sekundy). Linia nr 7 każe wyłączyć dźwięk - BEEP OFF.
Teraz kilka następnych zmian w programie. Przed linią nr 5 dodaj - INSERT:
5 USE SPIRAL
Przed linią nr 9 dodaj:
9 LABEL SPIRAL
Przed linią nr 15 dodaj dwie linie:
15 PEN UP
16 ROUTINE END
Wylistuj program, powinien wyglądać następująco:
1 TURTLE COLOR RED
2 CLEAR SCREEN
3 MOVE TO 11-11
4 CALCULATE X=10
5 USE SPIRAL
6 BEEP 34
7 WAIT 50
8 NO BEEP
9 LABEL SPIRAL
10 PEN DOWN
11 LOOP X
12 FORWARD IHDEX
13 TURN RIGHT
14 LOOP END
15 PEN UP
16 ROUTINE END
17 STOP
Plik L5-2
Zanim uruchomisz program, przyjrzyj mu się uważnie. Czy potrafisz powiedzieć, jak będzie działał ten program? Znaczenie wszystkich instrukcji było już wcześniej wyjaśnione.
Uruchom program. Żółw zapiszczy, wyrysuje na ekranie spiralę, zapiszczy i wyrysuje drugą spiralę. Wprowadzone poprawki zmieniły fragment programu między liniami 9-16 w podprogramie z pliku o nazwie L4-4.
Nauczmy się teraz kilku nowych instrukcji. Zmień program wstawiając kilka nowych linii przed linią nr 9:
9 TEST IF (X<20)
10 IF TRUE JUMP START
11 REMARK X IS NOW 20
12 JUMP ALL DONE
Następnie zamień - REPLACE linie nr 4:
4 CALCULATE X=X+1
Teraz dołącz - INSERT przed linią nr 2:
2 CALCULATE X=15
3 LABEL START
I na koniec dołącz przed linią nr 23:
23 LABEL ALL DONE
Teraz wylistuj program, powinien wyglądać następująco:
1 TURTLE COLOR RED
2 CALCULATE X=15
3 LABEL START
4 CLEAR SCREEN
5 MOVE TO 11-11
6 CALCULATE X=X+1
7 USE SPIRAL
8 BEEP 34
9 WAIT 50
10 NO BEEP
11 TEST IF (X<20)
12 IF TRUE JUMP START
13 REMARK X IS NOW 20
14 JUMP ALL DONE
15 LABEL SPIRAL
16 PEN DOWN
17 LOOP X
18 FORWARD INDEX
19 TURN RIGHT
20 LOOP END
21 PEN UP
22 ROUTINE END
23 LABEL ALL DONE
24 STOP
Plik L5-3
Wykonaj program i zobacz co teraz zostanie narysowane na ekranie.
Przyjrzyjmy się instrukcjom, które przed chwilą dodałeś do programu.
LABEL START, LABEL SPIRAL i LABEL ALL DONE - etykieta początek, etykieta spirala i etykieta wszystko wykonane - linie nr 3, 15 i 23. Instrukcja LABEL nadaje nazwę fragmentom programu.
TEST IF (X<20) - linia nr 18 - instrukcja warunkowa, program sprawdza, czy warunek podany w instrukcji jest prawdziwy czy fałszywy. Rezultat wpisywany jest do pamięci komputera i może być sprawdzony następującą instrukcją:
IF TRUE JUMP START - jeśli prawda skocz na start - linia nr 12 - skok warunkowy, Jeśli wynik poprzedniej instrukcji był prawdą, wtedy program wykona skok do miejsca oznaczonego etykietą START - LABEL START, jeśli zaś wynik sprawdzenia warunku (X<20) był nieprawdą, wtedy program nie wykona skoku, tylko zacznie wykonywać następną instrukcję (w naszym programie przejdzie do linii nr 13).
REMARK X IS NOW 20 - komentarz X jest teraz 20, linia nr 13 - jest to tylko komentarz pozwalający łatwiej zrozumieć, co dzieje się w programie.
JUMP ALL DONE - skocz do etykiety ALL DONE linia nr 14 - instrukcja skoku bezwarunkowego. Program wykonuje skok do podanej etykiety.
Instrukcja skoku warunkowego może zawierać następujące warunki:
< - więcej niż
> - mniej niż
= - równy
<> - nie równy
Można dodatkowo używać słów AND - i - i OR - lub. Wszystkie warunki muszą być zapisane w nawiasach. Dla przykładu podamy kilka różnych instrukcji TEST:
TEST IF (X=2 AND Y=2) - sprawdź czy X równa się 2 i Y równa się 2.
TEST IF (X=2 OR Y=2) - sprawdź czy X równa się 2 lub Y równa się 2.
TEST IF (A<>2 AMD B<>2) - sprawdź czy A nie równa się 2 i B nie równa się 2
Teraz przyjrzyjmy się dokładnie całemu programowi i zastanówmy się jak działa.
W linii nr 1 każemy żółwiowi zostawiać czerwony ślad. Linia nr 2 określa, że zmienna X równa się 15. Linia nr 3 nadaje nazwę - etykietę START temu miejscu w programie. Instrukcja LABEL nie jest wykonywana przez program, służy tylko do zaznaczania określonego miejsca programu, by go można było łatwo odnaleźć. Linia czwarta oznacza wzyszczenie ekranu. Nr 5 przemieszcza żółwia do 11 rzędu i 11 kolumny ekranu. Ponieważ jeszcze nie było instrukcji PEN DOWN, na ekranie nie zostaje żaden ślad. W linii nr 6 X jest zwiększany o jeden (X=X+1), teraz X wynosi 16, a nie 15 jak w linii nr 2. Linia nr 7, USE SPIRAL, odsyła program do etykiety LABEL SPIRAL - linia nr 15. Instrukcja LABEL SPIRAL zaznacza początek podprogramu rysującego spiralę. Program przechodzi do następnej linii nr 16 i opuszcza pisak - PEN DOWN. Następnie w linii nr 17 znajduje instrukcje LOOP X - PĘTLA X, ta instrukcja nakazuje wykonać wszystkie instrukcje zawarte między tą instrukcją, a instrukcją LOOP END - PĘTLA KONIEC - linia nr 20 X razy, w tej chwili X=16. Gdy pętla wykonywana jest pierwszy raz, INDEX równa się 1, więc w instrukcji FORWARD INDEX żółw przesunie się o jeden do przodu. Zostawi na ekranie ślad i skręci w prawo. Teraz przejdzie do instrukcji LOOP END i wróci na początek pętli. Linia nr 16 znowu nakazuje przesunąć się o INDEX, który teraz wynosi 2 - drugie przejście pętli. W ten sposób na ekranie rysowana jest spirala.
Po narysowaniu spirali - 16 razy wykonanie pętli LOOP X, program przechodzi do linii nr 21 PEN UP - podnieś pisak a następnie do linii nr 22, ROUTINE END. Teraz program sprawdza, czy podprogram był użyty na polecenie instrukcji USE - użyj, jeśli tak, to wraca do następnej linii, po instrukcji USE - linia nr 8, jeśli nie, to program przeszedł by do kolejnej linii nr 23.
Komputer generuje dźwięk BEEP, linia nr 8 przez jedną sekundę, linia nr 9, wyłącza dźwięk, linia nr 10, W linii nr 11 sprawdza czy X jest mniejsze od 20, ponieważ odpowiedź jest prawdziwa, program skacze do etykiety START. Czyści ekran, przesuwa się do punktu 11-11, teraz w linii nr 6 zwiększa X o jeden, (X=X+1), od tego momentu X=17 i w linii nr 7 zostaje odesłany do podprogramu SPIRAL - linia nr 15. Ponieważ X=17 żółw narysuje spiralę większą o jeden zakręt X, a z nim i wielkość spirali będzie rosła do 20. Gdy X=20, warunek w instrukcji TEST IF (X<20) okaże się fałszywy i żółw nie wykona linii nr 12, lecz w linii nr 14 znajdzie rozkaz skoku do linii nr 23 - etykieta ALL DONE i zatrzyma się na linii nr 24 STOP.
Przyjrzyjmy się na koniec lekcji nowo poznanym instrukcjom:
BEEP i NO BEEP - włącza i wyłącza dźwięk.
WAIT - czekaj - powoduje zatrzymanie wykonywania programu na ilość jednostek podanych liczbą - jedna jednostka równa się 0,02 sek. (1/50 sek.).
JUMP - skocz - rozkaz skoku do określonej etykiety.
TEST IF - sprawdź czy - sprawdzanie warunku.
IF TRUE JUMP - jeśli prawda - skocz - rozkaz skoku, jeśli warunek w instrukcji TEST IF jest prawdziwy.
IF FALSE JUMP - jeśli fałsz - skocz - rozkaz skoku, jeśli warunek w instrukcji TEST IF jest fałszywy.
CWICZENIA
- Spróbuj narysować spirale różnych typów. Np. w linii nr 19 wpisz FORWARD X+1-INDEX.
- Napisz program rysujący różne prostokąty, zamiast spiral. Spróbuj napisać taki program samodzielnie. Użyj instrukcji TEST IF tak, by każdy prostokąt był innego koloru i narysowany innym znakiem lub symbolem.
- Spróbuj nauczyć żółwia piosenki Wlazł kotek na płotek. Kolejność nut pierwszej zwrotki jest następująca: g e e f d d c e g - c=32; d=38; e=43; f=45; g=51. Nie zapomnij użyć instrukcji WAIT - spróbuj WAIT 25 po każdej nucie oraz instrukcji NO BEEP po dwóch takich samych nutach i na końcu programu.
Napisz następujący program:
1 PEN DOWN
2 TEXT ENTER AND ADD TWO NUMBERS
3 PRINT AT 3-5
4 PRINT ENTER 1ST NUMBER
5 ENTER A
6 PRINT AT 5-5
7 PRINT ENTER 2ND NUMBER
8 ENTER B
9 CALCULATE C=A+B
10 PRINT AT 8-5
11 PRINT TOTAL 1S
12 PRINT C
13 STOP
Plik L6-1
Ten program zawiera trzy nowe instrukcje:
ENTER A - wprowadź A, linia nr 5 lub ENTER B - linia nr 8 - wyświetla na ekranie znak zapytania i czeka na wprowadzenie odpowiedniej liczby, oraz potwierdzenie przez naciśnięcie klawisza RETURN.
PRINT C - drukuj C, linia nr 12 - wyświetla bieżącą wartość zmiennej C. W naszym programie C=A+B, co wynika z linii nr 9.
PRINT ENTER 1ST NUMBER - linia nr 4 - wyświe11a na ekranie komunikat ENTER 1ST NUMBER - wprowadź pierwszą liczbę. Komunikat powinien składać się z co najmniej dwóch liter ponieważ jedną literę program potraktuje jako nazwę zmiennej.
PRINT AT 3-5 - linia nr 3 - powoduje, że następujące po niej instrukcje PRINT i ENTER będą zaczynać się od miejsca 3-5 - 3-rząd i 5-kolumna.
Uruchom program. Podaj wartości dla pierwszej i drugiej liczby (po znaku zapytania), nie zapomnij o potwierdzeniu przez naciśnięcie klawisza RETURN. Program oblicza sumę dwóch liczb, wykonaj obliczenia dla różnych wartości liczb A i B.
Zmień program tak, by mnożył dwie liczby. W linii 11 zmień komunikat z TOTAL na PRODUCT - po angielsku wynik mnożenia określa się tym słowem.
Teraz spróbujmy użyć instrukcji ENTER do rysowania. Spróbuj samodzielnie napisać program rysujący prostokąt o dowolnej długości boku wprowadzanej instrukcją ENTER. Nie zapomnij o skasowaniu poprzedniego programu z pamięci komputera. Twój program może na przykład wyglądać tak:
1 REMARK VARIABLE B0X
2 PRINT AT 2-5
3 PRINT SIDE
4 ENTER S
5 MOVE TO 5-5
6 PEN DOWN
7 CHARACTER TO *
8 LOOP 4
9 FORWARD S
10 TURN RIGHT
11 LOOP END
12 STOP
Plik L6-2
Przyjrzyj się, w jaki sposób zmienna, którą wprowadzasz komendą ENTER jest użyta w instrukcji FORWARD S - linia nr 9 do narysowania boku prostokąta o wprowadzonej długości.
Teraz spróbuj coś trochę trudniejszego, skasuj poprzedni program i wpisz następujący:
1 REMARK TURTLE'S GUESSING GAME
2 SCREEN COLOR WHITE
3 BORDER COLOR BLUE
4 TURTLE COLOR BLACK
5 CALCULATE N=0
6 CALCULATE X=1+INT(RND(1).100)
7 CLEAR SCREEN
8 MOVE TO 2-1
9 RIGHT 1
10 PEN DOWN
11 TEXT **GUESS NUMBER FROH 1 TO 100**
12 LABEL TRY AGA]N
13 CALCULATE N=N+1
14 PRINT AT 6-3
15 PRINT GUESS NUHBER
16 PRINT N
17 PRINT AT 8-3
18 PRINT ENTER GUESS
19 ENTER G
20 CLEAR SCREEN
21 PRINT AT 2-5
22 TEST IF (G=X)
23 IF TRUE JUMP GOT 1T
24 PRINT G
25 PRINT AT 2-9
26 PRINT IS
27 PRINT AT 2-12
28 TEST IF (G>X)
29 IF FALSE JUMP TRY LESS
30 PRINT TOO HIGH!!!
31 WAIT 50
32 JUMP TRY AGAIN
33 LABEL TRY LESS
34 PRINT TO LOW!!!
35 WAIT 50
36 JUMP TRY AGAIN
37 LABEL GOT IT
38 PEN UP
39 HOME
40 MOVE TO 2-5
41 RIGHT 1
42 PEN DOWN
43 TEXT **GOT IT!!!**
44 PRINT AT 4-3
45 PRINT IN ONLY
46 PRINT N
47 PRINT AT 4-15
48 PRINT GUESSES!
49 PRINT AT 6-4
50 PRINT HIT RETURN
51 STOP
Plik L6-3
Uf! Było dużo pisania, ale właśnie napisałeś swoją pierwszą grę komputerową w języku LOGO-64.
Gra polega na odgadnięciu liczby całkowitej X z przedziału od 1 do 100, liczba X jest losowo wybierana przez komputer.
Program wybiera liczbę X z przedziału 1-100, w linii nr 6 wyrażenie RND(1)*100 oznacza przypadkową liczbę większą od 1 i mniejszą od 100, np. 35,8, natomiast INT każe zostawić tylko część całkowitą. W linii nr 19 wpisujesz swoją propozycję - zmienna G, komputer śledzi ilość prób odgadnięcia - zmienna N, W linii nr 22 program sprawdza, czy X=G i jeśli tak, to kieruje program do etykiety GOT IT - odgadłeś, jeśli X<>G to komputer podpowiada, czy odgadywana liczba jest mniejsza czy większa i program skacze do odpowiedniego miejsca.
Zagraj kilka razy, a potem prześledź krok po kroku działanie programu. Zwróć szczególną uwagę na wykorzystanie instrukcji PRINT, ENTER i PRINT AT.
Powinieneś potrafić odgadnąć za siódmym lub ósmym razem, odgadnięcie za szóstym razem jest dobrym wynikiem.
Powtórzmy szybko, czego się właśnie nauczyliśmy:
ENTER - pozwala wprowadzić zmienną z klawiatury komputera.
PRINT - pozwala na wypisanie na ekranie monitora komentarza, lub bieżącej wartości zmiennej.
PHINT AT - pozwala na określenie miejsca na ekranie, od którego zostanie wypisane PRINT lub ENTER.
CWICZENIA
- W programie rysującym choinkę z końca lekcji nr 4 wprowadź zmiany pozwalające na wprowadzanie rozmiaru rysowanej choinki z klawiatury.
- Napisz program rysujący spiralę, której początek i rozmiar będziesz mógł wprowadzić z klawiatury.
- Napisz program obliczający wiek osoby w roku 2000, program powinien pytać o obecny rok i wiek osoby, oraz wypisujący odpowiedź IN 2000 YOU WILL BE ... YEARS OLD - w 2000 będziesz miał ... lat.
- Napisz program obliczający sumę N liczb i ich średnią wartość. Najpierw program powinien prosić o ilość liczb N - ENTER N a potem o kolejne wprowadzenie liczb, wartość średnia to suma liczb podzielona przez ich ilość N.
Spróbujmy nauczyć się wykorzystywać grafikę wysokiej rozdzielczości C-64. Wysoka rozdzielczość oznacza możliwość indywidualnego kontrolowania każdego punktu ekranu. Cały ekran jest podzielony na 200 poziomych linii, a każda linia na 320 punktów. Jak pamiętasz, ekran był podzielony na 25 rzędów i 40 znaków w każdym rzędzie, czyli jeden znak jest zbudowany z ośmiu kolumn i ośmiu wierszy punktów, tak, aby cały ekran składał się z 320 na 200 punktów.
Do tej pory używaliśmy małej rozdzielczość i LOW RESOLUTION - w skrócie LORES. Gdy żółw miał narysować na ekranie literę np. A, wyświetlał od razu całą matrycę 8xB punktów. W grafice wysokiej rozdzielczości - HIGH RESOLUTION - w skrócie HIRES mamy możliwość zapalać pojedyncze punkty w matrycy 8x8. Wykorzystując grafikę wysokiej rozdzielczości - HIRES można tworzyć bardzo ciekawe rysunki.
Zacznijmy od krótkiego programu:
1 HIRES
2 CALCULATE N=4
3 CALCULATE L=30
4 MOVE TO 100-50
5 PEN DOWN
6 SET HEADING TO 90
7 LOOP N
8 FORWARD L
9 ROTATE RIGHT 360/N
10 LOOP END
11 STOP
Plik L7-1
Uruchom program, żółw narysuje prostokąt o boku 30 punktów. Popatrzmy na nowe instrukcje użyte w programie:
HIRES - linia nr 1 - wysoka rozdzielczość, obrazek rysowany będzie punktami, a nie całymi znakami jak w niskiej rozdzielczości.
MOVE TO 100-50 - linia nr 4 - przesuwa żółwia do setnego rzędu i pięćdziesiątej kolumny w trybie dużej rozdzielczości. W tym trybie - HIRES rzędy numerowane są od 0 do 199, a kolumny od 0 do 319.
SET HEADING TO 90 - linia nr 6 - ustawia żółwia w kierunku do góry ekranu, 0 stopni - w prawo, 180 stopni - w lewo, 270 stopni - w dół ekranu.
ROTATE RIGHT 360/N - linia nr 9 - zmienia kierunek ustawienia żółwia w prawo o 90 stopni (360/4). Podobną instrukcją jest ROTATE LEFT - zmienia kierunek w lewo.
Poeksperymentuj trochę z instrukcją SET HEADING TO w linii nr 6, zwróć uwagę, jak zmiana liczby w tej instrukcji powoduje zmianę kątów w rysowanym czworokącie. A teraz w linii nr 8 zmień liczbę N na np. N=3, N=5, N=20.
Zwróć uwagę, że dla dowolnie wybranego N, narysowana figura będzie miała N boków i żółw skończy rysować w miejscu początku. Figura geometryczna o równych bokach i kątach nazywa się wielokątem foremnym.
Dla N coraz większego rysowana figura zaczyna coraz bardziej przypominać koło. Np. wprowadź następujące zmiany do ostatniego programu:
2 CALCULATE N=45
3 CALCULATE L=15
Plik L7-2
Teraz na ekranie zostanie narysowane prawie idealne koło.
Zmieńmy jeszcze trochę nasz program, wprowadź przed linią nr 11 - INSERT BEF0RE LINE #11:
11 CALCULATE X=X+1
12 TEST IF (X=6)
13 IF FALSE JUMP DRAW POLYGON
I jeszcze przed linią nr 6 - BEFORE LINE #6:
6 CALCULATE X=1
7 LABEL DRAW POLYGON
8 CALCULATE L=3*X
Na koniec skasuj - DELETE linię nr 3 i Twój program powinien wyglądać następująco:
1 HIRES
2 CALCULATE N=45
3 MOVE TO 100-50
4 PEN DOWN
5 CALCULATE X=1
6 LABEL DRAW POLYGON
7 CALCULATE L=3*X
8 SET HEADING TO 90
9 LOOP N
10 FORWARD L
11 ROTATE RIGHT 360/N
12 LOOP END
13 CALCULATE X=X+1
14 TEST IF (X=6)
15 IF FALSE JUMP DRAW POLYGON
16 STOP
Plik L7-3
Wykonaj - EXECUTE program. Niestety będziesz musiał trochę poczekać, aż komputer wszystko przeliczy, ale po wykonaniu obliczeń na ekranie zostanie narysowane pięć bardzo ładnych okręgów. Spróbuj poeksperymentować z innymi wzorami. Na początek zmień linię nr 7 na CALCULATE L=10*X. Teraz spróbuj pozmieniać wartości N w linii nr 2, np. N=3, 4, 5 i 8. Następnie zamień linie:
3 MOVE TO 100-160
7 CALCULATE L=50
8 ROTATE RIGHT 360/Y
14 TEST IF (X=Y+1)
Plik L7-4
Na koniec dołącz przed linią nr 3 - INSERT BEFORE LINE #3:
3 CALCULATE Y=10
Plik L7-4
Teraz wykonaj program i obejrzyj rysunek na ekranie.
Spróbuj zmienić wartość N w linii nr 2 i wartość Y w linii nr 3. Obejrzyj wzory na ekranie.
Przeróbmy ten program tak, by był bardziej uniwersalny. Najpierw skasuj - DELETE linię nr 8, a następnie linie od 1 do 3. teraz dołącz przed linią nr 1:
1 REMARK SWIRL1NG POLYGONS
2 LORES
3 PRINT AT 2-5
4 PRINT NUMBER OF SWIRLS
5 ENTER Y
6 PRINT AT 4-5
7 PRINT NUMBER OF SIDES
8 ENTER N
9 PRINT AT 6-5
10 PRINT LENGHT OF SIDES
11 ENTER L
Plik L7-5
Reszta programu będzie wyglądała następująco:
12 HIRES
13 MOVE TO 100-160
14 PEN DOWN
15 CALCULATE X=1
16 LABEL DRAW POLYGON
17 ROTATE RIGHT 360/Y
18 LOOP N
19 FORWARD L
20 ROTATE RIGHT 360/N
21 LOOP END
22 CALCULATE X;X*1
23 TEST IF (X=Y+1)
24 IF FALSE JUMP DRAW POLYGON
25 STOP
Plik L7-5
W linii nr 2 użyto instrukcji LORES - niska rozdzielczość, ponieważ tylko w tym trybie istnieje możliwość pisania liter i znaków. W trybie HIRES - wysoka rozdzielczość, komputer do rysowania używa tylko kropek. Niektóre instrukcje działają w obu trybach pracy, a inne wymagają trybu właściwego dla danej instrukcji i jeśli zastosowano niewłaściwy tryb, to program opuszcza taką instrukcję i przechodzi do następnej linii. Kompletna lista instrukcji i odpowiadające jej tryby pracy znajdują się na końcu opracowania.
Ponieważ program poprosi cię o wpisanie liczb, spróbuj kilku kombinacji. Następujące dane dadzą ciekawe efekty graficzne:
SWIRLS (obrót) |
SIDES (bok) |
LEHGHT (długość) |
3 |
3 |
100 |
12 |
3 |
100 |
30 |
3 |
100 |
4 |
4 |
80 |
20 |
4 |
80 |
4 |
5 |
80 |
5 |
5 |
75 |
12 |
5 |
75 |
20 |
5 |
70 |
6 |
8 |
50 |
8 |
8 |
50 |
12 |
8 |
50 |
30 |
8 |
50 |
12 |
12 |
30 |
30 |
45 |
9 |
Wiele z tych rysunków wymaga długiego czekania aż komputer przeprowadzi wszystkie obliczenia, ale ostateczny efekt będzie bardzo ciekawy.
Zapisz ten program na kasecie lub dyskietce, ponieważ będzie nam jeszcze potrzebny.
Podczas próbowania różnych kombinacji może się zdarzyć, że na ekranie zostanie wyświetlony komunikat: TRIED TO DRAW OR MOVE TO All ILLEGAL POINT - próba rysowania lub przesunięcia do nielegalnego punktu co oznacza, że twój rysunek jest większy niż ekran monitora, należy poprawić odpowiedni parametr i uruchomić program ponownie.
Przyjrzyjmy się na koniec lekcji nowo poznanym instrukcjom:
HIRES - przejście do trybu wysokiej rozdzielczości - tzw. tryb graficzny.
LORES - tryb niskiej rozdzielczości - tzw. tryb znakowy.
SET HEADING TO - obraca żółwia o dowolny kąt od 0 do 360 stopni, 0 - w prawo; 90 - do góry; 180 - w lewo; 270 - w dół.
ROTATE RIGHT - obrót w prawo.
ROTATE LEFT - obrót w lewo.
Instrukcje SET HEADING TO, ROTATE RIGHT, ROTATE LEFT dotyczą trybu graficznego - HIRES.
CWICZENIA
- Przed linią nr 17 wprowadź - BEFORE LINE #17 - CALCULATE L=L+3. Przećwicz tak zmieniony program z różnymi wielokątami.
- Spróbuj innych figur niż wielokąty w programie SWIRLING. Na przykład: skasuj pętlę N, linie od 18 do 21. Teraz przed linią nr 18 wprowadź następujące instrukcje - INSERT BEFORE LINE #18:
18 FORWARD 4*L
19 TURN RIGHT
20 FORWARD 4*L
21 TURN RIGHT
22 FORWARD 2*L
23 TURN RIGHT
24 FORWARD 2*L
25 TURN RIGHT
26 FORWARD 4*L
27 TURN RIGHT
28 FORWARD L
29 TURN RIGHT
30 FORWARD L
31 TURN RIGHT
32 FORWARD 2*L
33 TURN LEFT
34 FORWARD 4*L
Plik L7-6
- W programie SWIRLING POLYGON pozmieniaj kolor ekranu i żółwia.
- Spróbuj narysować w trybie graficznym - HIRES twarz klowna używając wielokątów imitujących okręgi. Wielokąty powinny robić co najmniej 30 boków.
W dalszej części opisu trybu graficznego zajmiemy się trzema programami w trybie HIRES, pokazującymi możliwości tworzenia zaawansowanej grafiki.
Wprowadź następujący program rysujący rozwijającą się spiralę:
1 REMARK EXPANDING SPIRALS
2 PRINT AT 2-5
3 PRINT ENTER LENGHT
4 ENTER L
5 PRINT AT 4-5
6 PRINT ENTER ANGLE
7 ENTER A
8 PRINT AT 6-5
9 PRINT ENTER CHANGE
10 ENTER C
11 PRINT AT 8-5
12 PRINT ENTER TIMES
13 ENTER T
14 HIRES
15 MOVE TO 100-160
16 SET HEADING TO 90
17 PEN DOWN
18 LOOP T
19 FORWARD L
20 ROTATE RIGHT A
21 CALCULATE L=L*C
22 LOOP END
23 STOP
Plik L8-1
Ten program poprosi Cię o podanie czterech liczb:
L - LENGHT - długość - początkowa długość boku spirali.
A - ANGLE - kąt - kąt o który żółw obraca się w prawo w linii nr 20.
C - CHANGE - zmiana - wartość o którą zwiększa się bok spirali w linii nr 21 po każdym przejściu pętli.
T - TIMES - ilość razy - ilość przejść pętli - linie nr 18 do 22.
Uruchom program i wpisz: L = 5; A=90; C=5; T = 20. Spirala, którą teraz narysuje żółw będzie wyglądała tak samo jak spirala z lekcji nr 4, z tą różnicą, że teraz składać się będzie nie ze znaków graficznych lecz z kropek - tryb HIRES. Porównajmy oba programy:
LORES SPIRAL HIRES SPIRAL
LOOP X LOOP T
FORWARD INDEX FORWARD L
TURN RIGHT ROTATE RIGHT A (90 w tym przypadku)
LOOP END CALCULATE L=L+C
LOOP END
Jak widzisz, podprogram rysujący spiralę zawiera małą liczbę instrukcji, a wykorzystując tryb graficzny - HIRES można uzyskać bardzo ciekawe rysunki. Spróbuj następujących kombinacji:
LEHGHT długość |
ANGLE kąt |
CHANGE zmiana |
TIMES ilość razy |
10 |
45 |
3 |
30 |
5 |
120 |
5 |
50 |
10 |
144 |
6 |
40 |
5 |
90 |
3 |
50 |
5 |
95 |
3 |
60 |
2 |
117 |
3 |
60 |
5 |
91 |
2 |
90 |
Zapisz - SAVE ten program, bo może być w przyszłości użyteczny.
Spróbujmy czegoś nowego. W poprzednim programie po każdym wykonaniu pętli długość zwiększała się o C, lecz kąt pozostawał ciągle ten sam. Zmieńmy program tak, by długość pozostawała nie zmieniona, a kąt zmieniał się o C po każdym przejściu pętli.
Przed linią nr 22 - BEFORE LINE #22 dopisz:
22 CALCULATE A=A+C
23 TEST IF (A>360)
24 IF FALSE JUMP OK
25 CALCULATE A=A-360
26 LABEL OK
Plik L8-2
Te dodatkowe linie zmienią wartość kąta o C po każdym przejściu pętli. Jeśli wartość A stanie się większa od 360 stopni, wtedy w linii nr 25 od wartości A zostanie odjęte 360, ponieważ przy wartości kąta większej niż 360 stopni komputer będzie sygnalizował błąd.
Teraz skasuj- DELETE linię nr 21 w której następuje dodawanie C do L po każdym przejściu pętli, ponieważ chcemy zmieniać kąt, a nie długość. Na koniec zmień nazwę programu w linii nr 1 na:
1 REMARK INWARD SPIRAL
Plik L8-2
Uruchom program, spróbuj następujących kombinacji:
LEHGHT |
ANGLE |
CHANGE |
TIMES |
30 |
1 |
20 |
50 |
20 |
40 |
30 |
75 |
25 |
2 |
20 |
90 |
30 |
10 |
10 |
60 |
15 |
5 |
10 |
70 |
Spróbuj także innych kombinacji liczb. Zapisz ten program.
Teraz trzeci i ostatni program w tej lekcji. Skasuj - DELETE pamięć komputera i wpisz następujący program:
1 REMARK SPIROLATERALS
2 PRINT AT 2-5
3 PRINT ENTER LENGHT
4 ENTER L
5 PRINT AT 4-5
6 PRINT ENTER ANGLE
7 ENTER A
8 PRINT AT 6-5
9 PRINT ENTER MAXIMUM
10 ENTER M
11 PRINT AT 8-5
12 PRINT ENTER TIMES
13 ENTER T
14 HIRES
15 MOVE TO 100-160
16 SET HEADING TO 90
17 PEN DOWN
18 CALCULATE X=0
19 LABEL DRAW
20 LOOP M
21 FORWARD L*INDEX
22 ROTATE RIGHT A
23 LOOP END
24 CALCULATE X=X+1
25 TEST IF (X=T)
26 IF FALSE JUMP DRAW
27 STOP
Plik L8-3
Program będzie rysował coraz to nowe spirale pod ciągle zmieniającym się kątem. Program jest podobny do programu rysującego obracające się wielokąty, z tą różnicą, że zamiast wielokątów rysowane będą spirale.
W tym programie wprowadzane liczby będą miały trochę inne znaczenie niż w poprzednich programach.
L - LENGHT - długość - początkowa wartość przesunięcia w instrukcji FORWARD. Po każdym przejściu pętli wartość ta będzie zwiększana L razy.
A - ANGLE - kąt - kąt zadeklarowany w instrukcji ROTATE RIGHT - obrót w prawo.
M - MAX1MUM - maksymalna ilość wykonań pętli rysującej pojedynczą spiralę.
T - TIMES - ilość razy - ilość wykonań całego podprogramu rysującego pojedynczą spiralę.
Spróbuj wykonać program dla następujących parametrów:
LEHGHT |
ANGLE |
CHANGE |
TIMES |
10 |
90 |
10 |
2 |
10 |
144 |
8 |
5 |
8 |
60 |
10 |
3 |
5 |
45 |
11 |
8 |
20 |
120 |
7 |
3 |
To tylko kilka z fantastycznych rysunków możliwych do uzyskania w trybie wysokiej rozdzielczości - HIRES.
CW1CZEN1A
- Połącz programy EXPANDING i INWARD zmieniając w pętli kąt A i długość L jednocześnie, najprostszym sposobem będzie dołączenie dodatkowej linii CALCULATE L=L+C w pętli w programie INWARD SPIRAL.
- Zmień program SPIROLATERAL tak, by zamiast instrukcji ROTATE RIGHT wykonywana była instrukcja ROTATE LEFT po każdych Q zmianach kierunku. Wartość Q powinna być wprowadzana z klawiatury instrukcją ENTER.
- Napisz swoje imię w trybie graficznym - HIBES i podkreśl je.
Commodore 64 posiada tzw. grafikę sprajtów. Sprajt jest gotowym małym rysuneczkiem. W tej lekcji nauczymy się, jak można projektować swoje własne sprajty i jak wykorzystywać i zmieniać gotowe sprajty znajdujące się w programie LOGO-64.
Gdy w menu LOGO-64 naciśniesz literę C, wtedy na ekranie zobaczysz menu projektowania sprajtów.
Duża żaglówka, narysowana kropkami po lewej stronie ekranu jest wzorcem projektowanego sprajtu. Mała żaglówka na górze po prawej stronie pokazuje aktualny sprajt. W programie jest osiem gotowych sprajtów, żaglówka jest pierwszym z nich. Sprajty są ponumerowane od 1 do 8:
- żagłówka
- rakieta
- ciężarówka
- piłka
- samolot
- domek
- chłopiec
- dziewczynka
Naciskając klawisze z odpowiednimi cyframi możesz oglądać kolejne obrazki.
Naciśnij teraz klawisz 1, na ekranie znowu zostanie narysowana żaglówka. W górnym lewym rogu pola do projektowania sprajtów znajduje się mrugający kursor. Kursor można przemieszczać w lewo, w prawo, do góry i do dołu za pomocą klawiszy CRSR i SHIFT + CRSR. Spróbuj poprzesuwać kursor po polu sprajtu.
Dorysowywanie lub kasowanie kropki w miejscu znajdowania się kursora następuje przez naciśnięcie klawiszy + i -. Ustaw kursor na czubku masztu żaglówki i dorysuj flagę. Zwróć uwagę, co dzieje się z małym obrazeczkiem pokazującym wygląd sprajtu. Dodatkowe możliwości zmiany wielkości sprajtu dają klawisze H i W - klawisz H zwiększa wysokość obrazka, a klawisz W zwiększa jego szerokość.
Kolejne naciskanie klawisza C zmienia kolor małego obrazka. Aby skasować sprajt, należy nacisnąć naraz klawisze SHIFT i CLR/HOME.
Wybierz jeden z istniejących sprajtów, taki którego nie będziesz chciał używać w dalszej części programu, np. numer 4 - piłkę. Skasuj ten obrazek - SHIFT + CLR/HOME. Teraz możesz zaprojektować swój własny rysunek. Na przykład narysuj żółwia, jak na powyrzszym rysunku.
Jeśli chcesz zapisać ten obrazek, naciśnij klawisz S, komputer zapyta czy chcesz zapisać na kasecie czy dyskietce - TAPE OR DISK, naciśnij odpowiednią literę i dokonaj zapisu. Teraz gdy tylko będziesz potrzebował tego rysunku, wybierz obrazek sprajtu którego nie będziesz potrzebował, naciśnij literę L i wczytaj zapamiętany sprajt z kasety lub dyskietki. Teraz dopóki nie wyłączysz zasilania komputera, pod wybranym numerem będzie twój sprajt wczytany z kasety lub dyskietki. Ponieważ istniejący w programie Turtle-logo sprajt zostanie zastąpiony nowym obrazkiem, ważne jest by użyć sprajt, którego później nie będziesz potrzebował.
W programie możesz używać osiem sprajtów, swoich, z kartridża, lub kombinacji jednych i drugich. W następnej lekcji dowiesz się, jak używać sprajtów w programach.
ĆWICZENIA
Zaprojektuj sprajty przedstawiające: samochód, rower, małego misia, kosmonautę, uśmiechniętą twarz i kilka innych. Nie zapomnij zapisać sprajtów na kasecie lub dyskietce.
Spróbujmy nauczyć się wykorzystywać sprajty w programach. Na początek wybierz sprajt nr 5 - mały samolot i spróbuj nauczyć się przemieszczać go po ekranie. Wpisz następujący program:
1 REMARK SPRITE PROGRAM
2 TELL SPRITE 5
3 CHANGE WIDTH
4 MAKE COLOR BLUE
5 MAKE HEADING 0
6 MAKE SPEED 5
7 PUT SPRITE AT 127-160
8 MAKE VISIBLE
9 WRAP AROUND
10 THAW
11 STOP
Plik L10-1
Teraz uruchom program. Na ekranie pojawi się samolot i zacznie przesuwać się z lewej strony ekranu na prawą. Gdy dojedzie do prawej strony ekranu, pojawi się znowu po lewej stronie i będzie tak przesuwał się w kółko, aż nie naciśniesz klawisza RETURN, wtedy pojawi się główne menu programu.
W tyra krótkim programie pojawiło się dużo nowych instrukcji:
TELL SPRITE 5 - linia nr 2 - mówi komputerowi, że następne instrukcje będą dotyczyły sprajtu nr 5 - samolot lub sprajt wczytany pod ten numer z kasety lub dyskietki. W tej instrukcji możesz wybrać cyfry od 1 do 8. Spróbuj zmienić samolot na ciężarówkę - sprajt nr 3.
CHANGE WIDTH - linia nr 3 - powoduje zwiększenie szerokości sprajtu. Podobną instrukcją jest CHANGE HEIGHT - zwiększenie wysokości.
MAKE COLOR BLUE - linia nr 4 - zmienia kolor aktualnego sprajtu na niebieski. W tej instrukcji możesz użyć dowolnego z szesnastu kolorów C-64.
MAKE HEADING 0 - linia nr 5 - ustala kierunek przesuwania sprajtu w prawo. W tej instrukcji można użyć dowolnego kąta z przedziału od 0 do 360 stopni. Kierunki są takie same jak w instrukcji HEADING przy kreśleniu linii w trybie HIRES - lekcja nr 7. 0 - w prawo; 90 - do góry; 180 - w lewo; 270 - w dół.
MAKE SPEED - linia nr 6 - ustala prędkość ruchu sprajta. Wartości prędkości mogą wynosić od 0 do 10. 0 - prędkość zerowa, 10 - prędkość największa. Spróbuj zmienić wartość prędkości w linii nr 6.
PUT SPRITE AT 127-160 - linia nr 7 - umieszcza sprajt w środku ekranu. Pierwsza liczba określa rząd, a druga liczba określa kolumnę.
MAKE VISIBLE - linia nr 8 - powoduje ukazanie się sprajta na ekranie, w miejscu określonym poprzednią instrukcją. Instrukcją o przeciwnym działaniu jest MAKE INVISIBLE - sprajt przestaje być widoczny.
WRAP AROUND - linia nr 9 - powoduje pojawienie się przesuwającego sprajta po przeciwnej stronie ekranu. Instrukcją odwrotną jest NO WRAP AROUND. Zmień w linii nr 9 instrukcję WRAP AROUND na NO WRAP AROUND i zobacz jak teraz porusza się sprajt.
THAW - linia nr 10 - powoduje, że wszystkie widoczne sprajty, których prędkość jest większa od zera zaczynają się poruszać po ekranie. Instrukcją odwrotną jest FREEZE - wszystkie sprajty zostają zatrzymane.
Wprowadźmy trochę zmian do programu, aby go uatrakcyjnić. Dołącz przed linią nr 10 - INSERT BEFORE LINE #10:
10 TELL SPRITE 3
11 MAKE COLOR RED
12 MAKE HEADING 0
13 MAKE SPEED 5
14 PUT SPRITE AT 200-0
15 WRAP AROUND
16 MAKE VISIBLE
17 MOVE TO 8-5
18 PEN DOWN
19 TEXT THEY ARE OFF!
Plik L10-2
Teraz zamień linię nr 6 na:
6 MAKE SPEED 10
Plik L10-2
I linię nr 7 na:
7 PUT SPRITE AT 127-0
Plik L10-2
Uruchom program i zobaczysz wyścig między samolotem i ciężarówką. Samolot łatwo wygrywa, ponieważ porusza się prawie dwa razy szybciej.
Teraz jeszcze dołącz przed linią nr 20:
20 WAIT 300
21 PEN UP
22 MOVE TO 18-5
23 PEN DOWN
24 TEXT THE WINHER IS THE AIRPLANE
Plik L10-3
Teraz po wyścigu zostanie ogłoszony komunikat o zwycięzcy. Zapisz ten program jeśli będziesz chciał go kiedyś użyć w przyszłości.
Do poruszania sprajtami można także używać joysticka. Skasuj pamięć w komputerze i wpisz następujący program - Zabawa w berka:
1 REMARK SPRITE TAG
2 TELL SPRITE 4
3 MAKE COLOR RED
4 PUT SPRITE AT 50-160
5 CALCULATE X=5+RND(1)*350
6 MAKE HEADING X
7 MAKE SPEED 6
8 MAKE VISIBLE
9 TELL SPRITE 2
10 MAKE COLOR BLACK
11 MAKE SPEED 2
12 USE JOYSTICK
13 PUT SPRITE AT 200-160
14 MAKE VISIBLE
15 CALCULATE T=T1ME
16 THAW
17 TELL SPRITE 4
18 LABEL TRY TAG
19 BUMP SPRITE
20 IF TRUE JUMP GOT IT
21 TEST IF {RUD(1)>.3)
22 IF FALSE JUMP TRY TAG
23 CALCULATE X=5+RUD(1)*350
24 MAKE HEADING X
25 JUMP TRY TAG
26 LABEL GOT IT
27 FREEZE
28 PRINT AT 2-5
29 PRINT GOT IT IN
30 CALCULATE T=INT((TIME-T)/50)
31 PRINT T
32 PRINT AT 2-20
33 PRINT SECONDS
34 STOP
Plik L10-4
Gra polega na poruszaniu rakietą - sprajt nr 2 za pomocą joysticka tak, by złapać piłkę - sprajt nr 4. Gra wcale nie jest taka prosta jakby się wydawało. Piłka porusza się szybciej od rakiety i w przypadkowym kierunku. Gdy złapiesz piłkę, wtedy wszystko się zatrzymuje i żółw drukuje czas jaki potrzebowałeś na złapanie piłki w sekundach. Wynik poniżej 10 sekund świadczy o dużej zręczności i szczęściu.
Przyjrzyjmy się dokładnie kilku fragmentom tego programu:
Linie 5-6 i 23-24 nadają piłce przypadkowy kierunek od 5 stopni do 355 stopni. Jak pamiętasz z lekcji nr 6 instrukcja RND(1) przypadkowo wybiera liczbę z przedziału od zera do jedności. Więc wyrażenie 5+RND(1)*350 będzie przyjmowało przypadkowe wartości z przedziału od 5 (5+0) do 355 (5+1*350).
USE JOYSTICK - linia nr 12 - ta instrukcja powoduje, że sprajtem nr 2 można poruszać za pomocą joysticka dołączonego do portu #1. Instrukcją przeciwną jest NO JOYSTICK.
Linie 21 do 24 powodują przypadkową zmianę wartości parametru instrukcji HEADING. Zarówno kierunek zmiany, jak i czas w którym następuje zmiana są przypadkowe.
TIME - linia nr 15 i 30 - specjalny rodzaj zmiennej liczący czas w odcinkach co 1/50 sekundy. W linii nr 30 obliczany jest czas twojej gry.
Na koniec przejrzyjmy jeszcze wszystkie nowe instrukcje:
TELL SPRITE - wszystkie użyte później instrukcje dotyczyć będą sprajtu nazwanego tą instrukcją.
MAKE COLOR - nadaje kolor sprajtowi.
MAKE HEADING - nadaje kierunek sprajtowi.
MAKE SPEED - ustala prędkość poruszania się sprajtu od 0 do 10.
CHANGE HEIGHT lub WIDTH - zmienia wysokość lub długość sprajtu.
PUT SPRITE AT - określa punkt ekranu w którym ma znaleźć się sprajt.
MAKE VISIBLE lub INVISIBLE - włącza lub wyłacza widocznośc sprajta.
WRAP AROUND - powoduje pojawienie się sprajtu po przeciwnej stronie ekranu.
USE JOYSTICK - pozwala kontrolować sprajt za pomocą joysticku.
NO JOYSTICK - wyłącza kontrolę joystickiem.
NO WRAP AROUND - sprajt nie przechodzi na drugą stronę ekranu.
BUMP SPRITE - indeks określający kolizję dwóch sprajtów.
THAW - porusza wszystkie sprajty.
FREEZE - zatrzymuje wszystkie sprajty.
TIME - zmienna licząca czas w jednostkach równych 1/50 sekundy.
ĆWICZENIA
- Kontroluj ruch wszystkich sprajtów od i do 8 za pomocą joysticka, ale ustaw każdemu inną prędkość.
- Dodaj poruszający się sprajt do jednego z poprzednich programów w trybie graficznym HIRES.
Programy napisane w języku Turtle-Logo składają się z ponumerowanych linii. Numery linii są nadawane przez komputer automatycznie dla ułatwienia tworzenia, oglądania i korygowania programów. Podczas wykonywania programu przez komputer numery linii są ignorowane. Numery są pomocne podczas wprowadzania poprawek i uzupełnień. Np. gdy w takim programie
1 REMARK - BOX EXAMPLE
2 CLEAR SCREEN
3 HOME
4 TURTLE COLOR RED
5 CHARACTER TO *
6 PEN DOWN
7 CALCULATE X=5
8 RIGHT X
9 DOWN X
10 LEFT X
11 UP X
12 STOP
Plik EX0
chciałbyś zmienić rozmiar rysowanego pudelka wystarczy wywołać linię nr 7 i wpisać nową wartość dla X.
Czasami program pyta o określenie numerów linii pytaniem FPOM-TO?, istnieje kilka sposobów określenia interesujących Cię linii:
1-10 - od linii nr 1 do nr 10.
-10 - od linii nr 1 do nr 10.
20-25 - od linii nr 20 do nr 25.
15- - od linii nr 15 do ostatniej linii programu.
18 - linia nr 18
GŁOWNE MENU wygląda następująco:
ADD LINES
Instrukcja służąca do wprowadzania nowych programów.
Gdy naciśniesz literę A, na ekranie zobaczysz napis:
ENTER LINE 1
?*
Mrugająca gwiazdka zachęca do napisania instrukcji. Po napisaniu pierwszej instrukcji i naciśnięciu klawisza RETURN komputer poprosi o napisanie drugiej ENTEF LINE 2. Gdy podczas pisania popełnisz błąd, program wyświetli komunikat o błędzie ERROR-TRY AGAIN.
Dla przyśpieszenia pisania programów zamiast pisać całą instrukcję można używać skrótów. Np. zamiast CLEAR SCREEN wystarczy napisać CS. Spis wszystkich skrótów znajduje się na końcu opracowania.
Aby skończyć pisanie programu wystarczy ponownie nacisnąć klawisz RETURN i program powróci z powrotem do głównego menu. Ponowne naciśnięcie litery A pozwoli dopisać następne linie - numerowanie nie rozpocznie się od jeden, lecz będzie kontynuowane.
INSERT LINES
Instrukcja pozwalająca na dodawanie linii do istniejącego programu.
Po naciśnięciu klawisza I komputer zapyta przed jaką linią chcesz wprowadzić dodatkową linię:
BEFOFE LINE #?*
Gdy podasz numer linii, np. 8, komputer zapyta o instrukcję ENTER LINE 8. Po napisaniu instrukcji i naciśnięciu RETURN C-64 poprosi o kolejną instrukcję ENTER LINE 9 itd. Gdy chcesz wprowadzić tylko jedną linię naciśnij ponownie RETURN. Komputer automatycznie przenumeruje cały program - w naszym przypadku stara linia nr 8 będzie miała nr 9 itd.
DELETE LINES
Kasowanie linii.
Jeśli naciśniesz literę D komputer poprosi o numery linii:
ENTER LINE RANGE
FROH-TO ?*
Numery linii można podawać na kilka sposobów:
- 5-10 - skasuje linie od nr 5 do nr 10.
-10 - skasuje linie od nr 1 do nr 10.
8 - skasuje tylko linie nr 8.
Po wybraniu numerów linii do skasowania komputer wyświetli komunikat:
THIS WILL BE DESTROY THE CURRENT PROGRAM (TO ZNISZCZY AKTUALNY PROGRAM)
ARE YOU SURE? Y (CZY JESTEŚ PEWNY? TAK)
Jeśli nie chcesz kasować podanych linii naciśnij N - no i RETURN.
Po skasowaniu podanych linii reszta zostanie automatycznie przenumerowana.
REPLACE LINE
Zmiana treści linii.
Naciśnij R i podaj numer linii którą chcesz zmienić. Komputer wypisze na ekranie monitora treść starej linii i poprosi o nową instrukcję.
LIST PROGRAM
Listowanie programu.
Naciśnij L a komputer zapyta o numery linii. Numery można podać tak samo jak w przypadku opcji DELETE. Aby wstrzymać listowanie wystarczy nacisnąć klawisz SPACE.
PRINT PROGRAM
Za pomocą tej opcji można, posiadając drukarkę podłączoną do komputera wydrukować listing programu. Numery linii należy podać tak samo jak dla DELETE.
GET FROM TAPE OR D1SK
Odczytywanie programu z kasety lub dyskietki. Jeśli naciśniesz literę G, a w pamięci komputera znajduje się program to komputer zapyta czy chcesz go skasować.
MERGE A PROGRAM
Łączenie programów, pozwala na dołączenie programu z kasety lub dyskietki do programu znajdującego się w pamięci komputera. Dołączany program zostanie dodany na końcu istniejącego w pamięci programu. Ta opcja pozwala na korzystanie z biblioteki podprogramów gromadzonych na kasecie lub dyskietce.
EXECUTE A PPOGRAH
Uruchomienie programu.
Naciśnięcie klawisza SPACE wstrzymuje wykonywanie programu, naciśnięcie RUN/STOP spowoduje natychmiastowy powrót do menu.
TRACE A PROGRAM
Opcja śledzenia programu linia po linii. Gdy naciśniesz literę T w górnym wierszu ekranu zobaczysz pierwszą linię programu. Naciskając RETURN komputer wykona instrukcję z tej linii i na ekranie będziesz mógł zobaczyć wynik. Jeśli chcesz obejrzeć szybciej pewien fragment programu, to naciśnij i przytrzymaj klawisz CRSR (dolny prawy róg klawiatury). Opcja ta jest dostępna tylko w trybie malej rozdzielczości.
COMPOSE SPRITES
Projektowan1e sprajtów.
Po naciśnięciu litery C na ekranie zobaczysz następujące menu:
- + - dodaje kropkę w miejscu kursora.
- - kasuje kropkę.
SHIFT+CLR/HOME - kasuje sprajt.
C - zmienia kolor.
W - zmienia szerokość.
H - zmienia wysokość.
S - zapisuje sprajt na kasecie lub dyskietce.
L - odczytuje sprajt z kasety lub dyskietki.
1 - 8 - wybiera odpowiedni sprajt.
CRSR i SHIFT+CRSR - przesuwa kursor.
RETURN - powrót do menu.
Aby zaprojektować swój sprajt należy wybrać dowolny numer sprajtu, skasować go i narysować nowy. Po narysowaniu zapisać na kasecie lub dyskietce.
Jeśli chciałbyś użyć w programie nie napisanym w logo zaprojektowane przez siebie sprajty, wpisz następujący program w BASIC'u:
10 REM ***TURTLE SPRITE LOADER***
20 INPUT "SPRITE AREA";SA
30 IF SA<0 OR SA>255 THEN 20
40 C=64*SA : GOSUB 150
50 IF TL$="*" THEN OPEN 1,1,0 : GOTO 70
60 OPEN 1,8,0,NA$+ ",S,R"
70 PRINT "LOADING SPRITE DATA AT";C
80 FOR I=0 TO 20: FOR J=0 TO 2
90 INPUT#1,L : POKE C+I*3+J,L
100 NEXT J, I : CLOSE 1
110 INPUT "ANOTHER SPRITE";TL$ : TL$=LEFT$(TL$,1)
120 IF TL$="Y" THEN 20
130 END
140 REM ***TAPE OR DISK ?***
150 INPUT "TAPE OR DISK";D$ : D$=LEFT$(D$,1)
160 TL$="*" : IF D$<>"T" AND D$<>"D" THEN 150
170 IF D$="T" THEN 210
180 NA$=CHR$(34) + "0:"
190 INPUT "SPRITE NUMEER";TL$
200 NA$ = NA$+TL$ : RETURN
210 INPUT "IS TAPE READY";A$ : A$=LEFT$(A$,1)
220 IF A$<>"Y" THEN 210
230 RETURN
W linii nr 20 program pyta o liczbę determinującą w którym obszarze pamięci komputera wczytany sprajt zostanie umieszczony. Np. jeśli SA=14 to sprajt zostanie wczytany od 896 komórki (14*64=896).
Zanim opiszemy wszystkie instrukcje występujące w języku LOGO-64, określmy kilka pojęć:
ZMIENNA - dla określenia nazwy zmiennej można używać dowolnej litery alfabetu - od A do Z. Cyfry, kombinacje liter itp. będą uważane za błąd.
WYRAŻENIE - kombinacja zmiennych i liczb zrozumiała dla języka LOGO-64. Np. następujące wyrażenia są napisane prawidłowo:
X+5
Y*T+9
Z*SQR(A+2)
14/2
INT(22*RND(1))+1
11*B+Q-W
7
Wszystkie występujące w wyrażeniu zmienne powinny być wcześniej zdefiniowane. Aby zdefiniować zmienną należy użyć instrukcji CALCULATE. Wartość nie zdefiniowanych zmiennych zostanie przyjęta za zero.
LOGO-64 automatycznie zaokrągla wartość wyrażenia w dół do liczby całkowitej np. wyrażenie A/5 dla A=14 nie wynosi 2,8 lecz 2.
Wszystkie instrukcje w LOGO-64 można pisać skrótami. Skróty składają się z dwóch liter. Dla instrukcji składającej się z jednego słowa skrót zawiera pierwszą i ostatnią literę tego słowa np. LOOP - LP, HOME - HE. Instrukcje składające się z większej ilości słów najczęściej mają skrót zbudowany z pierwszych liter dwóch głównych słów tworzących instrukcje np. CLEAR SCREEN - CS, SET COLUMN TO - SC, NO BEEP - NB. Jedynymi wyjątkami są skróty instrukcji SET ROW TO - RW i SET COLUMN TO - CN.
W LOGO-64 można używać dwóch trybów graficznych trybu LORES - małej rozdzielczości tzw. tryb znakowy i trybu HIRES - dużej rozdzie1czości tzw. tryb graficzny. W trybie LORES program korzysta ze znaków alfanumerycznych z rozdzielczością 25 rzędów i 40 kolumn, w trybie HIRES program korzysta z kropek z rozdzielczością 200 rzędów i 320 kolumn. Wyjście żółwia poza ekran w trybie HIRES spowoduje wyświetlenie komunikatu o błędzie.
Większość instrukcji w LOGO-64 działa w obu trybach, w tabeli na końcu opracowania znajdziesz też w którym trybie działa dana instrukcja.
Instrukcje języka LOGO-64 można podzielić na pięć grup.
Prawie wszystkie instrukcje tej grupy dotyczą i LORES i HIRES. W LORES pojedynczy krok to jedno pole znakowe, w HIRES jedna kropka. Gdy w LORES znak dojdzie do końca ekranu to automatycznie pojawia się po przeciwnej stronie, natomiast w HIRES w takiej sytuacji pojawi się komunikat o błędzie.
UP wyrażenie - UP - UP 5 przesunie żółwia do góry o 5 wierszy - 5 z 25 w LORES i 5 z 200 w HIRES. UP X*4 przesunie żółwia do góry o X+4 np. gdy X=10 to żółw przesunie się o 14. Gdy wartość przesunięcia jest większa niż ilość rzędów to w trybie LORES żółw pojawi się na dole ekranu, a w trybie HIRES wyświetli komunikat o błędzie.
DOWN wyrażenie - DN - przesuwa żółwia w dół o ilość linii określoną przez wyrażenie.
RIGHT wyrażenie - RT - przesuwa żółwia w prawo o ilość kolumn określonych przez wartość wyrażenia.
LEFT wyrażenie - LT - przesuwa żółwia w lewo o ilość kolumn określonych przez wartość wyrażenia. Porównaj z instrukcją UP.
FORWARD wyrażenie - FD - przesuwa żółwia w kierunku w którym był zwrócony, o taką ilość kolumn lub wierszy, jaka jest okreś1ona przez wartość wyrażenia. Np. jeśli ostatnią instrukcją była UP Y i teraz napiszesz FORWARD 8, to żółw przemieści się o osiem rzędów do góry, gdyż ostatnia instrukcja dotyczyła kierunku do góry. Wyrażenie może składać się z dowolnej kombinacji zmiennych i liczb, zrozumiałej dla języka LOGO-64. Wielkość przesunięcia na ekranie zależy od trybu rozdzielczości. W LORES ekran podzielony jest na 25 wierszy i 40 znaków w wierszu, a w trybie HIRES na 200 wierszy i 320 kolumn.
TURN LEFT - TL - instrukcja obracająca żółwia o 90 stopni w lewo. Np. jeśli żółw zwrócony był w prawo, to po wykonaniu instrukcji TL będzie skierowany do góry. Instrukcja ta nie powoduje przesunięcia, a tylko obrócenie żółwia.
TURN RIGHT - TR - obraca żółwia o 90 stopni w prawo.
HALFTURN LEFT - HL - obraca żółwia o 45 stopni w lewo.
HALFTURN RIGHT - HR - obraca żółwia o 45 stopni w prawo.
TURN AROUND - TA - obraca żółwia o 180 stopni. Instrukcja ta zmienia aktualny kierunek żółwia na przeciwny. Np. jeśli żółw zwrócony był w prawo, to po wykonaniu tej instrukcji zostanie zwrócony w lewo.
SET HEADING TO wyrażenie - SH - instrukcja określająca kierunek żółwia w trybie HIRES z dokładnością do jednego stopnia. Wartość wyrażenia musi znajdować się w przedziale od 0 stopni do 360 stopni. Dla innych wartości zostanie wyświetlony komunikat o błędzie. SH 0 skieruje żółwia w prawo, SH 90 do góry, SH 180 w lewo, SH 270 w dół. Instrukcja nie wywołuje ruchu żółwia, tylko go obraca. Dopiero zastosowanie instrukcji FORWARD przesunie żółwia w kierunku określonym przez instrukcję SET HEADING TO. W trybie LORES ta instrukcja jest ignorowana.
ROTATE LEFT wyrażenie - RL - obraca żółwia o ilość stopni określoną przez wyrażenie. Np. RL Q+120 dla Q=30 obróci żółwia o 150 stopni w lewo od poprzedniego kierunku. Instrukcja w trybie LORES jest ignorowana.
ROTATE RIGHT wyrażenie - RR - obraca żółwia w prawo. Popatrz na opis instrukcji RL.
HOME - HE - powoduje powrót żółwia do górnego lewego rogu ekranu.
SET COLUMN TO wyrażenie - CN - przesuwa żółwia do określonej w wyrażeniu kolumny. Żółw przesunie się poziomo po ekranie. Instrukcja działa tylko w LORES, w HIRES jest ignorowana.
SET ROW TO wyrażenie - RW - przesuwa żółwia do określonego w wyrażeniu rzędu. Żółw przesunie się po ekranie pionowo.
MOVE TO nr rzędu-nr kolumny - MT - przesuwa żółwia do określonego miejsca ekranu. Np. MT 15-30 przesunie żółwia do piętnastego rzędu i trzydziestej kolumny, odpowiednio do trybu graficznego LORES lub HIRES. Dla LORES w instrukcji MT wartość dla rzędu nie może przekroczyć 25, a wartość dla kolumny 40. Dla HIRES wartość rzędu nie może przekroczyć 199, a wartość kolumny 319. Wartości określające rząd i kolumnę muszą być liczbami całkowitymi z odpowiednich przedziałów, w przeciwnym przypadku będzie sygnalizowany błąd.
LORES - LS - powoduje przełączenie komputera na tryb znakowy. Ekran w tym trybie pracy podzielony jest na 25 wierszy i 40 kolumn. Wiersze numerowane są od 1 do 25, a kolumny od 1 do 40.
HIRES - HS - powoduje przełączenie na tryb graficzny. Ekran w tym trybie podzielony jest na 200 rzędów i 320 kolumn. Rzędy numerowane są od 0 do 199, a kolumny od 0 do 319.
SCREEN COLOR nazwa koloru - SC - w LOGO-64 można używać następujących kolorów:
BLACK |
czarny |
WHITE |
biały |
RED |
czerwony |
CYAN |
błękitny |
PURPLE |
purpura |
GREEN |
zielony |
BLUE |
niebieski |
YELLOW |
żółty |
ORANGE |
pomarańczowy |
BROWN |
brązowy |
LIGHT RED |
jasnoczerwony |
GRAY 1 |
szary 1 |
GRAY 2 |
szary 2 |
GRAY 3 |
szary 3 |
LIGHT GREEN |
jasnozielony |
LIGHT BLUE |
jasnoniebieski |
Np. instrukcja SC BLUE zmieni kolor ekranu na niebieski.
BORDER COLOR nazwa koloru - BC - instrukcja zmieniająca kolor ramki dookoła ekranu. Np. BC RED zmieni kolor ramki na czerwony.
TURTLE COLOR nazwa koloru - TC - zmienia kolor żółwia oraz pozostawiony przez niego ślad.
CHARACTER TO znak - CT - np. instrukcja CHARACTER TO * spowoduje, że żółw będzie zostawiał ślad ze znaków * pod warunkiem, że wcześniej zastosowano instrukcję PEN DOWN. Instrukcja działa tylko w trybie LORES, w HIRES będzie ignorowana.
PEN DOWN - PD - instrukcja powoduje pozostawienie śladu przez żółwia. W trybie LORES ślad będzie w postaci znaku wybranego instrukcją CHARACTER TO, a w HIRES w postaci kropki.
PEN UP - PU - odwołuje instrukcję PEN DOWN. Żółw podczas ruchu nie pozostawia śladu.
PEN ERASE - PE - żółw kasuje narysowany znak w LORES lub kropkę w HIRES.
PEN REVERSE - PR - instrukcja zamienia kolor tła i kolor znaku miejscami. Działa tylko w trybie LORES. Np. jeśli żółw rysował czerwone znaki * na niebieskim tle, to po wykonaniu tej instrukcji będzie rysował niebieskie znaki na czerwonym tle. W trybie HIRES instrukcja jest ignorowana.
CLEAR SCREEN - CS - kasuje wszystko na ekranie.
TEXT tekst - TT - pisze na ekranie tekst podany w tej instrukcji. Tekst pisany będzie w kierunku, w którym skierowany był żółw. Instrukcja działa tylko w trybie LORES. Np. instrukcja TEXT TO JEST DOMEK spowoduje, że na ekranie w miejscu, w którym znajduje się żółw, pojawi się napis TO JEST DOMEK.
CALCULATE wyrażenie matematyczne - CE - instrukcja CE X=T+Y*4 obliczy wartość X - do siedmiu doda aktualną wartość Y pomnożoną przez cztery. Zmienne występujące po prawej stronie równania powinny być wcześniej zdefiniowane. Nie zdefiniowane zmienne będą miały wartość zero. W wyrażeniach po prawej stronie znaku równości można stosować wszystkie funkcje matematyczne dostępne w języku C-64 BASIC opisane w instrukcji obsługi komputera.
ENTER nazwa zmiennej - ER - np. ENTER B spowoduje pojawienie się na ekranie znaku zapytania i komputer będzie czekał na podanie liczbowej wartości dla zmiennej B. Miejsce, w którym pojawi się znak zapytania kontrolowane jest instrukcją PRINT AT. Instrukcja ENTER działa tylko w trybie LORES.
PRINT AT rząd-kolumna - PA - określa miejsce na ekranie, w którym zacznie się napis określony instrukcjami ENTER i PRINT. Instrukcja działa tylko w trybie LORES, w HIRES jest ignorowana. Np. PRINT AT 5-10 - napis zacznie się w 5 rzędzie i 10 kolumnie.
PRINT nazwa zmiennej lub tekst - PT - np. PRINT B wypisze aktualną wartość zmiennej B, PRINT TO JEST DOMEK napisze na ekranie TO JEST DOMEK. Miejsce, w którym rozpocznie się napis jest określone przez instrukcję PRINT AT. Każdy napis składający się z jednej litery traktowany będzie jako zmienna. Instrukcja działa tylko w trybie LORES.
Program zawiera następujące rysunki sprajtów:
- żagłówka
- rakieta
- ciężarówka
- piłka
- samolot
- domek
- chłopiec
- dziewczynka
Jeśli chcesz zaprojektować swój własny sprajt, przeczytaj rozdział Projektowanie sprajtów. Wszystkie instrukcje dotyczące sprajtów działają w obu trybach graficznych - LORES i HIRES.
TELL SPRITE wyrażenie - TS - instrukcja wywołująca sprajt o podanym numerze. Np. TELL SPRITE 5 wywoła sprajt nr 5. Jeśli nie załadowałeś do komputera pod ten numer własnego obrazka, to zostanie wywołany samolot.
CHANGE HEIGHT - CH - zmienia wysokość aktualnego sprajtu z malej na dużą i z dużej na małą.
CHANGE WIDTH - CW - zmienia szerokość aktualnego sprajtu.
PUT SPRITE AT rząd-kolumna - PS - instrukcja umieszcza sprajt w określonym miejscu ekranu. Np. PUT SPRITE AT 127-160 umieści sprajt mniej więcej na środku ekranu. Sprajt będzie widoczny na ekranie gdy wartość rzędu będzie w granicach od około 50 do 230, a wartość kolumny od około 25 do 319.
MAKE COLOR nazwa koloru - MC - zmienia kolor aktualnego sprajtu.
MAKE VISIBLE - MV - powoduje, że aktualnie wybrany sprajt będzie widoczny w miejscu określonym instrukcją PUT SPRITE AT.
MAKE INYISIBLE - MI - powoduje zniknięcie aktualnego sprajtu z ekranu.
MAKE HEADING wyrażenie - MH - ustawia sprajt w podanym przez wartość wyrażenia kierunku. Np. MAKE HEADING 270 ustawi sprajt w kierunku do dołu ekranu. W trybie LOBES instrukcja dotyczy żółwia, a w trybie HIBES sprajtu.
MAKE SPEED wyrażenie - MS - instrukcja określająca prędkość poruszania się sprajtu po ekranie monitora. Wartość wyrażenia może przyjmować wielkości od 0 do 10 - 0 - brak ruchu, 10 - największa prędkość.
WRAP ABOUND - WA - powoduje przewijanie sprajtu dookoła ekranu.
NO WBAP AROOND - NW - wyłącza przewijanie sprajtu dookoła ekranu.
USE JOYSTICK - UJ - powoduje przekazanie kierowania sprajtem do portu joysticka nr 1. Joystick kontroluje tylko kierunek, prędkość jest określana przez instrukcję MAKE SPEED. Gdy na ekranie znajduje się kilka sprajtów, wszystkie będą kontrolowane jednocześnie, nawet gdyby miały różne prędkości.
NO JOYSTICK - NJ - wyłącza kontrolowanie aktualnego sprajtu przez joystick.
THAW - TW - powoduje, że wszystkie widoczne na ekranie i nie mające zerowej prędkości sprajty zaczną się poruszać.
FBEEZE - FE - zatrzymuje ruch wszystkich sprajtów. Ruch można ponownie przywrócić instrukcją THAW.
BEEP wyrażenie - BP - powoduje generowanie dźwięku przez żółwia. Wysokości dźwięku i odpowiadające im wartości wyrażenia podane są w tabeli.
NAZWA DZWIĘKU |
WARTOŚĆ BEEP |
C |
17 |
C# |
18 |
D |
19 |
D# |
20 |
E |
21 |
F |
22 |
F# |
24 |
G |
25 |
G# |
27 |
A |
28 |
A# |
30 |
B |
32 |
C |
34 |
C# |
36 |
D |
38 |
D# |
40 |
E |
43 |
F |
45 |
F# |
48 |
G |
51 |
G# |
54 |
A |
57 |
A# |
61 |
B |
64 |
C |
68 |
C# |
72 |
D |
76 |
D# |
81 |
E |
86 |
F |
91 |
F# |
96 |
G |
102 |
G# |
108 |
A |
115 |
A# |
122 |
B |
129 |
C |
137 |
C# |
145 |
Wyrażenie może być dowolną kombinacją zmiennych i liczb, a jego wartość nie może być większa od 255.
NO BEEP - NB - wyłącza generowanie dźwięku.
SET DELAY TO wyrażenie - SD - określa opóźnienie po kolejnych krokach żółwia. Opóźnienie liczone jest w jednostkach równych 1/50 sekundy. Żółw będzie poruszał się wolniej dopóki nie spotka instrukcji SET DELAY TO 0.
WAIT wyrażenie - WT - określa czas oczekiwania między kolejnymi krokami programu. Jednostką czasu jest 1/50 sekundy. Np. WAIT 50 odczeka jedną sekundę.
STOP - SP - zatrzymuje wykonywanie programu. Naciśnięcie klawisza RETURN spowoduje przejście do głównego menu.
LOOP wyrażenie - LP - wartość wyrażenia określa, ile razy ma być wykonany program zawarty w pętli. W czasie kolejnych wykonań pętli komputer zwiększa wskaźnik wykonań pętli INBEX o jeden.
LOOP END - LE - koniec pętli. Jeśli wskaźnik wykonań pętli jest równy wartości wyrażenia w instrukcji LOOP, to program przejdzie do następnej linii, a jeśli jeszcze nie, to wróci z powrotem do instrukcji LOOP.
REMARK tekst - RK - tekst po instrukcji REMARK jest ignorowany przez program. Tekst może służyć do nadania nazwy lub zaznaczenia miejsca w programie.
LABEL nazwa - LL - etykieta określająca miejsce w programie. Instrukcja wykorzystywana w instrukcji skoku, określa miejsce, do którego program ma skoczyć.
JUMP nazwa etykiety - JP - instrukcja skoku bezwarunkowego. Program, spotykając tą instrukcję wykona skok do etykiety o podanej nazwie.
TEST IF (warunek logiczny) - TI - jeśli warunek logiczny jest prawdziwy np. TEST IF (X>2) dla X=8 pogram ustawi wskaźnik prawdy na TAK, jeśli nie jest prawdziwy, to wskaźnik prawdy zostanie ustawiony na NIE. Wskaźnik można sprawdzić w dowolnym miejscu programu instrukcjami IF TRUE JUMP i IF FALSE JUMP. Np. można stosować następujące warunki logiczne:
TEST IF (X>2 AND Y=4)
TEST IF (W-8=INDEX)
TEST IF (T=12)
TEST IF (R.12 OR (C<14 AND C>4))
Instrukcja ta może również sprawdzać położenie żółwia na ekranie, np. TEST IF (ROW=5 AND COLUMN>10).
IF TRUE JUMP nazwa etykiety - IT - instrukcja skoku warunkowego, działa tylko wtedy, gdy wcześniej warunek logiczny sprawdzany był za pomocą instrukcji TEST IF i wskaźnik prawdy został ustawiony na TAK. Jeśli te warunki zostaną spełnione, to program wykona skok do etykiety o podanej nazwie, jeśli nie, to zacznie wykonywać następną linię.
IF FALSE JUMP nazwa etykiety - IF - program wykona skok do podanej etykiety, jeśli wskaźnik prawdy ustawiony został na NIE.
USE nazwa etykiety - UE - instrukcja wywołująca podprogram o podanej nazwie etykiety. Po wykonaniu podprogramu, gdy program dojdzie do instrukcji ROUTINE END zostanie wykonana kolejna instrukcja po USE. Podprogramy mogą być piętrowe tzn. w jednym podprogramie może być następny itd. do trzydziestu pięter.
ROUTINE END - RE - koniec podprogramu. Program wraca do linii następnej po instrukcji USE. Jeśli program spotka tą instrukcję nie realizując podprogramu, to ją zignoruje i przejdzie do następnej linii.
CHECK FOR symbol - CF - np. CHECK FOR + sprawdza, czy symbol znajdujący się bezpośrednio przed żółwiem jest taki jak w instrukcji CHECK FOR, jeśli tak, to wskaźnik prawdy ustawiony zostanie na TAK, a jeśli nie to na NIE. Instrukcja działa tylko w trybie LORES.
CHECK ACT1VE - CA - sprawdza, czy aktualny sprajt wywołany ostatnią instrukcją TELL SPRITE jest widoczny na ekranie. Jeśli jest widoczny, to wskaźnik prawdy zostanie ustawiony na TAK, jeśli nie jest widoczny, to wskaźnik prawdy zostanie ustawiony na NIE.
BUMP SPRITE - BS - sprawdza, czy aktualny sprajt nie zderzył się z innym sprajtem. Jeśli tak, to wskaźnik prawdy zostanie ustawiony na TAK, jeśli nie, to na NIE. Instrukcja jest bardzo przydatna w wykrywaniu zderzeń w grach komputerowych.
BUMP BACKGROUND - BB - działa podobnie do poprzedniej instrukcji, ale wykrywa zderzenia z tłem - znakami alfanumerycznymi w LORES i kropkami w HIRES.
Język LOGO-64 został tak zaprojektowany, by wykrywał błędy w momencie ich popełniania, czyli wtedy gdy wprowadzasz nową linię do programu. Niektóre błędy powstają podczas wykonywania programu, te też są wykrywane i sygnalizowane na ekranie odpowiednim komunikatem. Oto spis komunikatów o błędach:
ERROR - TRY AGAIN - może wystąpić podczas wprowadzania linii programu w której znajduje się błąd. Najczęstszym błędem jest użycie niewłaściwej litery w instrukcji - błąd ortograficzny.
SYNTAX ERROR IN PROGRAM LINE N - najczęściej powodem jest użycie niewłaściwego wyrażenia arytmetycznego lub logicznego. Np. następujące instrukcje spowodują pojawienie się takiego komunikatu:
CALCULATE X*24 - powinno być Y=X+24 lub Z=X+24 itp.
RIGHT X*/25 - powinno być X*25 lub X/25 lub X+Y/25.
BEEP X/0 - nie można dzielić przez zero.
TEST IF (X>2 AND ((Y<3) OR (Z=T) - nie zamknięty nawias.
PRINTER ERROR - błąd drukarki lub drukarka nie gotowa do pracy.
SAVE PROBLEM - FILE OR DEVICE ERROR - błąd spowodowany niewłaściwym podłączeniem magnetofonu lub stacji dysków do komputera. Ten błąd wystąpi także, gdy na dyskietce istnieje już zbiór o takiej samej nazwie.
GET PROBLEM - FILE OR DEVICE ERROR - nie podłączony magnetofon lub stacja dysków podczas odczytu. Zbiór o podanej nazwie nie istnieje na dyskietce.
NOTHING YET - błąd wystąpi, gdy będziesz próbował przeprowadzić operację na nie istniejącej linii, lub gdy pamięć komputera jest skasowana.
MAXIMUM PROGRAM SIZE - przekroczona maksymalna liczba linii programu. Maksymalna liczba linii wynosi 400.
TOO MANY LABELS - za dużo etykiet. Ilość etykiet w jednym programie nie może przekroczyć 50.
LOOP START IN LINE N - próba założenia pętli w pętli. Zawsze trzeba zakończyć jedną pętlę przed otworzeniem następnej.
LOOP END IN LINE N - program znalazł koniec nie zaczętej pętli.
ILLEGAL VALUE IN LINE N - błąd występuje podczas uruchamiania programu w którym wartość parametru jest za mała lub za duża, np.:
SET ROW TO 40 - wartość rzędu może znajdować się między 1 a 25.
MOVE TO 20-50 - w trybie LOBES wartość dla kolumny nie może być większa od 40.
BEEP 300 - wartości dla instrukcji BEEP od 0 do 255.
FORWARD -20 - parametry dotyczące ruchu zawsze muszą być dodatnie.
Jeśli błąd dotyczy tylko złej wartości wpisanej w linii N, wystarczy zastąpić linię nr N linią z prawidłową wartością. Jeśli błędna wartość wynika z instrukcji CALCULATE należy sprawdzić wartości, jakie może przyjmować wyrażenie matematyczne, przeanalizować je i wprowadzić odpowiednie poprawki. Bardzo pomocną w tym przypadku będzie opcja TRACE, pozwalająca na śledzenie wykonywania programu linia po linii.
USE BESTED TOO DEEP - za dużo pięter podprogramów. Maksymalna liczba wynosi 30.
ERROR IN LINE N - NO SUCB LABEL - program ma wykonać rozkaz skoku do nieistniejącej etykiety.
DRAW, PUT OR MOVE ILLEGALLY - próba wyjścia poza ekran w trybie HIRES tj. poza zakres rzędów od 0 do 199 i poza zakres wierszy od 0 do 319.
INSTRUKCJA |
PARAMETR |
SKRÓT |
TRYB |
PRZYKŁADY I UWAGI |
BEEP dźwięk |
wyrażenie |
BP |
oba |
BEEP 34 daje dźwięk o wysokość i środkowe C |
BORDER COLOR kolor ramki |
nazwa koloru |
BC |
oba |
BORDER COLOR RED |
BUMP BACKGROUND zderzenie z tłem |
brak |
BB |
oba |
sprawdza kolizję sprajtu z tłem |
BUMP SPRITE zderzenie ze sprajtem |
brak |
BS |
oba |
sprawdza kolizję sprajtu ze sprajtem |
CALCULATE oblicz |
równanie |
CE |
oba |
CALCULATE X=Y*2+5 |
CHANGE HEIGHT zmień wysokość |
brak |
CH |
oba |
zmienia wysokość aktualnego sprajtu |
CHANGE WIDTH zmień szerokość |
brak |
CW |
oba |
zmienia szerokość aktualnego sprajtu |
CHECK ACTIVE sprawdź aktywność |
brak |
CA |
oba |
sprawdza czy aktualny sprajt jest aktywny |
CHECK FOR sprawdź |
symbol |
CF |
LORES |
sprawdza rodzaj znaku bezpośredni o przed żółwiem |
CLEAR SCREEN czyść ekran |
brak |
CS |
oba |
czyści ekran |
CHARACTER TO znak |
symbol |
CT |
LORES |
określa znak którym posługuje się żółw |
DOWN do dołu |
wyrażenie |
DN |
oba |
przesuwa żółwia w dół ekranu |
ENTER wprowadź |
zmienna |
ER |
LORES |
wprowadza wartość zmiennej z klawiatury |
FORWARD do przodu |
wyrażenie |
FD |
oba |
przesuwa żółwia do przodu |
FREEZE zamroź |
brak |
FE |
oba |
zatrzymuje ruch wszystkich sprajtów |
HALFTURN LEFT pól skręt w lewo |
brak |
HL |
oba |
skręt o 45 stopni w lewo |
HALFTURN RIGHT pół skręt w prawo |
brak |
HR |
oba |
skręt o 45 stopni w prawo |
HIRES wysoka rozdzie1czość |
brak |
HS |
LORES |
przełączenie z LORES na HIRES |
HOME dom |
brak |
HE |
oba |
przesuwa żółwia w lewy górny róg ekranu |
IF FALSE JUMP jeśli fałsz skocz |
nazwa etykiety |
IF |
oba |
skok warunkowy |
IF TRUE JUMP jeśli prawda skocz |
nazwa etykiety |
IT |
oba |
skok warunkowy |
JUMP skocz |
nazwa etykiety |
JP |
oba |
skok bezwarunkowy |
LABEL etykieta |
nazwa etykiety |
LL |
oba |
nadaje nazwę określonemu miejscu w programie |
LEFT w lewo |
wyrażenie |
LT |
oba |
skręć w lewo |
LOOP pętla |
wyrażenie |
LP |
oba |
LOOP 4 powtórzy pętlę cztery razy |
LOOP END koniec pętli |
brak |
LE |
oba |
zakończenie pętli |
LORES niska rozdzie1czość |
brak |
LS |
HIRES |
przełączenie z HIRES na LORES |
MAKE COLOR pokoloruj |
nazwa koloru |
MC |
oba |
zmienia kolor sprajtu |
MAKE HEADING kierunek |
wyrażenie |
MH |
oba |
zmienia kierunek |
MAKE INVISIBLE zrób niewidocznym |
brak |
MI |
oba |
powoduje niewidoczność aktualnego sprajtu |
MAKE SPEED prędkość |
wyrażenie |
MS |
oba |
nadaje prędkość sprajtowi od 0 do 10 |
MAKE VISIBLE zrób widocznym |
brak |
MV |
oba |
aktualny sprajt staje się widocznym |
MOVE TO przesuń |
rząd kolumna |
MT |
oba |
przemieszcza żółwia do podanego rzędu i kolumny |
NO BEEP bez dźwięku |
brak |
NB |
oba |
wyłącza dźwięk |
NO JOYSTICK bez joysticka |
brak |
NJ |
oba |
przerywa kontrolowanie sprajtu przez joystick |
NO WRAP AROUND bez przewijania |
brak |
NW |
oba |
wyłącza przewijanie sprajtu dookoła ekranu |
PEN DOWN opuść pióro |
brak |
PD |
oba |
powoduje zostawianie śladu przez żółwia |
PEN ERASE ścieranie |
brak |
PE |
oba |
kasowanie śladu |
PEN REVERSE odwróć |
brak |
PR |
LORES |
zamiana kolorów |
PEN UP podnieś pióro |
brak |
PU |
oba |
żółw nie pozostawia śladu |
PRINT drukuj |
zmienna lub tekst |
PT |
LORES |
drukuje wartość zmiennej lub tekst na ekranie |
PRINT AT drukuj w |
rząd kolumna |
PA |
LORES |
przesuwa kursor do podanego rzędu i ko1umny |
PUT SPRITE AT umieść sprajt w |
rząd kolumna |
PS |
oba |
umieszcza sprajt w określonym rzędzie i kolumnie |
REMARK komentarz |
tekst |
RK |
oba |
dołącza komentarz do tekstu |
RIGHT w prawo |
wyrażenie |
RT |
oba |
skręć w prawo |
ROTATE LEFTobróć w lewo |
wyrażenie |
RL |
HIRES |
obraca w lewo o podaną ilość stopni |
ROTATE RIGHT obróć w prawo |
wyrażenie |
RR |
HIRES |
obraca w prawo o po daną ilość stopni |
ROUT1NE END koniec podprogramu |
brak |
RE |
oba |
koniec podprogramu |
SCREEN COLOR kolor ekranu |
nazwa koloru |
SC |
oba |
SCREEN COLOR CYAN |
SET COLUMN TO ustaw kolumnę |
wyrażenie |
CN |
LORES |
przesuwa żółwia do odpowiedniej kolumny |
SET DELAY TO ustaw opóźnienie |
wyrażenie |
SD |
LORES |
ustawia opóźnienie między krokami programu - 1=1/50 sek. |
SET HEADING TO ustaw kierunek |
wyrażenie |
SH |
HIRES |
określa kąt żółwia - 0 do 360 stopni |
SET ROW TO ustaw rząd |
wyrażenie |
RW |
LORES |
przesuwa żółwia do odpowiedniego rzędu |
STOP stop |
brak |
SP |
oba |
zatrzymuje program |
TELL SPRITE wskaż sprajt |
wyrażenie |
TS |
oba |
zmienia numer aktualnego sprajtu |
TEST IF sprawdź czy |
warunek |
TI |
oba |
sprawdza podany warunek |
TEXT tekst |
tekst |
TT |
LORES |
żółw podczas ruchu pisze podany tekst |
THAW |
brak |
TW |
oba |
uruchamia sprajty |
TURN AROUNDobróć się |
brak |
TA |
oba |
obraca żółwia o 180 stopni |
TURN LEFT obróć w lewo |
brak |
TL |
oba |
obraca żółwia o 90 stopni w lewo |
TURN RIGHT obróć w prawo |
brak |
TR |
oba |
obraca żółwia o 90 stopni w prawo |
TURTLE COLOR TO kolor żółwia |
nazwa koloru |
TC |
oba |
zmienia kolor żółwia |
UP w górę |
wyrażenie |
UP |
oba |
przesuwa żółwia w górę ekranu |
USE użyj |
nazwa etykiety |
UE |
oba |
wywołuje podprogram o podanej etykiecie |
USE JOYSTICK użyj joystick |
brak |
UJ |
oba |
przekazuje kontrolę nad sprajtem do portu joysticka nr 1 |
WAIT czekaj |
wyrażenie |
WT |
oba |
przerwa przed wykonaniem następnej instrukcji - 1=1/50 sek. |
WRAP AROUND przewiń dookoła |
brak |
WA |
oba |
powoduje przewijanie sprajtu |
UWAGA:
W LORES rzędy są numerowane od 1 do 25, a kolumny od 1 do 40.
W HIRES rzędy są numerowane od 0 do 199, a kolumny od 0 do 319. |
1 LABEL SPIRALS
2 REMARK A=ANGLE
3 SCREEN COLOR CYAN
4 BORDER COLOR CYAN
5 TURTLE COLOR BLACK
6 HIRES
7 PEN UP
8 MOVE TO 100-160
9 SET HEADING TO 90
10 PEN DOWN
11 CALCULATE Y=0
12 LABEL ADD TWO
13 CALCULATE Y=Y+2
14 FORWARD Y
15 ROTATE RIGHT 89
16 TEST IF (Y>180)
17 IF FALSE JUMP ADD TWO
18 TURTLE COLOR WHITE
19 WAIT 250
20 SCREEN COLOR GREY 2
21 STOP
Plik EXAMPLE 1
1 LABEL SQUIRAL
2 HIRES
3 TURTLE COLOR BLACK
4 MOVE TO 100-160
5 PEN DOWN
6 SET HEADING TO 90
7 CALCULATE D=1
B CALCULATE A=123
9 LABEL START
10 FORWARD D
11 ROTATE RIGHT A
12 CALCULATE D=D+2
13 TEST IF (D>199)
14 IF FALSE JUMP START
15 STOP
Plik EXAMPLE 2
1 LABEL PINWHEEL
2 SCREEN COLOR GREY 2
3 BORDER COLOR GREY 2
4 TURTLE COLOR BLACK
5 CLEAR SCREEN
6 HIRES
7 JUMP MAKE STARS
8 LABEL STAR
9 REMARK S=SIDE LENGHT
10 LOOP 5
11 ROTATE RIGHT 144
12 FORWARD S
13 LOOP END
14 ROUTINE END
15 LABEL MAKE STARS
16 REMARK MAKES Z STARS IN PINWHEEL
17 CALCULATE Z=6
18 MOVE TO 100-160
19 SET HEADING TO 234
20 CALCULATE S=90
21 PEN DOWN
22 CALCULATE Y=0
23 LABEL ADD ONE
24 CALCULATE Y=Y+1
25 USE STAR
26 ROTATE RIGHT 360/Z
27 TEST IF (Y=Z)
28 IF FALSE JUMP ADD ONE
29 STOP
Plik EXAMPLE 3
1 REMARK FLAG DEMONSTRATION
2 CLEAR SCREEN
3 SCREEN COLOR BLUE
4 TURTLE COLOR WHITE
5 LOOP 4
6 SET COLUMN TO 1
7 PEN DOWN
8 TEXT * * * * * *
9 PEN UP
10 DOWN 1
11 SET COLUMN TO 1
12 RIGHT 1
13 PEN DOWN
14 TEXT * * * * * *
15 PEN UP
16 DOWN 1
17 TURN LEFT
18 LOOP END
19 CHARACTER TO
20 REMARK CHARACTER IS SHIFTED SPACE
21 MOVE TO 1-12
22 LOOP 4
23 TURTLE COLOR RED
24 PEN DOWN
25 RIGHT 11
26 PEN UP
27 SET COLUMN TO 12
28 DOWN 1
29 PEN DOWN
30 TURTLE COLOR WHITE
31 RIGHT 11
32 PEN UP
33 SET COLUMN TO 12
34 DOWN 1
35 LOOP END
36 MOVE TO 8-1
37 LOOP 3
38 TURTLE COLOR WHITE
39 SET COLUMN TO 1
40 PEN DOWN
41 RIGHT 22
42 PEN UP
43 SET COLUMN TO 1
44 TURTLE COLOR RED
45 DOWN 1
46 PEN DOWN
47 RIGHT 22
48 PEN UP
49 DOWN 1
50 LOOP END
51 MOVE TO 20-5
52 RIGHT 1
53 PEN DOWN
54 TURTLE COLOR WHITE
55 TEXT ** SHE'S A GRAND OLD FLAG **
56 STOP
Plik EXAMPLE 4
1 REMARK THE GOOD SHIP CBM-64
2 MOVE TO 1-9
3 CHARACTER TO <SHIFT + T>
4 TURTLE COLOR BLACK
5 PEN DOWN
6 DOWN 14
7 CHARACTER TO <SHIFT + E>
8 RIGHT 12
9 LEFT 12
10 CHARACTER TO <SHIFT + T>
11 DOWN 1
12 RIGHT 5
13 TURTLE COLOR BLUE
14 CHARACTER TO <SHIFT + E>
15 LEFT 10
16 DOWN 1
17 TURTLE COLOR GREEN
18 TURN LEFT
19 TEXT <SHIFT + OQOQOQOQOQO>
20 PEN REVERSE
21 LEFT 11
22 PEN UP
23 RIGHT 16
24 DOWN 1
25 CHARACTER TO
26 REMARK CHARACTER IS SHIFTED SPACE
27 TURTLE COLOR RED
28 PEN DOWN
29 LOOP 5
30 LEFT 19-INDEX
31 SET COLUMN TO 19
32 DOWN 1
33 LOOP END
34 MOVE TO 18-1
35 CHARACTER TO <CTRL + *>
36 PEN DOWN
37 MOVE TO 23-6
38 CHARACTER TO @
39 TURTLE COLOR CYAN
40 RIGHT 45
41 PEN UP
42 MOVE TO 14-21
43 PEN DOWN
44 CHARACTER TO <SHIFT +M>
45 MOVE TO 2-9
46 PEN UP
47 MOVE TO 1-10
48 PEN DOWN
49 CHARACTER TO >
50 TURTLE COLOR YELLOW
51 RIGHT 4
52 PEN UP
53 TURTLE COLOR BLACK
54 SET COLUMN TO 4
55 SET ROW TO 20
56 RIGHT 1
57 PEN DOWN
58 TEXT CBM-64
59 CHARACTER TO *
60 LEFT 1
61 PEN REVERSE
62 LEFT 6
63 STOP
Plik EXAMPLE 5
1 REMARK TURTLE DRAWS MAZE
2 REMARK THEN SOLVES IT
3 REMARK FIRST DRAW IT
4 BORDER COLOR WHITE
5 SCREEN COLOR WHITE
6 TURTLE COLOR BLACK
7 MOVE TO 4-25
8 PEN DOWN
9 TEXT FIRST DRAW IT!
10 PEN UP
11 MOVE TO 7-24
12 RIGHT 1
13 PEN DOWN
14 TEXT THEN SOLVE IT!
15 PEN UP
16 HOME
17 TURTLE COLOR GREEN
18 CHARACTER TO <CTRL + +>
19 DOWN 1
20 PEN DOWN
21 DOWN 21
22 RIGHT 21
23 UP 21
24 LEFT 18
25 SET ROW TO 5
26 DOWN 9
27 RIGHT 3
28 DOWN 9
29 SET COLUMN TO 14
30 UP 3
31 RIGHT 5
32 LEFT 9
33 UP 6
34 RIGHT 7
35 SET ROW TO 17
36 SET COLUMN TO 13
37 LEFT 1
38 SET COLUMN TO 16
39 RIGHT 6
40 LEFT 3
41 UP 9
42 DOWN 3
43 LEFT 9
44 UP 3
45 RIGHT 6
46 UP 3
47 SET COLUMN TO 19
48 RIGHT 3
49 SET COLUMN TO 16
50 LEFT 4
51 SET COLUMN TO 10
52 LEFT 6
53 SET ROW TO 2
54 UP 1
55 SET ROW TO 11
56 RIGHT 3
57 UP 4
58 SET ROW TO 17
59 SET COLUMN TO 1
60 RIGHT 3
61 DOWN 4
62 PEN UP
63 TURTLE COLOR PURPLE
64 SET COLUMN TO 18
65 REMARK NOW SOLVE MAZE
66 REMARK MOVE AHEAD UNTIL <CTRL + +>
67 LABEL AHEAD ONE
68 CHECK FOR <CTRL + +>
69 IF TRUE JUMP FOUND <CTRL + +>
70 LABEL NOT CHARACTER
71 FORWARD 1
72 JUMP AHEAD ONE
73 LABEL FOUND <CTRL + +>
74 REMARK NOW HUG LEFT WALL
75 REMARK UNTIL OUT OF MAZE
76 TURN RIGHT
77 CHECK FOR <CTRL + +>
78 IF TRUE JUMP FOUND <CTRL + +>
79 LABEL NOT FOUND
80 FORWARD 1
81 TEST IF (R0W=1)
82 IF TRUE JUMP DONE
83 LABEL NOT DONE
84 BEEP 245-2*R0W-2*C0LUMN
85 WAIT 6
86 NO BEEP
87 TURN LEFT
88 CHECK FOR <CTRL + +>
89 IF TRUE JUMP FOUND <CTRL + +>
90 LABEL NO <CTRL + +>
91 JUMP NOT FOUND
92 LABEL DONE
93 HOME
94 RIGHT 1
95 PEN DOWN
96 TEXT I DID IT !!!
97 STOP
Plik EXAMPLE 6
1 REMARK SEASHORE SPRITE DEMO
2 SCREEN COLOR WHITE
3 BORDER COLOR BLUE
4 TURTLE COLOR CYAN
5 TELL SPRITE 1
6 PUT SPRITE AT 105-275
7 MAKE HEADING 180
8 MAKE COLOR BLACK
9 MAKE SPEED 2
10 MAKE VISIBLE
11 REMARK TRUCK
12 TELL SPRITE 3
13 MAKE COLOR BLUE
14 PUT SPRITE AT 170-50
15 CHANGE HEIGHT
16 CHANGE WIDTH
17 MAKE HEADING 0
18 MAKE SPEED 8
19 MAKE VISIBLE
20 REMARK SUN
21 TELL SPRITE 4
22 PUT SPRITE AT 50-150
23 MAKE COLOR YELLOW
24 MAKE VISIBLE
25 MAKE SPEED 0
26 REMARK HOUSE
27 TELL SPRITE 6
28 MAKE COLOR BROWN
29 MAKE SPEED 0
30 CHANGE HEIGHT
31 CHANGE WIDTH
32 PUT SPRITE AT 140-180
33 MAKE VISIBLE
34 REMARK AIRPLANE
35 TELL SPRITE 5
36 CHANGE WIDTH
37 MAKE COLOR GREY 2
38 MAKE SPEED 10
39 PUT SPRITE AT 80-50
40 MAKE HEADING 0
41 MAKE VISIBLE
42 REMARK BOY
43 TELL SPRITE 7
44 MAKE COLOR BROWN
45 MAKE SPEED 0
46 PUT SPRITE AT 170-60
47 MAKE VISIBLE
48 REMARK GIRL
49 TELL SPRITE 8
50 MAKE COLOR LIGHT RED
51 MAKE SPEED 0
52 PUT SPRITE AT 172-80
53 MAKE VISIBLE
54 THAW
55 MOVE TO 10-1
56 CHARACTER TO <SHIFT + >
57 PEN DOWN
58 CALCULATE X=3
59 LABEL STRIPES
60 LOOP X
61 RIGHT 40
62 DOWN 1
63 LOOP END
64 ROUTINE END
65 PEN UP
66 MOVE TO 20-1
67 TURTLE COLOR BROWN
68 PEN DOWN
69 CALCULATE X=2
70 USE STRIPES
71 TURTLE COLOR GREEN
72 CALCULATE X=4
73 USE STRIPES
74 PEN UP
75 TURTLE COLOR BROWN
76 MOVE TO 18-32
77 PEN DOWN
78 UP 7
79 CHARACTER TO @
80 TURTLE COLOR GREEN
81 LOOP 4
82 DOWN 1
83 LEFT INDEX
84 RIGHT 2*INDEX
85 LEFT INDEX
86 LOOP END
87 STOP
Plik EXAMPLE 7
W zamieszczonym archiwum znajdują się wszystkie programy będące w tym opracowaniu. Aby wczytać jakikolwiek program, zamontuj obraz dyskietki, z menu głównego wybierz G a następnie D, potwierdzając klawiszem RETURN. Teraz wprowadź nazwę pliku podaną w ostatniej linii listingu interesującego Cię programu.
|
Reset
| |
|
Zakończenie pracy dowolnego programu w celu załadowania od nowa systemu operacyjnego.
Stosuje się go w przypadku zawieszenia komputera jak i wówczas gdy program lub gra uniemozliwia powrót do BASICa. | |
| | |
zamknij
|
LOAD
| |
|
Polecenie to służy do wczytania programu z taśmy lub dyskietki do pamięci komputera tak, aby móc z niego korzystać.
Wpisanie samego polecenia LOAD powoduje wczytanie z magnetofonu pierwszego napotkanego programu. Dodanie za tym
napisem nazwy programu ujętej w cudzysłów powoduje poszukiwanie programu o danej nazwie. Po nazwie można dodać
jeszcze przecinek i liczbę. Liczba ta określa numer urządzenia, z którego należy wczytywać program.
Jeżeli nie podano numeru urządzenia komputer przyjmuje domyślną wartość 1, oznaczającą magnetofon. Innym
urządzeniem zazwyczaj wykorzystywanym jest stacja dysków, której odpowiada numer 8.
LOAD Odczytuje pierwszy program z taśmy.
LOAD "HALO" Szuka na taśmie programu nazwanego HALO i jeśli go znajdzie, wczytuje go do pamięci.
LOAD A$ Szuka programu o nazwie określonej zmienną A$.
LOAD "HALO",8 Szuka programu nazwanego HALO na dyskietce.
LOAD "*",8 Wczytuje pierwszy program na dyskietce.
Jeżeli program (zazwyczaj w kodzie maszynowym) ma być wczytany w określone miejsce w pamięci należy dodać tzw.
parametr wtórny równy 1.
LOAD "K/M PROG",1,1 Wczytuje program z magnetofonu bez przemieszczania go w pamięci.
| |
| | |
zamknij
|
SAVE
| |
|
Polecenie to zapisuje program znajdujący się w pamięci komputera na taśmę lub dyskietkę. Wpisanie tylko SAVE i naciśnięcie klawisza RETURN spowoduje zapisanie programu na taśmę. Komputer nie ma możliwości sprawdzenia co znajduje się na te taśmie; więc należy uważać aby nie skasować poprzednich programów.
Jeżeli za słowem SAVE podano nazwę programu ujętą w cudzysłów lub zmienną łańcuchową, komputer nada tę nazwę
zapisywanemu programowi, co ułatwi potem odnalezienie tego programu.
Za nazwą programu można podać numer urządzenia, na które program ma być zapisany oraz kolejny przecinek i paramet
wtórny. Wartość 1 parametru wtórnego oznacza, że zapisywany właśnie program będzie wczytywany w to samo miejsce w
pamięci, które zajmuje obecnie. Podanie liczby 2 powoduje zapisanie znacznika końca taśmy (End-Of-Tape marker). Gdy
podczas szukania innego programu komputer spotka ten znacznik poszukiwanie zostaje przerwane i pojawia się komunika
FILE NOT FOUND (programu nie znaleziono). Można też podać wartość 3 oznaczającą jednocześnie koniec taśmy i znacznik
wczytywania programu w to samo miejsce.
SAVE Zapisuje program bez nazwy na taśmę.
SAVE "HALO" Zapisuje na taśmę pod nazwę HALO.
SAVE A$ Zapisuje na taśmę pod nazwą określoną w A$.
SAVE "HALO",8 Zapisuje na dyskietkę.
SAVE "HALO",1 ,1 Zapisuje na taśmę pod nazwą HALO i z zaznaczeniem, że program będzie wczytywany w to samo miejsce pamięci.
SAVE "HALO",1,2 Zapisuje na taśmę pod nazwą HALO i ze znacznikiem końca taśmy.
SAVE "HALO",1,3 j/w z zaznaczeniem wczytywania w to samo miejsce w pamięci.
| |
| | |
zamknij
|
VERIFY
| |
|
Polecenie to służy do sprawdzenia poprawności ostatniego zapisu programu. Porównuje ono zawartość wskazanego zapisu
z zawartością pamięci komputera.
VERIFY Porównuje z najbliższym programem na taśmie.
VERIFY "HALO" Szuka na taśmie programu HALO i porównuje go z pamięcią.
VERIFY "HALO",8 Szuka na dyskietce programu HALO i porównuje go z pamięcią.
Jeżeli pokaże się komunikat VERIFY ERROR, oznacza to błąd przy zapisie. Należy program zapisać ponownie. Błąd ten
powstanie też jeżeli po zapisie została zmieniona jakakolwiek linia programu lub komórka pamięci.
| |
| | |
zamknij
|
DATA
| |
|
Po tej komendzie wypisane są dane, które będą odczytywane komendą READ. Dane te mogą być liczbami albo łańcuchami oddzielonymi od siebie przecinkami. Łańcuchy znaków nie muszą być ujęte w cudzysłów o ile nie zawierają
znaków spacji, przecinków lub dwukropków. Jeżeli nic nie jest wpisane między kolejnymi przecinkami komenda READ wczyta zero jako liczbę lub pusty łańcuch.
DATA 12, 17, "RAZ, DWA", 3.14, JANUSZ
| |
| | |
zamknij
|
POKE
| |
|
Po komendzie POKE zawsze następują dwa parametry. Pierwszy określa miejsce w pamięci (adres), natomiast drugi
wartość (0-255). Komenda POKE powoduje wpisanie w dane miejsce pamięci określonej wartości.
10 POKE 53281,0
20 S=4096*13
30 POKE S+29,8
| |
| | |
zamknij
|
READ
| |
|
Komenda READ przyporządkowuje kolejnym zmiennym dane pobrane z linii z komendą DATA. Należy zwrócić uwagę, aby
READ nie odczytał zmiennej znakowej, gdy oczekuje na liczbę, gdyż spowoduje to wystąpienie błędu.
| |
| | |
zamknij
|
RETURN
| |
|
Komenda ta działa w połączeniu z komendą GOSUB. Gdy program dojdzie do tej komendy, następna wykonana będzie
kolejna instrukcja po ostatnio realizowanej komendzie GOSUB. Jeżeli nie było przedtem komendy GOSUB pojawi się błąd
RETURN WITHOUT GOSUB ERROR.
| |
| | |
zamknij
|
TURBO
| |
|
Znacznie szybszy system odczytu lub zapisu pozwalający na zmieszczenie większej ilości danych na kasecie.
| |
| | |
zamknij
|
ROM-BIT przedstawia Black Box V9
| |
|
| |
| | |
zamknij
|
RUN
| |
|
Polecenie to powoduje wykonywanie programu znajdującego się w pamięci. Jeżeli po tym poleceniu nie wpisano żadnego
numeru linii program rozpocznie się od linii o najniższym numerze. Podanie numeru powoduje rozpoczęcie programu od
wskazanej linii.
RUN Rozpoczyna wykonywanie programu od pierwszej linii.
RUN 50 Rozpoczyna wykonywanie programu od linii 50
RUN X Pokaże się napis UNDEF'D STATEMENT ERROR. Należy zawsze podać liczbę określającą numer linii, a
nie zmienną.
| |
| | |
zamknij
|
SYS
| |
|
Po komendzie SYS należy podać liczbę lub wyrażenie z zakresu od 0 do 65535. Jest to wywołanie programu napisanego w
kodzie maszynowym. Od funkcji USR różni się tym, że nie pozwala na przekazywanie parametrów.
| |
| | |
zamknij
|
REM
| |
|
Komenda REM służy do umieszczania w tekście programu komentarzy odnośnie danej linii, czy też całego programu.
Można po tej komendzie wpisać dowolny ciąg znaków. Wszystkie znaki znajdujące się za komendą REM są ignorowane przez komputer.
Uwaga: Ignorowany jest także dwukropek, tak więc za tą komendą nie można już dodać w tej linii żadnej innej komendy.
| |
| | |
zamknij
|
GOTO lub GO TO
| |
|
Napotkanie przez program komendy GOTO powoduje przejście do linii programu oznaczonej liczbę po tej komendzie.
| |
| | |
zamknij
|
GOSUB
| |
|
Komenda ta działa podobnie jak komenda GOTO, z tym, że komputer pamięta numer linii, w którym ona wystąpiła. Jeżeli
napotkana potem będzie komenda RETURN, program powróci do następnej instrukcji po GOSUB. Komenda ta jest przydatna
gdy chce się z różnych miejsc w programie wywoływać ten sam ciąg instrukcji.
10 GOSUB 100: PRINT "PIERWSZY RAZ"
20 GOSUB 100: PRINT "DRUGI RAZ"
30 END
100 PRINT "ALA MA ASA":RETURN
| |
| | |
zamknij
|
OPEN
| |
|
Komenda OPEN pozwala C 64 na dostęp do urzadzeń jakimi są: stacja dysków, drukarka czy nawet ekran. Po słowie OPEN należy podać liczbę (0-255), określającą numer otwieranego zbioru, oraz numer urządzenia.
Numery urządzeń:
- Klawiatura
- Magnetofon
- Ekran
- Drukarka
- Dysk
Po numerze urzadzenia czasem należy podać tzw. parametr wtórny. W przypadku stacji dysków numer ten określa, który
kanał ma być wykorzystany do przesyłania danych. W przypadku drukarki określa dodatkowe parametry druku np. pismo
powiększone.
OPEN 1,0 Otwiera dostęp do ekranu
OPEN 2,8,2,"D" Otwiera do czytania zbiór D na dysku
OPEN 3,4 Otwiera dostęp do drukarki
OPEN 15,8,15 Otwiera kanał poleceń dla dysku.
Więcej informacji na temat obsługi zbiorów znajduje się w instrukcji obsługi Commodore 64 w Dodatku S.
| |
| | |
zamknij
|
PRINT
| |
|
Komenda PRINT jest jedną z pierwszych komend, które poznaje się podczas nauki języka BASIC. Za komendą PRINT
mogą znajdować się:
- łańcuch znaków ujęty w cudzysłów,
- nazwa zmiennej,
- funkcja lub wyrażenie matematyczne,
- znak formatujący wydruk.
Znaki formatujące wydruk to przecinek (,) lub średnik (;). Przecinek powoduje wyświetlenie napisu w najbliższej z czterech stref o szerokości 10 znaków, natomiast średnik powoduje wyświetlenie napisu bezpośrednio za poprzednim. Każdy z tych znaków może znajdować się na końcu linii. Ma on wtedy wpływ na następną komendę PRINT w programie.
10 PRINT "HALO"
20 PRINT "HALO" A$
30 PRINT A+B
40 PRINT J;
50 PRINT A,B,C,SIN(D)
Patrz także: funkcje POS, SPC, TAB.
| |
| | |
zamknij
|
PRINT#
| |
|
Istnieje kilka różnic między PRINT a PRINT#. Po komendzie PRINT# występuje numer określający zbiór, do którego mają
być zapisywane dane. Zbiór, do którego chce się coś zapisać musi być przedtem otwarty komendą OPEN. Przecinek i średnik mają taki sam efekt jak przy komendzie PRINT. Niektóre urządzenia mogą nie interpretować odpowiednio funkcji TAB i SPC.
10 PRINT#1, "WARTOSCI DANYCH:";A%,B1,C$
| |
| | |
zamknij
|
NEW
| |
|
Polecenie to usuwa z pamięci program i wszystkie zmienne, które były używane. Program przepadnie jeżeli nie był zapisany poleceniem SAVE. NALEŻY BYĆ OSTROŻNYM GDY UŻYWA SIĘ TEGO POLECENIA.
NEW może być użyte także jako komenda w linii programu. Gdy program dochodzi do linii zawierającej tę komendę, zostaje usunięty z pamięci.
| |
| | |
zamknij
|
CLR
| |
|
Komenda ta usuwa z pamięci komputera wszystkie zmienne, a pozostawia tylko program. Komenda ta jest wykonywana
automatycznie po wydaniu polecenia RUN.
| |
| | |
zamknij
|
LIST
| |
|
Polecenie LIST pozwala na obejrzenie linii programu BASIC znajdujących się w pamięci komputera. Można przeglądać cały program lub jego wybrany fragment.
LIST Pokazuje cały program.
LIST 10 - Pokazuje linie od 10 do końca.
LIST 10 Pokazuje tylko linię 10.
LIST - 10 Pokazuje linie od początku do linii 10.
LIST 10 - 20 Pokazuje linie od 10 do 20.
| |
| | |
zamknij
|
IF ... THEN
| |
|
Komenda ta pozwala wykonać jakieś działanie jeżeli spełniony jest warunek określony po słowie IF. Może to być dowolna komenda języka BASIC. Warunek może być porównaniem dwóch wyrażeń (porównanie operatorami = < > <= >= <>), lub pojedynczym wyrażeniem matematycznym. W drugim przypadku warunek jest spełniony gdy wyrażenie jest różne od zera. Można łączyć kilka warunków operatorami AND i OR lub stosować negację NOT.
IF X>10 THEN END
IF Y THEN PRINT "Y JEST ROZNE OD ZERA"
IF NOT Z AND (X>7) THEN 30
Podanie samej liczby po THEN w ostatnim przypadku jest równoznaczne z komendš GOTO 30.
| |
| | |
zamknij
|
FINAL III - PULL-DOWN MENU - DESKTOP
| |
|
| |
| | |
zamknij
|
FINAL III - PULL-DOWN MENU - BASIC
| |
|
| |
| | |
zamknij
|
|