S³owa w ordynku. S³owa w ataku i w obronie. Pomieszane. Refrakcja s³ów w stali i w wodzie. Odbicia s³owne i zwidy. £ad i g³adko¶æ. Spazmy i erupcje. Koj±cy wp³yw soku z passion fruit. Od rzeczy i do rzeczy. Krótko mówi±c. Ostatnie s³owo. Na pocz±tku by³ skowyt.
Blog > Komentarze do wpisu
Bluetile

Do¶æ powszechne przekonanie, ¿e gry logiczne mog± u kogo¶ rozwin±æ zdolno¶ci matematyczne jest tak s³uszne jak wiara, ¿e codzienne rymowanie pomo¿e rymownikowi pisaæ poezje. Ta moja opinia nie atakuje osób rozwijaj±ch i propaguj±cych w pi¶mie i w kilobyte'ach przeró¿ne sudoki, krzy¿ówki,  wyszukiwanki i sk³adanki; wyja¶nia ona tylko czemu tego typu dzia³ania nie pojawiaj± siê w tym blogu.

Nie wdajê siê tu w to, bo mnie to nudzi. Odczucie pojawia siê u mnie jako nuda organiczna, a nie ideologiczna. Ale bywaj± gry, które wydaj± mi siê godne uwagi i chcê zrobiæ nieco reklamy pewnej grze, która tu pojawi siê jako komputerowa i to linuxowa (oj, wiem, ¿e siê nie pisze przez iks, ale zawsze kto¶ ma za swój obowi±zek mnie poprawiæ, a powa¿ne b³êdy pominie milczeniem), ale mo¿e byæ papierowa, tylko wymaga to przygotowania kartoników i nie jest tak szybka. W Sieci pojawi³a siê 10 lat temu i nazywa siê „niebieska p³ytka” czyli bluetile.

7 lat temu zapyta³em o parê detali autora (chyba Holendra, wnosz±c po adresie). Niestety Peter Kleiweg nie powiedzia³ mi ani sk±d wziê³a siê gra (jasno postawi³, ¿e napisa³ program, ale nie wymy¶li³ jej) ani te¿ nie ciekawi³a go strona matematyczna (np. ilo¶ci ró¿nych rozwi±zañ). Tak czy inaczej, tu jest skompaktowany materia³ i zaraz powiem co siê z nim robi, chocia¿ na ogó³ kto¶, kto wda³ siê w Linuxa nie potrzebuje wyja¶nieñ.

Jest prostok±t z równej wielko¶ci prostok±cików. Ilo¶æ ich w poziomie i w pionie ustala siê zaczynaj±c grê. Na pocz±tku wszystkie pola s± czerwone, a chcemy mieæ wszystkie niebieskie. Dotykaj±c pólka zmienia siê je oraz cztery z nim s±siaduj±ce (z dwóch boków, u góry i u do³u) na inny kolor. Iksiki s± zapisem dotkniêtych miejsc.

zrzut ekranu 1

Proszê pomy¶leæ, ¿e to jest macierz, a pierwsza kolumna to wektor z zer (je¶li miejsca nie tykamy) albo z jedynek (je¶li jest tam iks. Wydaje siê, ¿e zamiast mêczyæ siê z ustalon± sobie ilo¶ci± kolumn ciekawiej jest analizowaæ po kolei (po ustaleniu ile linii bêdzie) wszystkie mo¿liwo¶ci przy „du¿ej” ilo¶ci kolumn i rozwa¿aæ które przypadki za³atwia jakie¶ pocz±tkowe ustawienie. A ¿e pisanie od góry do do³u lub na odwrót daje symetryczne przypadki, wariantów jest o po³owê mniej ni¿ pocz±tkowo siê wydaje. Tu jest ilustracja dla ró¿nych mo¿liwo¶ci z trzema liniami.

zrzut ekranu 2

Dobrze, teraz o programie. ¦ci±gniêty, rozpakowujê komend±

tar xzvf bluetile.tar.gz
Tworzy siê katalog bluetile, wchodzê tam:
cd bluetile
i tworzê program, który podaje ¶ci±gi czyli rozwi±zania:
make
Dla rozwi±zania gry z 7 liniami i 12 kolumnami wo³am ¶ci±gê:
./tile -x 12 -y 7
¦ci±ga nie ma szczególnej urody, wygl±da tak:
zrzut ekranu 3
A je¶li chcê graæ a nie ogl±daæ gotowce, to (w graficznym otoczeniu, bo ¶ci±gi mog± byæ i na konsoli) wo³am
./bluetile &
Ten ostatni znaczek ka¿e grze biec „w tle” czyli nie blokuj±c termina³u.

Proszê zauwa¿yæ, ¿e czasem ¶ci±gi nie s± ekonomiczne. Na przyk³ad dla gry 3x5 rozwi±zanie z rys.2 (w gruncie rzeczy po³±czenie dwóch rozwi±zañ wymiaru 3x2) u¿ywa 6 dotyków a rozwi±zanie ze ¶ci±gi jest nieco biurokratyczne, ma 10 dotyków:
zrzut ekranu 4


Skojarzenia z gr± Johna Conway'a „Game of Life” s± zasadne, bluetile jest jej biedn± krewniaczk±.

Zrobienie gry z dwukolorowych kartoników (czy klocków) wymaga³oby te¿ k³adzenia monety (guziki s± coraz rzadsze) w miejscu dotkniêcia i zdejmowania jej przy powtórzeniu  operacji w tym samym miejscu. No có¿, jak kto¶ nie ma  Linuxa...

PS. (29/IV) W wyniku komentarza Kwika wrzuci³em tu plik bluetile.zip z drobnymi podmianami jêzykowymi. Aby nie wprowadzaæ zamieszania z oryginalnym programem wersja st±d zwie siê bluetile-pl. Reszta w w/w komentarzu.

poniedzia³ek, 28 kwietnia 2008, andsol-br
TrackBack
TrackBack URL wpisu:
Komentarze
2008/04/29 00:22:08
Ten bluetile to jest skrypt w Tcl/Tk - wiêc wcale nie trzeba do niego linuxa.
W windows mo¿na zainstalowaæ np. ActiveTcl.
Startuje siê wtedy przez \Tcl\bin\wish85.exe -f bluetile
To ju¿ chyba trudniej rozpakowaæ tego zgzipowanego tara.
-
2008/04/29 01:14:57
Kwik, no i popatrz co za leñ ze mnie, nawet nie pomy¶la³em o spytaniu:

andsol [~/bin]$ file bluetile
bluetile: a /usr/bin/wish -f script text executable

¦wietnie, wrzucam go z-zipowanego do zasobów (zgodnie z PeeSem). Wielkie
dziêki.