Zabawa z kalkulatorem – automacik.

Sama idea zabawy w porozumiewanie się kalkulatorem została przybliżona tutaj (dawniej był w tym miejscu link, ale obecnie 404), i zapowiedziałem automacik. Oto i on.

#!/usr/bin/perl

$file="/usr/share/dict/polish";
$regexp='^[osildebzjkhbgr]+$';
$regexp_strict='^([osiebzlkbg]+|[osiebzlhbg]+|[osiebzlrbg]+|[osjebzlkbg]+ \
|[osjebzlhbg]+|[osjebzlrbg]+|[dsiebzlkbg]+|[dsiebzlhbg]+|[dsiebzlrbg]+ \
|[dsjebzlkbg]+|[dsjebzlhbg]+|[dsjebzlrbg]+)$';
$strict=1;

if ($strict){
$regexp=$regexp_strict;
}

open(F,$file);
while (){
if (/$regexp/o){
chomp;
print "$_ ";

y/odilkhrszebjg/0011444523879/;

@tmp=split //;
$num=0;
while (@tmp){
$lit = pop @tmp;
if ((! $num) && ($lit =="0")){
print "$lit.";
}
else{
print $lit;
}
$num++;
}
print $/;
}
}
close (F);

Zmienna $file to oczywiście pełna ścieżka do pliku z wyrazami (jeden per linię), które sprawdzamy. W tym przypadku systemowy słownik języka polskiego. Zmienna $strict określa, czy chcemy, aby dana cyfra określała w obrębie wyrazu tylko jedną literę.

Jako wynik otrzymujemy gotowe do wpisania na kalkulator ciągi cyfr. Skrypcik jest b. prosty, pisany na szybko, więc możliwe są błędy. Za ich wskazanie będę wdzięczny. Have fun!

UPDATE: Poprawiony błąd zgłoszony przez inS.

UPDATE2: Poprawiony błąd w linii s/[g]/9/; -> s/[g]/9/g;

UPDATE3: Wdałem się we flame o językach programowania, co zmobilizowało mnie do lekkiego sprzątnięcia (tr zamiast kilku s) i optymalizacji kodu (/o) – jest jakieś 15% szybciej, choć nie o to w tym chodzi.

Pomysł na grę.

Tak sobie dziś surfowałem po necie z pociągu i widzę, że pomysł na podobną grę mają prawie wszyscy.

Ja myślałem o czymś podobnym, tylko w średniowieczu. Wielu graczy gra przez przeglądarkę. Każdy w swoim państwie. Normalnie określają, czy chcą wydobywać surowce (pracować), trenować jakąś umiejętność. Raz na jakiś czas król (mający wgląd w statystyki i zasoby regionów) robi pobór na na bitwę o wskazane tereny i każdy zarządca skrawku królestwa musi wystawić iluś ludzi, sprzęt itp. Zarządcy rekrutują u siebie (z wglądem w statystyki) i tu kończy się część przeglądarkowa.

Nieszczęśnicy (którzy się nie wykupili) określonego dnia idą na wojnę (różne rodzaje wojsk), a tam szczęściu można nieco pomóc (lepszym sprzętem, sprzęt podczas walk się zużywa, ale ci, którzy przetrwają mogą znaleźć jakieś fanty), ale tylko nieco… Sama bitwa już FPP lub coś b. podobnego. Zarządcy pełnią rolę generałów i mogą wydawać rozkazy (np. trębaczem) oddziałom. Król może komunikować się z generałami i ma podgląd na część strategiczną. Generałowie widok taktyczny. Szeregowi gracze – FPP.

W sumie wymagania nie byłyby aż tak straszne – pewnie można by podzielić pole bitwy na heksy i symulować tylko dany hex dla graczy FPP (oczywiście gracz może przejść do innego heksu). Po stracie określonej liczby ludzi oddział przestaje istnieć (ci, z oddziału, którzy przetrwali zachowują życie, ale tracą ekwipunek). Po utracie określonej liczby oddziałów/zajęciu określonych heksów dana armia przegrywa.

Zwycięzcy znajdują część porzuconych fantów, ci, co przetrwają dostają punkty doświadczenia (pozwalające kupić umiejętności i np. pozwalające na wyświetlenie dodatkowych informacji typu sytuacja na sąsiednich heksach podczas kolejnej bitwy) i mogą być mianowani zarządcami przez króla (na zdobytych ziemiach lub w miejsce tych, którzy polegli/zostali zdegradowani).

Osadzenie w średniowieczu eliminuje problem ogromnego serwera – w sumie w jednym heksie przebywa kilkunastu ludzi, resztę zasłania kurz. Jedyny problem z początkową fazą gry, gdzie w grę wchodzą łucznicy/kusznicy, ale pewnie do przeskoczenia. Problemem mogłaby być bariera wejścia i spora losowość (przy odrobinie pecha można dostać śmiertelną strzałę bez oddania jednego ciosu), ale tak to już jest… 😉

Tak patrzę, to całkiem sporo ludzi miałoby ochotę w coś podobnego pograć.

Rzut oka na odtwarzacz Sansa c200 z Rockbox – instalacja.

Jakiś czas temu Zal pisał o Rockboksie na Sansie. Sprawa zainteresowała mnie na tyle, że postanowiłem kupić ten wynalazek. Pora na wrażenia z instalacji.

Stary odtwarzacz Creative ma dwie zasadnicze wady: pojemność (512 MB) oraz brak odtwarzania plików ogg. Do tego z „pomniejszych” wad, których sobie nie uświadamiałem można doliczyć: brak playlist i integracji ze scrobblerami. Ponieważ do kupienia była Sansa c200 2 GB za relatywnie niewielkie – w porównaniu z możliwościami po insalacji Rockboksa – pieniądze, a dawno nie kupiłem sobie żadnego gadżetu, wybór był prosty – wymiana odtwarzacza.

Co do samego odtwarzacza nie mam zastrzerzeń. Co prawda refubished, ale wygląda jak nowy. Jakość wykonania nie rzuca na kolana – w porównaniu z Creative trochę plastikowy. Zasadniczą wadą jest, moim zdaniem, specjalny, dziwny kabel, oraz wbudowany akumulator. Razem sprawia to, że nie jest tak do końca mobilnie w porównaniu ze starym – trzeba taszczyć/znaleźć komputer i kabelek, żeby podładować baterię czy dograć muzę. Jeśli chodzi o dogrywanie muzyki, to dzięki wbudowanemu czytnikowi microSD jest to pewnie do obejścia (karta do telefonu, telefon z kompem bo bluetooth i voila – dogrywamy nowe kawałki). Akumulatorków przeboleć nie mogę, jedyne co mnie pociesza, to zapowiadany czas pracy na akumulatorze – 14h. Wygląda, że wystarczy.

Oryginalnym softem zbytnio się nie bawiłem, bo i tak zamierzam korzystać z Rockboksa. No ewentualnie do ładowania będzie wykorzystywany, bo podobno Rockbox ma buga z obsługą chipa w tym modelu. Zostawiłem baterię do naładowania i postanowiłem zrobić upgrade. Od samego początku były problemy – graficzny instalator nie wykrył sprzętu. Nie wiem, co było przyczyną, ale po doczytaniu, że tak naprawdę cała instalacja to rozpakowanie archiwum na playera i uruchomienie jednej binarki, postanowiłem instalować manualnie.

Instalacja, a konkretnie wgranie bootloadera wymaga uprawnień administratora. Najpierw kopiujemy zawartość archiwum (zdecydowałem się oczywiście na wersję stabilną, czyli release, czyli 3.3), potem uruchamiamy patcher bootloadera. Trwa to dosłownie moment. Po reboocie możemy przejrzeć dostępne opcje.

Opcji jest dużo. Trochę za dużo, jak dla mnie. Nawigacja nie do końca intuicyjna. Postanowiłem dodać muzykę i pobawić się playlistami. Tu pierwszy spory zonk – nie działało mi zapisywanie playlisty (teoretycznie dłuższe przytrzymanie select powinno zapisywać). Podobnie z presetami w radiu – także nie chciało zapisywać. Poprzeglądałem trochę gry (jest m.in. klon Frozen Bubble i Life!) i ustawienia. W międzyczasie trafiłem na forum o wiele mówiącej nazwie Anything But iPod, które będąc użytkownikiem Rockboksa warto znać – zwykle znajdziemy tam odpowiedzi na pytania.

Postanowiłem sprawdzić, czy upgrade do current coś zmienia w sprawie tych playlist. Tym razem – o dziwo – graficzny instalator nie miał problemów z rozpoznaniem sprzętu. Dodałem kilka tematów, fonty i postanowiłem wgrać nowy firmware. Upgrade jest prosty – po prostu nadpisujemy pliki (gdybyśmy chcieli zrobić upgrade manualny). Automat robi to sam. Przy okazji – nie trzeba upgrade’ować bootloadera – zmienia się bardzo rzadko.

Upgrade firmware’u nie tylko rozwiązał problem z zapisywaniem playlist (teraz wszystko działa jak w manualu), ale chyba też trochę pozmieniał nawigację – IMO jest znacznie lepiej. Wygląda na to, że podstawowa funkcjonalność działa OK. Do przetestowania zostało mi trochę bajerów w stylu spięcie ze scrobblerem libre.fm i być może pomyślę później o wgraniu audio menu. Na razie pora skompletować muzę, rozejrzeć się za jakąś kartą i zrobić playlisty.

Podsumowując – Rockbox jest fajny, choć nieco za bardzo dla geeków. Pewnie moja miła nie poradziłaby sobie z upgrade’em.