Uruchomiłem te ZXowe ramki, jakoś nie mam teraz natchnienia by to dokładnie analizować, ale co robią POKE w 10 i RANDOMIZE POKE ?
POKE w 10 wskazują na obszar gdzie są zdefiniowane ramki.
Tak, można je załadować pod adres domyślny i wtedy linia 10 jest niepotrzebna.
RANDOMIZE
PEEK inicjalizuje generator liczb pseudolosowych licznikiem ramek ekranu.
Rozumiem że tu trzeba zdefiniować znaki ramek, a STRING$ zastąpić FOR-NEXTami, ale po co to ma aż tyle zmiennych i linijek?
Żeby nie trzeba było używać fornextów :>
Procedura rysująca ramki w wersji 3 nie ma ani jednej pętli (poza nieaktywnymi w zasadzie liniami tworzącymi grafikę i zmienną V$)
Analizuj wersję pierwszą, będziesz miał minimum treści
W mojej wersji nie losuje zbyt wąskich ani zbyt dużych ramek aby był mniejszy rozgardiasz na ekranie. Tu widzę że ekran przesuwa regularnie, a w mojej wersji przesuw jest chaotyczny i wynika z tego że niektóre wyższe ramki zaczyna rysować na tyle nisko że przesuw jest pożądanym skutkiem ubocznym, bo przy okazji ekran jest mniej zawalony co wydaje mi się bardziej estetyczne.
W mojej ramki są losowane dokładnie w przestrzeni ekranu.
Przesuw dodałem sztucznie, żeby ekran nie był cały czas zawalony