Bajtek 1/1986
Bajtek Redux nr 1/86 v.09

I stało się. Skończywszy zeszytowe numery Bajtka, wreszcie usiadłem nad tymi, które znają zapewne wszyscy, którzy mieli to szczęście/nieszczęście urodzić się na tyle wcześnie aby odnotować pojawienie się czegoś zupełnie innego w kiosku ...

Zobacz stronę związaną z tym artykułem w Reduksach Try2emu
Spis treści:

TYLKO DLA PRZEDSZKOLAKÓW

Roman 'Romek' Poznański

Kubuś Literka

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

Czytaj także w dziale TYLKO DLA PRZEDSZKOLAKÓW
„Kubuś Literka”
Roman 'Romek' Poznański - Bajtek 1/1986

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

„Pociąg”
Roman Poznański - Bajtek 1/1988

Cześć Maluchy! Stoi na stacji lokomotywa... a za nią wagony towarowe, które trzeba załadować czekającymi w magazynach skrzyniami. Maszynista, Kubuś Literka siedzi w parowozie i czeka, aż wszystkie wagony zostaną zapełnione..

„Skarb Kubusia”
Roman Poznański - Bajtek 7/1986

Cześć Maluchy! Nasz stary przyjaciel Kubuś Literka wybrał się tym razem na poszukiwanie skarbów. Stoi przed nim bardzo trudne zadanie. Skarb został ukryty w jednej z komnat zamku a jest ich dokładnie sto. Żeby było jeszcze trudniej Kubuś nie może wziąć skarbu nim nie zbierze trzech fantów ukrytych w innych komnatach. Trzymaj się Kubusiu!

„Choinka”
Marek - Bajtek 4/1985

Wiemy już, z poprzedniego numeru BAJTKA, na jakiej zasadzie można uzyskać ruch wybranego przez nas znaku na ekranie telewizora. Przypomnę, że polega to na tak szybkiej, że niewidocznej dla oka, zmianie miejsca wydruku owego znaku. Jak pamiętacie, miejsce znaku literowego czy graficznego na ekranie opisane jest dwiema współrzędnymi: numer linii i numer kolumny. (Mówimy ciągle o działaniach na znakach - typu liter, przy grafice używającej punktów sprawy będą się miały nieco inaczej, chociaż zasada jest taka sama).

„Na Szachownicy”
Roman Poznański - Bajtek 1/1989

Cześć Maluchy! Nasza szachownica ma nieco nietypowy kształt. Składa się z jedenastu pól ustawionych w jednym rzędzie. Rozpoczynając od jednego końca kładziemy na kolejnych polach pięć pionów w kolorze białym. Od drugiego końca kładziemy natomiast pięć pionów czarnych (rysunek 1). Pośrodku pozostaje jedno pole wolne. Zadaniem grającego jest umieszczenie białych pionów na miejscach czarnych i odwrotnie. Piony białe poruszają się wyłącznie w prawo, piony czarne — w lewo. Każdy z pionów można przesunąć na sąsiednie wolne pole, lub też — jeśli znajduje się na nim pion innego koloru — na wolne pole znajdujące się bezpośrednio za tym pionem. W jakiej kolejności należy przesuwać piony i ile trzeba wykonać ruchów?