Bomberman

Úvod

Hry mě baví. Koho taky ne. Teď mám na mysli ale ty počítačový. Nikdy mě nebraly věci typu GTA, Counter Strike, Call of Duty, WOW, LOL, OMG, WTF. 😀 Jasně, Duke Nukem 3D jsme pařili za základce všichni, ale srdcovka pro mě byly jednoznačně RPG. Mít vlastního hrdinu z fantasy světa, kterej začíná z úplný nuly, zabíjí rozličný divný příšery, za který dostává kromě zlaťáků taky zkušenosti, postupně vylepšuje svoje dovednosti, brnění a odhaluje příběh, kterej vydá na X knížek, bylo neskutečně BOŽÍ!

Ne, že bych na to měl čas – to poslední dobou skoro vůbec, ale mám období, kdy si potřebuju vyčistit hlavu. Je až neskutečný, že už je to skoro 16 let (!), kdy vyšel The Elder Scrolls III: Morrowind. Asi první hra, která mě fakt chytla u srdíčka, a již mám doma originál na CD. Pravověrní fandové mě teď ukamenujou, protože Oblivion jsem nikdy nehrál, nicméně na pátý díl Skyrim už jsem se opět těšil jako malej Jarda. Abyste pochopili, tady si můžete dělat úplně vše, co se vám zlíbí – od vymýcení všech dungeonů, přes hon na veškeré králíky, lišky a medvědy s lukem a šípy, po vyvraždění celýho městaTo byl omyl, přísahám! 🙂. Jak je ctěná libost. O to víc potěšilo, když jsem tohle monstrum konečně po necelých 100 hodinách tenhle týden dohrál.

Bomberman

Proč o tom vlastně ale vůbec mluvím? Jednoho dne jsme se v práci rozhodli, že zkusíme propojit příjemné s užitečným – rozuměj hry s Excelem – a za domácí úkol něco vymyslíme. A tak vzniknul Bomberman. Dohrát se dá tak za 5 minut, ale hodin spálených programováním a laděním kolem tý stovky klidně bude. Vymyslet bludiště, celou logiku hry, ujasnit si pravidla, nastavit ovládání pohybu. Myslím, že pár hodin jsem strávil jenom googlením. 🙂 Největší sranda byla naprogramovat hledání optimální cesty. Algoritmus znám zpaměti, ale udělat to tak, aby to fungovalo, dělalo, co dělat má, a ještě jezdilo v reálným čase, no potěš!

Má prvotina. Najdeš cestu?

Šest kol, tři obtížnosti. Náhodně generovaný levely. Vždycky se dají splnitProto jsem se taky páral s tou optimální cestou, neasi! 🙂 – ale když na to přijde, je tam i nápověda. Sbíráš kytičky pro radost (a body). A umí to i zvukís.

Excel

Grafika dětská, ale z pohledu využití Excelu to vypadá následovně:

  • Znaky v bludišti jsou tvořeny písmem Wingdings.
  • Celý obarvení je udělaný podmíněným formátováním.
  • WASD, šipky a další klávesy jsou namapovány pro hru.
  • Logika hry je komplet v makrech. Pohyb, odpočet času, pokládání bomb, vyhodnocení skóre…
  • Vlastní dialogová okna. To až zjistíte, že jste prohráli.
  • V určitých situacích se přehraje WAV zvuk.

PS: Nějaký nápady, připomínky, co by se dalo zlepšit/doplnit?

 

Zahraj si mě.

  • Musíš povolit makraBuď to riskneš a zahraješ si, nebo smůlka. 😉 Můžeš bejt ale v klidu., neasi.
  • Frčí to jenom pod Win 7+ a Excel 2013+. Pravěk negarantuju a na Macu to (zatím) nedávám…

Narozeninový paradox, část druhá – Excel

Minule jsme si popsali první matematický problém – Narozeninový paradox. Cílem bylo zjistit, při jak velké populaci bude pravděpodobnější, že alespoň dva jedinci budou mít narozeniny ve stejný den. Ukázali jsme si názorně, jak tuto pravděpodobnost v několika krocích spočítat. Nabízí se využít Excel, abychom nemuseli vše počítat postupně, ručně.

Krok první – počet dní v roce

Nejprve si spočítejme podíl, kolik ze dní v roce může slavit n-tý jedinec narozeniny. Pravidlo pro výpočet zní:

  • n-tý jedinec může mít narozeniny ve kterýkoli den vyjma v den narozenin předcházejících jedinců.

Tímto dostaneme následující předpis:

(1)    \begin{equation*} p_{dny}(n) = \frac{365-(n-1)}{365}  \end{equation*}

Vyrobíme si proto v Excelu tabulku, kde v prvním sloupci bude počet jedinců a ve druhém pravděpodobnost, resp. podíl dní v roce. Doplnit přirozená čísla 1, 2, 3, \ldots je jednoduché, do buňky B2 pak zapíšeme =(365-A2+1)/365. Následně stačí tento vzorec „roztáhnout“Např. tažením myši za pravý dolní roh buňky B2, či dvojklikem tamtéž. dolů. Výsledek v prvním kroku může vypadat například takto:

Celý článek