Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
Zanim rozpoczniesz czytanie tego rozdziału:
pobierz plik instalacyjny emulatora VB81
przeczytaj instrukcję instalacji i użytkowania emulatora VB81
BANDW.P, BOMBER.P,
INVERS.P,
MINEFIELD.P,
SLIDER15.P, SNAKE.P,
XO.P
In this section I have gathered old ZX81 programs, that were lucky to be recovered from my old notes. In my opinion some of them might be useful even today. Unfortunately many of the programs I wrote are lost forever. You can use each program presented here in any way you like - I give you my permission as the author of them. Have fun. | W tym rozdziale zebrałem stare programy dla ZX81, które udało mi się odtworzyć ze starych notatek. Sądzę, że część z nich może być użyteczna nawet dzisiaj. Niestety, wiele z napisanych przeze mnie programów zaginęło na zawsze. Wszystkie prezentowane tutaj programy można dowolnie wykorzystywać, na co wyrażam zgodę jako ich autor. Życzę wiele zabawy. |
Pobierz plik - INVERS.P | |
INVERS is really not a game, but rather a board to play a
logical game on it. You can enjoy it in many
different ways. The aim is to restore the original board after mixing made
by pressing key
1 or to get all characters inverted but one or to obtain some
interesting pattern. If you press key A to Y, then the
computer will invert that letter on the board together with the four
adjacent letters: above, down, left & right. For instance, the letter M
is pressed, then letters H, L, M, N & R get inverted. At the bottom of the
screen there you can see a line with recent 31 moves. Originally I wrote the program in pure ZX81 BASIC, but it was terribly slow. Now I have recreated it from my old notes and compiled with MCODER 2. The final result is quite decent and the game has become dynamic and much more enjoyable. |
Program INVERS właściwie nie jest grą, lecz planszą do gry logicznej. Można
się nim bawić na różne sposoby. Celem jest albo przywrócenie pierwotnej
postaci planszy po włączeniu mieszania klawiszem 1, albo odwrócenie
wszystkich znaków na przeciwne za wyjątkiem jednego, albo otrzymywanie
różnych ciekawych wzorków. Jeśli naciśniesz klawisz z literą od
A do Y, to na planszy zostaną odwrócone na przeciwne literka
naciśnięta oraz jej sąsiadki u góry, u dołu, z lewej i z prawej. Np. jeśli
naciśniesz M na pustej planszy, to w negatywie znajdą się litery H,
L, M, N i R. Na dole ekranu widoczne jest ostatnie 31 ruchów. Program pierwotnie napisałem w ZX81 BASIC, lecz był okropnie wolny. Teraz odtworzyłem go ze starych notatek i skompilowałem kompilatorem MCODER 2. Efekt jest bardzo przyzwoity i gra stała się dynamiczna i bardziej zabawna. |
Pobierz plik - SLIDER15.P | |
I remember, that being inspired by the
previous game - the INVERS - I decided to write a
similar game - the SLIDER15, which was an implementation of once well known
Fifteen Puzzle. The aim of the game is to slide the tiles until they all
will return to their initial position after being shuffled. You can slide
the tiles onto the free space only. When a tile is on its right place it
becomes black, otherwise it is gray. The primeval version was written in ZX81 BASIC and it wasn't too fast. Now I have remastered it to fit for MCODER 2 compiler. After compilation the code is fast and dynamic as it should be years ago - I even had to slow it down with PAUSE for the tile sliding effect to be visible at all. |
Pamiętam, że zainspirowany programem INVERS napisałem podobny program
SLIDER15, który jest implementacją na komputer ZX81 popularnej kiedyś gry w
piętnastkę. Gra polega na ułożeniu poprzesuwanych kafelek, aby utworzyły
pozycję wyjściową Kafelki można przesuwać tylko na wolne miejsce. Kafelka
znajdująca się na swoim właściwym miejscu jest czarna, inaczej robi się
szara. Pierwotna wersja była w ZX81 BASIC i nie należała do szybkich. Obecnie przerobiłem ją i skompilowałem kompilatorem MCODER 2, co nadało jej dynamiki - przesuwanie kafelek nawet musiałem zwalniać poleceniem PAUSE, aby był widoczny efekt ruchu. |
Pobierz plik - MINEFIELD.P | |
MINEFIELD is the ZX81 implementation of a popular game.
Your task is simple. As a minesweeper you have to
cross the minefield from bottom left hand corner to top right hand one.
There are invisible mines all over the minefield. You are equipped with a
mine detector which alerts you when a mine is in one of the adjacent
positions - above, below, left or right. Then a warning will appear at the
bottom of the screen. If you cross over a mine then your minesweeper career
is over. For the minesweeper movements use the following keys: Q - up, Z - down, I - left, P - right The whole program is entirely written in pure ZX81 BASIC and is sufficiently fast. |
MINEFIELD jest adaptacją gry POLE MINOWE na ZX81. Zadanie jest proste. Jako
saper musisz przejść przez pole minowe od lewego dolnego narożnika do
górnego prawego. Na polu znajdują się niewidoczne miny. Jednakże posiadasz
urządzenie do wykrywania min. Jeśli mina
(lub miny) znajduje się w jednym z przylegających
do ciebie pól od góry, dołu, z lewa lub z prawa, to na spodzie ekranu pojawi
się ostrzeżenie. Jeśli wejdziesz na minę, to kończysz karierę sapera. Ruchem sapera sterują przyciski: Q - góra, Z - dół, I - lewo, P - prawo Program jest w całości napisany w czystym ZX81 BASIC, mimo to jest wystarczająco szybki. |
Pobierz plik - SNAKE.P | |
Every programmer should write a SNAKE game. It makes use
of the queue structure which I have implemented with tables and indexes on
ZX81. The rules of the game are very simple -
there is a moving snake on the playfield which is controlled by you using
the standard keys: Q - up, Z - down, I - left, P - right The snake eats digits appearing at random positions within the playfield. After swallowing a digit the snake gets longer by as many segments as is the value of the digit it has just fed on. The game is over if the snake hits anything but the digit. The program is compiled by MCODER 2 compiler - the original game was quite slow. Now the game is quick and very dynamic - it requires quite a good reflex of the player. By constantly pressing a key you can accelerate the snake movement - that seems to be a side effect of PAUSE instruction. |
Każdy programista powinien zaprogramować sobie grę typu WĄŻ, czyli SNAKE.
Gra wykorzystuje strukturę kolejki, którą w ZX81 zrealizowałem na tablicach
i indeksach. Zasady gry są bardzo proste - po planszy porusza się wąż,
którym sterujesz standardowo: Q - góra, Z - dół, I - lewo, P - prawo Wąż zjada cyferki, które pojawiają się w losowych miejscach planszy. Po zjedzeniu cyferki wąż rośnie o tyle segmentów, ile wynosiła zjedzona cyfra. Im dłuższy staje się wąż, tym trudniej nim kierować. Gra kończy się, jeśli wąż uderzy w cokolwiek innego od cyferki. Program skompilowany kompilatorem MCODER 2 - oryginał był nieco wolny. Teraz gra jest bardzo dynamiczna i wymaga niezłego refleksu od gracza. Przytrzymanie wciśniętego klawisza przyspiesza węża - chyba jest to efekt uboczny rozkazu PAUSE. |
Pobierz plik - BANDW.P | |
A the very beginning of 80-ties arcades appeared in my city, where you could find flippers and electronic video games. One of them was DOMINO from Atari. | Na samym początku lat 80-tych w moim mieście pojawiły się salony gier, w których umieszczono flipery oraz gry telewizyjne. Jedną z takich gier było DOMINO firmy ATARI. |
The game was designed for one or two players. If only one
player was in the game then the other one was always the
computer. Using a very simple keyboard console the player controlled the
direction in which domino tiles were laid on the screen. If the domino line
hit anything in its way, then there was an exciting effect of falling tiles
along the line. Later on I decided to recreate this game on ZX81. Of course I had to forget about the tiles, as they required hires graphics or user defined characters at least, and both these functions were lacking on a regular ZX81. That was why I changed the rules a bit - in my game B and W there was to be only one player - the white. The computer played as the black. The players were drawing their lines on the playfield - black and white. The head of the line was marked by an asterisk character. The movement control was standard: Q - up, Z - down, I - left, P - right If the line head hit anything in its way, then the round was over and the opponent got one point for his score. There was a possibility of head to head collision for both the players - if such a thing happened then both of them got one point of score. The game was over when one of the players had scored 12 points. This was my favorite game on ZX81. The original was written in pure ZX81 BASIC and as such was slow of course, though I spent much time to improve its speed until it was playable. Now I have used the MCODER 2 compiler to get fast and dynamic game which at last resembles its predecessor - The DOMINO from ATARI. |
W grze mogło uczestniczyć od jednego do dwóch graczy. W przypadku jednego
gracza, drugim był komputer. Za pomocą prostej konsoli gracz układał na
ekranie linie z kostek domina. Jeśli układane domina zderzyły się z
czymkolwiek, to następował widowiskowy efekt przewracania się kostek. Później postanowiłem odtworzyć tę grę na ZX81. Oczywiście kostki domina raczej odpadały, ponieważ do tego potrzebna była grafika o wysokiej rozdzielczości lub przynajmniej definiowany zestaw znaków, a zwykły ZX81 takich funkcji normalnie nie udostępniał. Dlatego zmieniłem nieco reguły - w mojej grze B and W uczestniczy tylko jeden gracz - biały. Czarnym graczem jest komputer. Gracze układają na ekranie swoje linie - białą i czarną. Początek linii zaznaczony jest gwiazdką. Sterowanie jest standardowe: Q - góra, Z - dół, I - lewo, P - prawo Jeśli początek linii gracza uderzy w cokolwiek, to runda się kończy i przeciwnik zdobywa punkt. Możliwe jest zderzenie czołowe obu graczy - wtedy obaj otrzymują równo po 1 punkcie. Gra kończy się, gdy jeden z graczy osiągnie wynik 12 punktów. Była to moja ulubiona gra na ZX81. Jednakże pierwowzór w ZX81 BASIC nie należał do najszybszych, chociaż napisałem to, tak aby było grywalne. Teraz utworzyłem wersję skompilowaną za pomocą kompilatora MCODER 2 i wreszcie gra ta przypomina stare DOMINO na ATARI. |
Pobierz plik - BOMBER.P | |
Next arcade game - the BOMBER. Its rules are quite simple
- you fly a bomber and fuel is out. You drop bombs
gliding over a city. If you don't succeed to ruin all the buildings then
you'll die. You drop a bomb by pressing any key. At the same time there can
be only one bomb falling down, so be careful where to aim. Originally the game was written in ZX81 BASIC. Now the old code gained some vigor after having been compiled with MCODER 2 compiler. Another advantage of this game is that you can actually win. |
Kolejna gra zręcznościowa - BOMBER. Zasady są bardzo proste. Lecisz
bombowcem i skończyło ci się paliwo. Zrzucasz bomby szybując nad miastem.
Jeśli nie uda ci się zburzyć wszystkich domów, zginiesz. Bombę zrzucasz
naciskając dowolny klawisz. Naraz można zrzucić tylko jedną bombę, więc
celuj dobrze. Gra pierwotnie była napisana w języku ZX81 BASIC. Teraz stary kod zyskał wigoru po przekompilowaniu kompilatorem MCODER 2. Drugą zaletą tej gry jest to, iż można ją wygrać! |
Pobierz plik - MASTER.P | |
At the late 70-ties there was a very popular logic game
called MASTER MIND. In my version of that game there
is only one human player. The computer randomly picks up a secret code that
consists of 4 characters chosen from a set A...F. The characters may repeat
within the code. The human player is to guess that secret code. To achieve
that he enters his codes and the computer compares them against the secret
one. If there is a character match at a given position in both codes, then
the player is given an asterisk. If player's code contains a character that
also appears within the secret code but at different position, then the
player gets a question mark. Each player's character is being classified
only once. The game controls are: A, B, C, D, E, F - enters code character I - moves the cursor left P - moves the cursor right N/L - confirms the entered code 1 - new game The game was written in ZX81 BASIC and worked quite fast. The presented version is compiled with MCODER 2 compiler. |
Pod koniec lat 70-tych ubiegłego wieku dużą popularność zdobyła gra logiczna
MASTER MIND. W mojej wersji w grze uczestniczy jeden gracz - człowiek.
Komputer losuje tajny kod zbudowany z 4 liter od A do F. Litery mogą się
powtarzać w kodzie. Zadaniem gracza jest odgadnięcie kodu. W tym celu
wprowadza on swoje kody, a komputer porównuje je z kodem tajnym. Jeśli na
określonej pozycji w obu kodach jest ten sam znak, to gracz dostaje
gwiazdkę. Jeśli dany znak występuje w kodzie tajnym, lecz na innej pozycji,
to gracz dostaje pytajnik. Każdy znak jest klasyfikowany tylko jeden raz. Sterowanie grą: A, B, C, D, E, F - wprowadzenie literki kodu I - przesuw kursora w lewo P - przesuw kursora w prawo N/L - zatwierdzenie wprowadzonego kodu 1 - nowa gra Gra była napisana w języku ZX81 BASIC i działała w miarę szybko. Prezentowana tutaj wersja jest skompilowana kompilatorem MCODER 2. |
Pobierz plik - XO.P | |||||||||||||||||||
The X and O is a widely known popular 2 players game of
logic. The ZX81 version uses the following keys to
put an O on the board:
The presented version is compiled with MCODER 2 compiler. |
Gra w Kółko i Krzyżyk jest bardzo prostą grą logiczną dla dwóch graczy znaną
praktycznie każdemu. Wersja na ZX81 do postawienia kółka używa klawiszy w
następującym układzie:
Prezentowana tutaj wersja jest skompilowana kompilatorem MCODER 2. |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.