Czasami poranek zaczyna się od miłej niespodzianki. A to ktoś
odnajdzie zaginiony przed laty program, a to ktoś podzieli się
napisaną przez siebie muzyką, a to dostaję wiadomość - jak dzisiaj
- że powstała nowa gra, rozpoczęta przed laty, a obecnie
dokończona.
Autorem gry Pasjans jest Paweł "QTZ", który tak
wytłumaczył przyczynę niepohamowanego impulsu, który skłonił go do
stworzenia tej karcianej gry: "Do napisania (...) skłoniła mnie
grafika kart na (...) stronie i jeden z komentarzy: "Karty są
po prostu prześliczne. Ach móc tak pograć w solitare na małym ATARI
- bezcenne."
O powstaniu gry
"Dawno temu zajmowałem się Atari BASIC'iem głównie przepisywałem
programy z Bajtka i kilku innych pisemek, modyfikowałem je, ale
również pisałem swoje. Niestety, większość pozostała niedokończona.
Od czasów Atari zajmuje się trochę programowaniem głównie w VB :).
Mój obecny sprzęt to Atari 65XE + joystick + XC12 + TURBO K.S.O.
2000 + SIO2PC.
W 1997 roku napisałem "Pasjansa" na małe Atari. Działa on w trybie
tekstowym w BASIC'u, ale w oparciu o assembler’owe programy "Okna"
Witolda Kolasy i "Copy 256". "Okna" znakomicie nadają się do
imitacji okienek Windows'a - podmieniają zawartość ekranu na
fragment pamięci zawierający okno do wyświetlenia, co również
świetnie nadaje się do wyświetlania kart w pasjansie. Karta
przykrywa poprzednią kartę i zdejmowana jest w tej samej
kolejności, co układana - stąd efekt zbierania kart przy
przenoszeniu większej ilości kart i po ukończeniu gry - aby
wizerunki kart zostały przywrócone do pierwotnego stanu.
W załączniku dwie wersje programu "Okna" (przepisane z prasy). Aby
zobaczyć efekt działania pierwszej wersji trzeba wczytać
"OKNA1.BAS" uruchomić, następnie, wczytać "OKNA1DMO.BAS" i
uruchomić. Drugi program "Okna" działa samodzielnie - plik
"OKNA2.BAS" (zawiera również instrukcję) i jego właśnie użyłem -
zmieniłem tylko formę z DATA na A$, a do umieszczenia go we
właściwym miejscu pamięci, jak również nowego zestawu znaków użyłem
"Copy 256". Okna pracują w trybach graficznych i tekstowych, więc
łatwo można było zrobić karty w postaci grafiki - lub zdefiniować
je na foncie. A ponieważ od początku planowałem dodać do programu
grafikę, wziąłem się ponownie do pracy...
Pokazane na stronie karty wymagały przekonwertowania do
odpowiedniego formatu - u mnie są mniejsze i ze względu na użycie
trybu tekstowego pełna trzynastka kart w najwyższej kolumnie (jak
na załączonym obrazku z poprzedniej wersji "Pasjansa") nie
zmieściłyby się na ekranie:
Zmniejszyłem je na do rozmiarów 3x4 znaki. Walety (były inaczej
oznaczone) oczyściłem z oznaczeń w MS Paint, a ponieważ w mojej
grze karty nie są podkolorowane, wycieniowałem kolor czerwony,
dokonałem też drobnych poprawek:
Rozmieściłem oznaczenia tak, aby były optymalne przy konwersji na
font i były bardziej przejrzyste. Dodałem także jokery, które nie
są używane w "Pasjansie" - gra zawiera te karty, gdyż przewiduję
zrobienie innej karcianki, wykorzystującej wszystkie dostępne
karty.
O narzędziach
I tu zaczęły się schody... Planowałem użyć programu "G2F", ale
okazało się, że brakuje tam niezbędnej opcji w edytorze czcionki -
edytor nie pozwala zmienić pozycji znaku, a program nie pozwala
wczytać zmienionych plików FNT/SCR, a w spreparowanym pliku G2F
uparcie przypisuje kolejne znaki (autooptymalizacja po wczytaniu),
zamiast użyć znaków w takiej kolejności, w jakiej są zapisane
(przykładowy plik dołączony).
Więc napisałem własny program Atari Font Mover, który
uzupełnia brakującą funkcjonalność "G2F" - umożliwia przesuwanie
znaków nie zmieniając kolejności pozostałych, co jest bardzo
pomocne, jeżeli chcemy taką grafikę użyć w grze wraz z literami,
czy znakami, które powinny być przyporządkowane do konkretnych
CHR$.
W programie "G2F" skonwertowałem plik G2F i zoptymalizowałem. Moim
programem zmieniłem położenie poszczególnych znaków, jak również
niektóre znaki, które oryginalnie były w inverse, plus takie jak
cudzysłów i znak, który zawierał bajt niemożliwy do zapisania w
linii (F$=), zamieniłem go na inverse. Po poprawkach w "Atari Font
Maker" (nie mylić z moim "Atari Font Mover" :)) zapisałem go, a do
"Pasjansa" dołączyłem ”linie binarne" wygenerowane moim programem.
Po niewielkich przeróbkach "Pasjans" zyskał nową szatę graficzną...
Oczywiście zarówno "Atari Font Mover" jak i "Pasjans" są programami
freeware.
Ponieważ chciałem zmieścić wszystkie karty w jednym zestawie
czcionek, wraz z niezbędnymi literami (które zostawiłem w
oryginale) wszystkie figury niezależnie od koloru wyglądają tak
samo, ale i tak tylko dama miała swoją alternatywę...
Jak grać?
Kilka słów o samej grze - po uruchomieniu gry wybieramy
klawiaturę lub joystick - naciskając klawisz lub fire (przy
wybraniu joystick'a dla wygody dowolny klawisz odsłania następną
kartę - lub fire + kierunek). Następnie trzeba chwilkę poczekać -
tworzone są karty... (mogłyby być zapisane w zmiennej tekstowej od
początku, ale tak zajmują ciut mniej miejsca, a ich wygląd jest
łatwiejszy w edycji. Można by oczywiście program tworzący karty
zapisać jako oddzielny, który tworzyłby linie z danymi dla gry, ale
póki co program generujący karty jest wbudowany.
Karty układamy wybierając kartę, którą chcemy przenieść i
wskazujemy miejsce docelowe. W celu przeniesienia całego stosu -
najszybciej nacisnąć "w dół", a potem "fire" lub "Return" (w
zależności od wybranego sterowania). Można przenosić część kolumny.
W grze brakuje punktacji, zakończenie gry następuje po ułożeniu
wszystkich kart na stosy od asów do króli - gra nie zauważa, że
wszystkie karty są odsłonięte - trzeba je ułożyć ręcznie. Gra
zawierała bug'a - czasami kursor się rozdwajał (nie miało to wpływu
na przebieg gry), ale po latach nie pamiętam już czy go
usunąłem...
Pograć w "Pasjansa" możemy po ściągnięciu tego pliku
z obrazem dyskietki. Żródełka i wymienione w artykule pliki są
dostępne tutaj. A program
"Atari Font Mover" powędrował do katalogu
użytków.
Kaz 2010-01-27 11:21:11
Fajne, juz dawno nikt nie pisal w Polsce gier karcianych na Atari, moze sie skusisz na gre w tysiaca? W ewentualnej wersji 1.1 pasjansa proponuje zmienic kolory na bardziej kontrastowe, na przyklad bardzo jasne tlo, a ciemny kolor kart. m 2010-01-27 11:32:20
no proszę, mija dopiero styczeń, a to już następna premiera ;-) co to będzie do końca roku... Ramos 2010-01-27 11:55:35
gratuluje fajnej gry. Z miłą chęcią zagram w nią. alex 2010-01-27 11:59:44
No to teraz pora na wersję graficzną ze spokojnymi music trackami w tle... xeen 2010-01-27 14:14:25
fajne, ale trzeba się przyzwyczaić do sterowania. dlaczego czasem "kursor" staje i nie można się ruszyć? xxl 2010-01-27 20:45:36
sterowanie jest ok. gra jest bardzo dobra - przeszkadza brak kolorkow niestety :/ jednak potrzebne sa kolorki czerwony i czarny, moze jakos pmg podkolorowac? Kaczor 2010-01-27 23:37:34
Wszystko fajnie i pięknie ale nigdy nie miałem okazji się nauczyć grać w to to. Albo nikt nigdy mi tego nie wyjaśnił, tylko zawsze słyszałem "co ty nie wiesz jak się gra w pasjansa!? Przecież to banalnie proste!" i tak to było. I chol.ra, dalej nie mam pojęcia! PG 2010-01-28 10:46:51
A nice attempt to use my graphics (not making use of all the potential but that would be difficult in Basic), even though the controls are a bit clumsy. Jacques 2010-01-28 11:20:26
Dałoby się dodać obsługę myszy z ST lub Amigi? T 2010-01-28 15:57:15
Gratulacje fajny pasjans. Szkoda, że brak kolorów.