Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
- Język programu: Locomotive Basic
- Platforma: Amstrad
- Kod zamieszczono w Bajtek 7/1989
- Autor listingu: Roman 'Romek' Poznański
- Listing nadesłał: Faust
Stan listingu:
Cześć Maluchy!
Przyszedł do Was z wizytą kolega. Nie należy — jak Wy — do Komputerowych Przedszkolaków, a więc komputer jest dla niego urządzeniem egzotycznym i nieco tajemniczym. Po wypróbowaniu kilku gier kolega odkłada drążek sterowy i pyta: „Czy mógłbyś mi pokazać, na czym polega to programowanie?“
W tym momencie stajesz przed poważnym problemem. Jak w ciągu kilkunastu minut przedstawić zasadę programowania? Warto by było napisać także jakiś prosty program. Zwykle taki pokaz kończy się na stworzeniu czegoś podobnego do tego:
10 PRINT "Jurek-Ogorek, kiełbasa i sznurek"
20 PRINT
30 PRINT
40 GOTO 10
(Oczywiście jeśli nasz kolega ma na imię Jerzy.)
Trzeba przyznać — faktycznie — można nazwać to programem i to napisanym jedynie przy pomocy dwóch instrukcji. Kolega stwierdza, że programowanie jest zajęciem fascynującym, ale prawdę mówiąc minę ma nieco zawiedzioną. A może da się wymyślić coś ciekawszego i równie prostego? Właśnie coś takiego chciałem Wam zaproponować. Będą to wyścigi samochodowe napisane przy pomocy tylko jednej instrukcji (PRINT). Rozpoczniemy od zaprogramowania samochodu wyścigowego.
110 PRINT " _"
120 PRINT " ()-/ -()"
130 PRINT " / 1 "
140 PRINT " :/+:"
150 PRINT " :!o!:"
160 PRINT " ()-< U >-()"
170 PRINT " ./"
RUN >ENTER/RETURN<
_"
()-/ -()"
/ 1 "
:/+:"
:!o!:"
()-< U >-()"
./"
Ready
No dobrze, mamy samochód, ale on stoi w miejscu. Poruszymy go również przy pomocy instrukcji PRINT. Uzupełnimy nasz program o następujące linie:
101 PRINT: PRINT: PRINT: PRINT: PRINT:
102 PRINT: PRINT: PRINT: PRINT: PRINT:
103 PRINT: PRINT: PRINT: PRINT: PRINT:
104 PRINT: PRINT: PRINT: PRINT: PRINT:
105 PRINT: PRINT: PRINT: PRINT: PRINT:
171 PRINT: PRINT: PRINT: PRINT: PRINT:
172 PRINT: PRINT: PRINT: PRINT: PRINT:
173 PRINT: PRINT: PRINT: PRINT: PRINT:
174 PRINT: PRINT: PRINT: PRINT: PRINT:
175 PRINT: PRINT: PRINT: PRINT: PRINT:
Ruszył naprawdę. Najpierw wszystkie napisy uciekły do góry, a następnie zza dolnej krawędzi ekranu wyskoczył nasz samochód, przejechał przez cały ekran i zniknął za jego górną krawędzią. Wykorzystaliśmy tutaj zjawisko tak zwanego „przewijania“ ekranu, czyli przesuwania wszystkiego, co znajduje się na ekranie do góry w momencie, gdy kolejna linia nie mieści się na ekranie. W przypadku komputera ZX Spectrum i jego licznej rodzinki sprawa troszeczkę się komplikuje. Otóż Spectrum po zapełnieniu całego ekranu zatrzymuje program i czeka na naciśnięcie dowolnego klawisza. Można tego uniknąć wpisując po uruchomieniu komputera:
POKE 23692,255: REM *** Tylko Spectrum ***
Oczywiście należy to zrobić tak, aby nie widział tego nasz kolega, bo mu się znowu wszystko pomiesza w głowie.
Ale co to za wyścigi skoro mamy tylko jeden samochód? Czym prędzej musimy nadrobić to karygodne zaniedbanie. Oto program rysujący i uruchamiający kolejne samochody.
110 PRINT " _"
120 PRINT " ()-/ -()"
130 PRINT " / 1 "
140 PRINT " :/+:"
150 PRINT " :!o!:"
160 PRINT " ()-< U >-()"
170 PRINT " ./"
171 PRINT: PRINT: PRINT: PRINT: PRINT:
172 PRINT: PRINT: PRINT: PRINT: PRINT:
210 PRINT " x"
220 PRINT " ()-/ -()"
230 PRINT " o 2 o"
240 PRINT " //-"
250 PRINT " : !*! :"
260 PRINT " ##-: U :-##"
270 PRINT " ./"
271 PRINT: PRINT: PRINT: PRINT: PRINT:
272 PRINT: PRINT: PRINT: PRINT: PRINT:
310 PRINT " ."
320 PRINT " {}-/ -{}"
330 PRINT " ( 4 )"
340 PRINT " </->"
350 PRINT " (!*!)"
360 PRINT " []-: U :-[]"
370 PRINT " :---:"
371 PRINT: PRINT: PRINT: PRINT: PRINT:
410 PRINT " _"
420 PRINT " {}-/ -{}"
430 PRINT " : 3 :"
440 PRINT " :/-:"
450 PRINT " :!*!:"
460 PRINT " {}-: U :-{}"
470 PRINT " ./"
471 PRINT: PRINT: PRINT: PRINT: PRINT:
472 PRINT: PRINT: PRINT: PRINT: PRINT:
473 PRINT: PRINT: PRINT: PRINT: PRINT:
474 PRINT: PRINT: PRINT: PRINT: PRINT:
475 PRINT: PRINT: PRINT: PRINT: PRINT:
Przy okazji usuńmy linie 173, 174 i 175. Wpisując numer linii i naciskając >ENTER/RETURN<. Zmniejszy to dystans pomiędzy pierwszym samochodem a następnymi.
Pisząc cały ten program skorzystaliśmy dotychczas tylko z jednej instrukcji — instrukcji PRINT. Musicie przyznać, że efekt jest interesujący. Niestety program wykonuje się bardzo szybko i trzeba go uruchamiać od nowa. Są na to dwie rady. Po pierwsze można dopisywać do programu kolejne samochody, a po drugie można wprowadzić nową instrukcję. Łatwiejsze będzie z pewnością to drugie rozwiązanie, tym bardziej, że ta „nowa instrukcja“ nie jest wcale dla nas (a nawet dla Waszego kolegi) nowa. Chodzi tu oczywiście o rozkaz RUN. Przyzwyczailiśmy się korzystać z niego wyłącznie do uruchamiania programu, a tymczasem może on być z powodzeniem wykorzystywany w treści programu.
Dopiszmy więc ostatnią linię.
500 RUN
Teraz nasz program będzie biegał w kółko, aż mu nie przerwiemy lub nie wyłączymy komputera. Szerokiej drogi i gumowych drzew życzy Wam
cpc_wyscigi_bajtek_7-1989-t2e.pl.7z

Ten program ukazał się w reduksie "Bajtek 7/1989"
- „Z Dala od Japonii” Waldemar Siwiński
- „Kradzione Tuczy” Marek Czarkowski
- „Impreza jakich Wiele ” (go)
- „Karty Telefaxu do IBM PC ”
- „Kino z Komputera ” (go)
- „Dowód w 90 Sekund ” (go)
- „Atari bez Tajemnic” (JJ)
- „Final Cartridge III” Klaudiusz Dybowski
- „Hewlett Packard 71B Dominik Falkowski” Dominik Falkowski
- „Draconus ” Sebastian Kajdan
- „Rocket Ranger ” Luke
- „PHM Pegasus” Gen
- „S.O.S”
- „Ile płacić programistom ” Jonasz Mayer
- „Kijowskie Giganty ” Wojciech Łuczak
