Archiv pro měsíc: Březen 2010

Transport Tycoon a jiné staré hry

Náhodou jsem na internetu zapátral po starých hrách, ještě z dob DOSu, a musím říct, že na mně dýchly staré časy.

Transport Tycoon Deluxe

Z těchto her si stále občas zahraji snad jen jedinou. Není to žádná jiná než Transport Tycoon Deluxe.  Byť tato hra pochází někdy z roku 1994, stále se podle mně jedná o velmi dobře zpracovanou strategii. Ve zkratce jde o budování dopravní sítě (silniční, železniční, lodní a letecká přeprava) s cílem získat co nejvíce peněz. Peníze se získávají dopravováním surovin, zboží, cestujících, pošty a dalšího z jednoho místa na druhé. Výše získané odměny se odvíjí od vzdálenosti, ceny přepravované věci, rychlosti přepravy apod. Hra začíná mezi roky 1920 až 1975 (dle zvolené mapy) a pokračuje až do roku 2050. Postupem času se objevují nové vynálezy (letadla, elektrické vlaky, rychlejší auta apod.). Tato hra patří jednoznačně k mé nejoblíbenější.

Moje poslední rozehraná hra

Moje poslední rozehraná hra

Tato hra se již dávno nevyvíjí, ale vznikl její nástupce – OpenTDD. Hra má propracovanější umělou inteligenci protivníků, více možností nastavení, lepší grafiku, některé drobné funkční vylepšení. Sice mi původní verze přišla dokonalá, ale tato je ještě dokonalejší.

Grand Prix Circuit

Hra od dnes již neexistující firmy Accolade, jedná se o  závody Formule 1 – 3 vozy, 8 tratí a dlouhé hodiny ježdění kvůli zlepšení času na trati o 0,1 sekundy. Také tato hra mne svého času pohltila tak, že jsem byl schopen závodit stále dokola stejný okruh, jen pro to, abych zlepšil osobní rekord. Na dnešní dobu otřesná hra, ale bavila mne. Tuto hru je možné stáhnout zde.

Skyroads

Neobvyklá hra se skákajícím létajícím malá věc. Dráha poskládaná z různých útvarů (kvádrů, kůželů, válců apod.) kdesi ve vesmíru. Úkolem bylo proletět touto dráhou a nespadnout do závratných hlubin. Skvělá zábava na dlouhé hodiny. Stažení hry.

Ostatní hry

Her z dávných dob existuje mnohem větší množství. Ale toto jsou staré hry (pod tímto pojmem chápu hru, která funguje v DOSu a je stará alespoň 15 let), které mne zaujaly natolik, že jsem s nimi strávil nějakou dobu a utkvěly v mé paměti.

Více takovýchto her je možné najít na webu http://www.abandonia.com.

Náhled YouTube videa

Pro získání náhledu videa z YouTube postačí tento následující kód:

http://img.youtube.com/vi/video/0.jpg

Pro jiné rozměry náhledu videa a pro obrázky z jiných míst videa se dá experimentovat s číslem obrázku.

Funkce pro práci s filesystémem, soubory a složkami

V tomto článku bych rád uvedl několik zajímavých funkcí pro práci se soubory a složkami, které mně zaujaly, používám je, či mi jinak přijdou praktické:

string basename ( string $path [, string $suffix ] ) – funkce vrátí název souboru

bool chmod ( string $filename , int $mode ) – nastaví souboru/složce oprávnění

bool copy ( string $source , string $dest [, resource $context ] ) – zkopíruje soubor

bool unlink ( string $filename [, resource $context ] ) – smaže soubor

string dirname ( string $path ) – funkce vrátí cestu k souboru

bool file_exists ( string $filename ) – zjistí, zda soubor existuje

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) – vytvoří složku

bool move_uploaded_file ( string $filename , string $destination ) – přesune uploadovaný soubor

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) – zjistí informace o zadané cestě

Posílání emailů pomocí PHP třídy RMail

Pro posílání emailů pomocí PHP je nejvhodnější použít třídu RMail (nástupce výborného HtmlMimeMail5).

Není vůbec nutné používat vestavěné funkce v PHP, laborovat s použitým kódováním a podobné nesmyslnosti a zbytečnosti. Tato třída prostě pošle email (i v HTML, s přílohami a s obrázky). Základní použití je třeba takové:

require_once("Rmail.php");
$mail = new Rmail();
$mail->setTextCharset('utf-8');
$mail->setHTMLCharset('utf-8');
$mail->setHeadCharset('utf-8');
$mail->SetSubject('predmet');
$mail->SetHTML('html obsah');
$mail->SetText('obsah');
$mail->SetFrom('odesilatel <neco@neco.cz>');
$mail->addEmbeddedImage('image.gif');
$mail->send(array($adresa));

Procházení souborů ve složce

Následující krátký kód otevře zadanou složku a v cyklu projde přes všechny soubory. Každý soubor otevře a s jeho obsahem je možné dále pracovat.

if($handle = opendir('directory')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$fileHandle = fopen('directory'.$file, "r");
$fileContent = fread($fileHandle, filesize('directory'.$file));
fclose($fileHandle);
}
}
closedir($handle);
}

Nalezení obrázků v HTML kódu

Nedávno jsem potřeboval z HTML kódu zjistit názvy obrázků v určitém umístění, napsal jsem si tedy krátký kód, který dělal co jsem potřeboval. Kód byl na necelých 20 řádků.

Dnes jsem potřeboval naprogramovat podobnou věc s tím rozdílem, že obrázky mohly být v několika různých složkách. Respektive cesta k nim nemusela být vždy stejná. Výsledkem je následující krátký kód:

$images = array();
preg_match_all('/<img[^>]* src=\"([^\"]*)\"[^>]*>/',$html,$images);

Výsledkem je následující pole:

array(2) {
   0 => array(2) {
      0 => string(125) "<img src="http://localhost:88/image.jpg" alt="" width="350" height="350" />"
      1 => string(139) "<img style="width:1px;height:1px;" src="http://localhost/image2.jpg" alt=""/>"
   }
   1 => array(2) {
      0 => string(79) "http://localhost/image.jpg"
      1 => string(89) "http://localhost/image2.jpg"
   }
}

Velice jednoduché, rychlé a elegantní řešení.

Google Apps vs. Live Custom Domains

V roce 2006 jsem z freemailu na Centrum přešel na email hostovaný na serveru mého kamaráda (ještě předtím jsem měl email u Atlasu). Po nějaké době jsem přešel k Profituxu a poté k Savaně. Tento hosting je jinak výborný a mohu jej směle doporučit. Jediná nevýhoda tohoto hostingu je standardní velikost schránky 100MB. Za mírný příplatek je možné mít schránku neomezené velikost (neomezené do celkového maximálního objemu dat účtu).

Emailová služba nabízela obvyklý základ – tedy POP3S, IMAPS, SMTPS. Ale má i pár nevýhod – neexistuje synchronizace kontaktů, IMAP je pomalý, filtr nevyžádané pošty už poslední dobou také moc nestačil, online rozhraní pošty není moc komfortní (RoundCube či SquirrelMail). Již delší dobu nabízí Microsoft a Google možnost emailu provozovaného na vlastní doméně. A to celé zdarma (tedy alespoň v základu). Po delším přemítání, čtení článků a diskusí jsem se rozhodl vybrat jednoho z těchto poskytovatelů. Rozhodnutí padlo na Microsoft.

Zlákalo mně použití MAPI (sice je to vlastní řešení Microsoftu, ale pro čtení pošty používám stejně jen Office Outlook či Windows Live Mail), které by mělo být rychlejší, nabízí synchronizaci kontaktů, kalendáře a úkolů. Také spam filtr by měl být na dobré úrovni. Nejprve jsem chtěl nový email vyzkoušet nanečisto. Proto jsem na jedné své doméně emaily přesunul pod křídla Microsoftu a začal testovat. Různě po internetu kolovaly zvěsti o tom, že na/z Hotmail nechodí emaily z centrum.cz či jiných českých freemailů. Po otestování jsem zjistil, že tomu tak (v mém případě) není a začal s přesunem emailů pod doménou skoumal.name. Vše probíhalo rychle, změnu v DNS zaznamenaly serveru Microsoftu během pár desítek minut. Mohl jsem začít email používat. Přesun zpráv byl také poměrně rychlý (z Windows Live Mailu pomocí MAPI). První rozčarování bylo, že mi nepřišel email odeslaný z centrum.cz, řešením bylo přidat konkrétní adresu do whitelistu. Spamu chodilo málo, ale jinak vše fungovalo. Bezpeční odesílatelé (i ti nebezpeční), kontakty, pošta – zkrátka vše se krásně synchronizovalo mezi webem a čtyřmi počítači.

Až do chvíle kdy mi emaily od mé snoubenky přišly s několikahodinovým zpožděním. Řekl jsem si, může se to stát. Nic se neděje. Když se ale toto zopakovalo několikrát a dokonce se stalo, že email nepřišel vůbec, rozčílil jsem se. Vše je promyšleno, synchronizace funguje, MAPI funguje (odpadá nutnost nastavování SMTP kvůli debilním providerům, kteří blokují porty 25 a 465, případně omezují provoz pouze na své SMTP), ale pokud mi nechodí emaily od osoby mně nejdůležitější, je to na nic.

Ač mi to bylo líto a Live Custom Domains funguje výborně, byl jsem nucen (zkusit) přejít ke Googlu. Zprovoznění bylo v pohodě. Google má sice trochu zmatek s účty Google Apps a účty Google, ale dá se vše nastavit, aby to náležitě fungovalo (Trochu zvláštní je minimální délka hesla, GMail vyžaduje alespoň 6 znaků, ale třeba Google účet 8. Z tohoto důvodu nebylo možné se přihlásit, dokud jsem nezměnil heslo na delší). Celkově má administrace domény, účet i emailová schránka mnohem víc nastavení než Microsoftí řešení. Neříkám, že je to dobře nebo špatně, je to fakt. Import kontaktů proběhl v pořádku, tam si nemohu stěžovat. Import pošty byl ale něco otřesného. Cca 3 GB pošty jsem nahrával několik dní (a nebylo to rychlostí připojení :) ). To je moc dlouho. I stahování pošty pomocí IMAPS trvá déle než s MAPI.

A docela oříšek je nastavení složek. Google se tváří, že složky nemá a že to jsou štítky. Štítek je vlastně složka, ale každý email může mít více štítků (jinak řečeno může být ve více složkách). Zvyklý na jiný princip třídění pošty jsem byl z tohoto uzpůsobení poněkud zmaten. Ale po pár dnech jsem si zvykl a nyní už mi to přijde výborné řešení. Sice malinko zmatenější, ale má rozhodně něco do sebe.

Co se týče doručování emailů, Google mi zatím přijal i odeslal vše, co jsem chtěl. Bez chyby. Spam filtr funguje dobře, spam chodí do složky, do které má a skutečná pošta chodí také správně (po drobné počáteční korekci). Co se spolehlivosti týče, nemám co vytknout.

Co se funkčnosti týče, je to takové rozporuplné. Pokud bych chtěl používat pouze webové rozhraní Gmail, není co řešit a vše funguje bezvadně. Horší je to se synchronizací. Stahování pošty jde pouze přes IMAPS (ale naštěstí na portu 5xx, který není blokován některými providery pro odesílání pošty – to hodnotím kladně) a to velice pomalu. Pokud mám ale nastaven interval kontroly na 1 minutu, pošta chodí prakticky okamžitě (zpomalení je oproti Live Mailu). Kontakty se mi podařilo synchronizovat jen s telefonem (SE C702), nikoli Windows Live Mailem či Outlookem. To je hodně blbé. Řešení sice nějaká existují, většinou mají nějaká ale. Tedy zatím jsem nic opravdu funkčního nenašel. To je snad jediná opravdu zásadní nevýhoda.

Další pěknou věcí GMailu je systém konverzací. Je to podobné jako v Outlook 2010 nebo v připravovaném Windows Live Mail Wave 4. Toto je parádní a usnadňuje to čtení pošty. Byť je Outlook o chlup lepší, pořád je to dobré.

Po vyzkoušení obou emailových služeb by mělo následovat rozhodnutí, kterou z nich vybrat. Žel toto není jednoznačné. Pokusím se shrnout důvody pro a proti:

Live Custom Domains

  • + synchronizace kontaktů a kalendáře
  • + podpora rychlejšího MAPI
  • - chybí podpora IMAP
  • - nechodí některé emaily (zásadní!)

Google Apps

  • + SMTP server na nestandardním portu
  • + třídění zpráv do konverzací
  • + štítkování
  • - horší podpora složek
  • - pomalá IMAP komunikace

Vítězem se pro mně stává Google, pokud by Microsoft doručoval emaily, stává se pro mně vítězem on. Nabízí mnohem lepší synchronizaci, což vzhledem k tomu, že používám několik počítačů, je pro mně dost zásadní.

Zpátky do 17. století s Agricolou

Na podzim minulého roku nás s Peťinkou napadlo, že si koupíme nějakou deskovou hru. Ani už nevím, co bylo důvodem, ale po procházení webu hrajeme.cz nás některé hry zaujaly. Mezi naše adepty se dostaly hry Agricola a Pandemic. Z ostatních her nás zaujaly sice u některé jiné, ale už ne tolik, jako tyto dvě. Nakonec jsme se rozhodli pro Agricolu.

Nadšeně jsme si ji donesli domů, slavnostně rozbalili a jali se luštit pravidla. Po prvním zběžném přečtení, jsme způsob hry jakýstakýs chápali a tak jsme se dali do první hry. Ne všechna nám byla jasná, ale to u první hry nevadí.

Musím také upozornit na balení hry. Jedná se o poměrně velkou krabici po okraj plnou herním materiálem. Pro utřídění jsou sice přiloženy sáčky, ale po pár rozbaleních a sbaleních hry jednoho přestane to věčné třídění bavit. Proto jsme si upgradovali krabici tím, že jsme v ní vytvořili odpovídající přihrádky pro karty a další materiál. Nyní se nám pohodlně Agricola vejde do jedné krabice včetně karet z rozšiřujícího balíčku a doba mezi rozhodnutím zahrát si a zahájením hry se významně zkrátila.

Ale abych se vrátil k začátkům s touto hrou. U prvních her jsme některé části hráli špatně, než jsme je díky úvahám, diskusím a nebo podrobnějším studováním pravidel pochopili lépe. Například se nám rodilo n/2 zvířat místo jednoho zvířete v případě více než dvou zvířat stejného druhu (kde n je počet zvířat hráče). Potomci se také klidně rodili po třech. To, že se v jedné akci může narodit jen jeden potomek jsme zjistili objevením karty chůva z rozšíření. Tato karta nám totiž přišla poněkud nadbytečná než jsme pochopili… :)

Hra nabízí neuvěřitelné množství variant, způsobů k získání co nejvíce bodů a herních strategií. Pro začínající hráče je určena rodinná varianta hry, kdy se nepoužívají karty profesí a malého vybavení. Pro prvních pár her je to dobré, ale poté už je třeba hru nějak oživit. I v základní sadě hry je karet nepřeberné množství. Rozšíření jsme si koupili až po třech měsících od zakoupení hry. Nyní je hra ještě ohromnější.

Hra nám ve dvou hráčích trvá většinou mezi hodinou až dvěmi, což odpovídá údajům na hře. Hra je rozdělena do čtrnácti kol a začíná se se dvěma lidmi. Tedy v každém kole dvě akce. Potomka se mi zatím podařilo získat nejdříve ve čtvrtém kole (teoreticky by to mělo jít už i ve druhém, ale to se mi nepovedlo). Všech pět lidí máme většinou kolem 8 až 12 kola. Protože nás ale mrzí, že nemůžeme využít všechny karty, mít postaveno více objektů ve hře apod. občas hru hrajeme s tím, že potomci se nám rodí automaticky s novými místnostmi, profesi můžeme využít zároveň oba, přidáváme další kola apod. Sice se jedná o zjednodušení, ale hra je pro nás v jistých ohledech takto zábavnější.

Hra je opravdu velice povedená a stojí za to. Pro představu existuje i online varianta hry Agricola, ale té „offline“ variantě se nemůže vyrovnat.

Doporučuji!