!!!!!!! TYLKO DLA PRZEDSZKOLAKÓW czytelnia Try2emu

TYLKO DLA PRZEDSZKOLAKÓW

Cześć Maluchy

Proponuję Wam zabawę w pisanie gry komputerowej. Zaczniemy od najważniejszej rzeczy, czyli zaprogramowanie bohatera Kubusia Literki. Potem nauczymy go tańczyć.

%% %%
(..) (..)
(--) (--)
)( )(
=XX== ==XX==
XX XX A
XX XX----
II I
II I
<II> <I

Nie przejmujcie się, to wcale nie będzie trudne. Znacie już wszyscy instrukcję PRINT czyli "pisz". Przypomnę tylko, że rozkaz:

PRINT "NAPIS"

oznacza, iż komputer ma wydrukować na ekranie słowo NAPIS. Wczytajmy więc następujący program:

10 PRINT „ %% „
20 PRINT „ (..)”
30 PRINT „ (--)”
40 PRINT „ )(„
50 PRINT „ ==XX==”
60 PRINT ” XX”
70 PRINT ” XX”
80 PRINT ” II”
90 PRINT ” II”
100 PRINT” <II>”

Zapewne już na pierwszy rzut oka zauważyliście, że kolejno wyświetlane na ekranie znaki utworzą rysunek ludzika. Teraz możemy go w każdej chwili wywołać na ekran poprzez uruchomienie programu rozkazem RUN. Nasz Kubuś nie wygląda jednak zbyt ciekawie, stoi sobie nieruchomo i bardzo przypomina stracha na wróble.

Ale obiecałem przecież, że nauczymy go tańczyć. Pokażmy mu więc jak należy podnieść nogę. Dopiszmy do programu:

130 PRINT” XX A”
140 PRINT” XX---”
150 PRINT” I”
160 PRINT” I”
170 PRINT” <I”

Ponieważ głowa i ręce nie będą się poruszać, pokazujemy wyłącznie nogi Kubusia. Oczywiście musimy go nauczyć także podnoszenia drugiej nogi.

Pora wyjaśnić, jak naprawdę nasz Kubuś będzie się poruszał. Podzielmy sobie naszego ludzika na dwie części:

200 PRINT”A XX”
210 PRINT”---XX”
220 PRINT” I”
230 PRINT” I”
240 PRINT” I>”

pierwsza to część nieruchoma, a więc głowa i ręce, druga natomiast będzie się zmieniać — nogi. Należy tak ułożyć program by drukował w kółko najpierw pierwszą część ludzika, następnie zaś jedną z pozycji drugiej części. Oczywiście pozycje drugiej części ludzika muszą się również zmieniać w kółko. Jeśli dodatkowo, za każdym razem skasujemy ekran, uzyskamy wówczas wrażenie ruchu.

Zanim jednak zabierzemy się do tego programu przypomnimy sobie, jak działa instrukcja GOTO (skocz). Na przykład rozkaz:

GOTO 50

oznacza, że komputer ma przejść do wykonania instrukcji zapisanej w linii o numerze 50. W ten sposób możemy pominąć pewien fragment programu lub wrócić do wcześniejszych poleceń.

Trzeba również wytłumaczyć Kubusiowi w jakiej kolejności ma podnosić nogi. Wprowadzamy sobie w tym celu zmienną o nazwie NOGA. Dla naszego komputera każda zmienna — którą możemy sobie nazwać zupełnie dowolnie — oznacza jakąś konkretną liczbę. Jeśli napiszemy:

NOGA = 1

lub w przypadku SPECTRUM

LET NOGA = 1

wówczas komputer będzie pamiętał, że pod nazwą NOGA kryje się liczba 1, aż do chwili napotkania innego rozkazu, np.:

NOGA = 2

lub

LET NOGA = 2

w tym momencie komputer zapomina o liczbie 1 i noga będzie dla niego liczbą 2.

I jeszcze jedna, niezbędna instrukcja: jeżeli IF "warunek" jest spełniony wtedy THEN wykonaj "polecenie".

Przykład:

IF NOGA = 1 THEN GOTO 100

a więc jeżeli zmienna o nazwie NOGA ma wartość 1 przejdź do wykonania instrukcji w linii 100. Umówmy się, że jeśli NOGA przyjmie wartość zero Kubuś powinien stać dwoma nogami na ziemi, jeżeli NOGA będzie równa 1, ma podnieść pierwszą nogę, jeśli 2, drugą. (Swoją drogą, która noga jest pierwsza....?)

Możemy więc dopisać do naszego programu:

52 IF NOGA=1 THEN 130
54 IF NOGA=2 THEN 200

Widzicie jak potrzebne jest numerowanie linii w odstępach co 10?

Na koniec pozostaje nam dopisanie rozkazów zmieniających wartość NOGA i zapewniających powrót do początku programu po wydrukowaniu każdej pozycji.

180 NOGA=2
190 GOTO 2
250 NOGA=0
260 GOTO 2

Jeszcze tylko instrukcja kasująca ekran i pętla opóźniająca (bez niej nasz Kubuś będzie tańczył zbyt szybko).

2 FOR 1=1 TO 1000: NEXT
5 PRINT chr$(147)

Nareszcie koniec! Możemy uruchomić program i podziwiać naszego tancerza. Może nie jest zbyt piękny, ale za to nasz własny. I co najważniejsze, dokładnie wiemy jak to się dzieje!

Mój Kubuś powstał w COMMODORE, jednak bez trudu można przenieść ten program na każdy inny komputer. Wystarczy instrukcję kasowania ekranu zmienić na

CLS
W przypadku SPECTRUM czy ZX—81 należy pamiętać, że zmienną określamy instrukcję LET np.:
LET NOGA = 2 oraz dodatkowo określić początkową wartość zmiennej
1 LET NOGA = 0

To wszystko.

Przyjemnej zabawy!

0 REM KUBUS LITERKA

2 FOR I=1 TO 1000: NEXT
5 PRINT CHR$(147)
9 PRINT: PRINT: PRINT: PRINT
10 PRINT „ %% „
20 PRINT „ (..)”
30 PRINT „ (--)”
40 PRINT „ )(„
50 PRINT „ ==XX==”
52 IF NOGA=1 THEN 130
54 IF NOGA=2 THEN 200
60 PRINT” XX”
70 PRINT” XX”
80 PRINT” II”
90 PRINT” II”
100 PRINT” <II>”
110 NOGA=1
120 GOTO 2
130 PRINT” XX A”
140 PRINT” XX---”
150 PRINT” I”
160 PRINT” I”
170 PRINT” <I”
180 NOGA=2
190 GOTO 2
200 PRINT”A XX”
210 PRINT”---XX”
220 PRINT” I”
230 PRINT” I”
240 PRINT” I>”
250 NOGA=0
260 GOTO 2

 

Roman 'Romek' Poznański