MagLabMob
Spis treści 
- Wstęp
- Wymagania
- Instalacja
- Uruchomienie
- Opis działania
- Zawartość pakietu
- Historia wersji programu
- Zakończenie
Wstęp 
Program MagLabMob służy do generowania układu labiryntu do gry Magiczny Labirynt. Do generowania służy telefon komórkowy lub komputer. Gra jest bardzo fajna, opis i możliwość zakupu np. w sklepie Rebel. Mój program udostępniam bezpłatnie, wraz z kodem źródłowym, z możliwością korzystania w obu postaciach bez żadnych ograniczeń.
Wymagania 
Wymagany jest komputer lub komórka. Jedno i drugie urządzenie musi być wyposażone w Javę. Działanie na komputerze było testowane na systemach linux (Debian, Gnome) i Windows 2000, a na komórkach: Samsung S5200, Nokia C5230.
Instalacja 
Plik MagLabMob_1_05.zip należy rozpakować do dowolnego pustego folderu. Na Windowsie od tego momentu program jest zainstalowany i uruchamia się go poprzez plik maglab.bat. Pod linuxem konieczne jest jeszcze nadanie praw wykonania programu plikom *.sh.
Do komórki przekopiowujemy plik MagLabMob.jar, np. przy pomocy kabla usb. Potem instalujemy ten plik w komórce i od tego momentu generator dostępny jest w aplikacjach komórki. Jeżeli telefon instaluje tylko pliki jad, to oprócz jara kopiujemy także jad i instalujemy plik jad. Plik MagLabMob.jad instaluje program z bieżącego katalogu, natomiast MagLabMob_www.jad - ze strony www. Zamiast kopiowania plików przez kabel usb można ściągnąć je bezpośrednio z tej strony:
MagLabMob.jar
MagLabMob.jad MagLabMob_www.jad
Uruchomienie 
W systemie Windows uruchamiamy maglab.bat.
Na linuxie maglab_term.sh lub maglab.sh. maglab.sh uruchamia bezpośrednio plik jar, zaś maglab_term.sh próbuje wcześniej utworzyć okno terminala, co może być przydatne w środowisku graficznym. Najpierw poszukiwany jest gnome-terminal, a następnie xterm. Jeżeli żaden z tych programów jest nieosiągalny program kończy działanie zostawiając w logu krótki komunikat.
Opis działania 
Od razu po uruchomieniu program prezentuje schemat labiryntu. Na komputerze jest to rysunek labiryntu oraz jest opis. Na komórce tylko opis. Rysunek labiryntu łatwiej wpada w pamięć, a chodzi o to, by osoba układająca labirynt nie zapamiętała go. Dzięki temu może brać udział w grze. Zasada kodowania opisu labiryntu wymaga komentarza:
Intepretacja wyników 
Przykładowy efekt działania programu jest taki:
-------------
|# #|#|#|# #|
- -
|# #|# #|# #|
- -
|# #|#|# #|#|
|#|# # #|# #|
- - - -
|# # # #|# #|
- -
|#|#|# # #|#|
-------------
- 4 | 46
- 12 | 1236
- 24 | 13
- 45 | 1245
- 5 | 36
- 14
Niesprawiedliwosc: 54
Labirynt opisany jest od strony lewej do prawej. Po pierwszym znaku - (minus) podane są numery pozycji (licząc od góry), na których trzeba położyć poziomo ścianę labiryntu. W naszym przykładzie pierwsza kolumna labiryntu ma tylko jedną przegrodę i jest to czwarta przegroda od góry. Potem jest znak | (pipe, pionowa kreska), po którym podane są numery pozycji dla pionowych ścian labiryntu. W naszym przykładzie 4 i 6 pozycja mają pionową przegrodę. I tak dalej, na przemian poziome i pionowe przegrody. Gwarantowane jest, że wszystkie kratki labiryntu są ze sobą połączone. Każdy labirynt wykorzystuje wszystkie dostępne w grze 24 przegrody.
Niesprawiedliwość 
Program stara się wygenerować labirynt "sprawiedliwy". Sprawiedliwość mierzona jest w następujący sposób: dla każdego gracza obliczana jest sumaryczna długość drogi, czyli suma długości dróg do każdego pola na planszy. Różnica między najkrótszą sumaryczną drogą a najdłuższą to miara niesprawiedliwości labiryntu. Wygenerowany losowo labirynt bywał bardzo niesprawiedliwy, co psuło grę. Program generuje po cichu 10 labiryntów i wyświetla ten najbardziej według niego sprawiedliwy. Dzięki temu z wartości np. 192 schodzi się do 20, 30. Mam nadzieję, że obecna wersja będzie przyjemniejsza w użyciu.
Zawartość pakietu 
Pakiet zawiera następujące pliki:
- MagLabMob.jar - plik z aplikacją na komórkę
- MagLabMob.jad, MagLabMob_www.jad - pomocnicze pliki do instalacji pliku jar. Plik jad wymagany jest np. przez niektóre komórki Samsunga
- MagLabMob_sh.jar - plik z aplikacją na komputer
- maglab.sh, maglab_term.sh - pliki do uruchomienia programu na Linuxie
- maglab.bat - plik do uruchomienia programu na Windowsie
- MagLab.java, MagLabMob.java - kod źródłowy programu
- build.xml - plik pomocny przy kompilowaniu i pakowaniu programu, skrypt programu ant
- maglab.html, style.css - pliki pomocy, czyli bieżący dokument
Historia wersji programu 
- 1.05, 21.07.2011
- Aktualizacja instrukcji, plików jad
- 1.04, 06.02.2011
- Aktualizacja instrukcji (pola description, content) Pobierz.
- 1.03, 30.01.2011
- Naprawa błędu z niedziałaniem na Windowsie przy uruchamianiu z katalogu ze spacją w nazwie. Pobierz.
- 1.02, 06.11.2010
- Generowanie 10 labiryntów i wybór najbardziej sprawiedliwego. Pobierz.
Zakończenie 
Jestem otwarty na sugestie. Będę wdzięczny za informacje o nieprawidłowym działaniu strony lub programu. Powinien działać na każdej komórce i na każdym systemie operacyjnym. Zachęcam do omawiania spraw związanych z tym programem na specjalnym forum. No i jest jeszcze mój mail na dole strone.
Spis treści   Jarek Czekalski, ostatnia modyfikacja 23.07.2011