Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
- Język programu: Basic
- Platforma: ZX Spectrum
- Kod zamieszczono w Bajtek 05/1989
- Autor listingu: Marcin Przasnyski
- Listing nadesłał: Faust
Stan listingu:
Dziś rano uciekł z więzienia znany przestępca i włamywacz, Kuba Rozpruwacz. Jesteś jedyną osobą, która widziała go zaraz po ucieczce. Dysponujesz starą maszyną do sporządzania portretów pamięciowych. Ma ona zakodowane po kilka cech każdej części twarzy. Są to: kształt głowy, gęstość włosów, wielkość oczu, gęstość brwi, wielkość nosa, uszu, ust i wąsów. Kuba nie nosi brody, gdyż go łaskocze. Nie przylepia też sztucznej z powodu alergii na klej. Każdą cechę możesz ustalić tylko raz.
Po podaniu ostatniej, maszyna tworzy gotowy portret. Twoje zadanie ogranicza się więc do zmiany wielkości kolejnych części twarzy. Przedstawiony poniżej program symuluje taką właśnie maszynę. Poszczególne cechy generowane są losowo. W sumie możliwe jest stworzenie 3888 różnych twarzy. Portret rozpoczynany jest od głowy. Można ją zwiększać i zmniejszać klawiszami 1 i 2. Klawisz 0 służy do przejścia do następnej cechy. Po ustaleniu wielkości wąsów, twój portret porównywany jest z oryginałem. Dowiadujesz się, które części podałeś źle, oraz jaka jest odchyłka portretu od oryginału. I to już koniec. Możesz grać od początku, tworzony jest nowy Kuba i ty musisz stworzyć jego portret.
Program powstał na pomyśle gry „PHOTOFIT“. Było to tworzenie portretów przez podawanie określających ich przymiotników, np. dłuższy, węższy, grubszy, oczywiście po angielsku. Ja ograniczyłem się tylko do wielkości, różnie rozumianej.
Proponuję rozbudować program według własnego uznania. Jego główną częścią są podprogramy 5000—5700, gdzie tworzone są części twarzy na podstawie zmiennych zawartych w tablicy a. Podprogram 6000 pozwala na zmianę wielkości odpowiedniej części. Zmiennymi wejściowymi są: wielkość początkowa, wielkość najmniejsza i największa oraz podprogram rysujący daną część Program został „potraktowany“ weryfikatorem z Bajtka 6/88, w celu uniknięcia pomyłek przy wprowadzaniu listingu. Nie należy więc wpisywać instrukcji REM na końcu linii, lecz po wpisaniu programu wykonać RANDOMIZE USR 23380. Oczywiście, w pamięci musi znajdować się weryfikator. Potem wystarczy porównać wartości przy REM w programie i w listingu.
zx_kuba_rozp_bajtek5-1989-t2e.pl.7z

