Kolony dla Atari Portfolio
Oto konwersja znanej z małego Atari gry ekonomicznej na Portfolio.
Nie napisałem jej od początku, skorzystałem z kodu źródłowego wersji
dla PC Artura Siupika, znalezionej gdzieś w Internecie. Włożyłem sporo
pracy, by Kolony działało przy minimalnych wymaganiach Portfolio (wersja
A.S. po skompilowaniu zajmuje >100KB!). Nie uniknąłem pewnych uproszczeń.
Wyrzuciłem tryb wielu graczy, a w związku z tym menu wojska, zatem roboty
bojowe i X-wingi służą teraz wyłącznie do handlowania nimi. Nie ma rownież
zapisywania i odczytywania gry, uznałem że na Portfolio i tak nie ma to
większego sensu - zawsze można sobie wywołać menu systemowe i aplikacje
z ROMu.
LICENCJA, KOPIOWANIE
Kod źródłowy programu oraz załączone kody źródłowe dwóch modułów dla
Portfolio sa na licencji GNU GPL z dodatkowym zastrzezeniem - jeśli
dokonasz zmian w ich kodzie i zaczniesz rozpowszechniać chcę być o
tym poinformowany - interesuje mnie co zostało zmienione, na co i
dlaczego.
Pliki
Do ściągnięcia tutaj: kolpofo-1.0.rar (15.03.2002)
Wygląd
Ponieważ chciałem mieć ładny, okienkowy interface skorzystałem z dostępnych
informacji na temat BIOSu Portfolio do rysowania okienek. W ten sposób
powstał moduł pofcrt, który może posłużyć do pisania własnych programów.
Można przy jego użyciu łatwo i szybko zrobić dość przyjazny interface,
który w dodatku korzysta z charakterystycznych dla Portfolio skrótów -
ESC to zamknięcie okna, do opcji można szybko przejść naciskając pierwszą
literę jej nazwy itp.
Załączam rownież kod biblioteki graficznej, którą też nieco pozmieniałem
pisząc krytyczne części kodu w asemblerze (procedura rysowania linii nie
doczekała tego :). Nie jest ona co prawda wykorzystywana przez Kolony, ale
gdyby ktoś zechciał zrobić jakieć intro, to będzie na miejscu :)
Kod źródłowy
Nie mam co ukrywać - jest brzydki. Oryginalny A.S. był jeszcze brzydszy.
W dalszym ciągu straszy masa zmiennych globalnych i mnogość zmiennych,
które można byłoby połączyć w ładne struktury (np. krz,zel,ura w tablicę
surowce). Próbowałem to zrobić, ale w końcu zdecydowałem się na pozostawienie
tego w obecnej postaci. Taki ładny, strukturalny kod powodował jednak
zwiększenie objętości programu wynikowego. Niestety.
