Malá hra o velkého Bajta (5) - Hledání min

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Malá hra o velkého Bajta (5) - Hledání min

Příspěvekod faraon » 14 úno 2016 12:15

Všechny bity hry:

00000001 - Jednoduchá kalkulačka
00000010 - Odebírání zápalek
00000100 - Gregoriánský kalendář
00001000 - Hádání kombinace
00010000 - Vigenérova šifra
00100000 - Hledání min
01000000 - Házení kostkou
10000000 - Conway's Game of Life




Měsíc utekl, neděle přitekla, a je zas na čase si trochu pohrát s programováním. A klidně i zahrát, takže tentokrát bysme opět mohli zkusit nějakou hru. Jenže doba je vážná, války se množí všude kolem nás, pomalu se plíží a blíží i do našeho zatuchlého středoevropského kráteru, takže s čím bysme si mohli hrát teď, v době válečné?
Ve válkách se používá spousta zajímavých hraček, různě drahých, různě ničivých, různě složitých... Jedna z nejjednodušších, nejlevnějších, a zároveň nejúčinnějších je obyčejná nášlapná mina. Úžasná věc, stojí jenom pár dolarů, umístit jí může kdokoliv, třeba i negramotný dětský voják, přitom dokáže ležet v zemi celé roky a čekat na svoji chvilku slávy! V každé válce se jich použijí tisíce a mnoho jich čeká dodnes, i přes veškeré snahy o odminování. Proto je v některých zemích, kde se podobné hrátky před nedávnem odehrávaly, při pohybu krajinou nejdůležitější varování:

Koukej kam šlapeš!

Hledání a zneškodňování min je velmi náročná a nebezpečná práce, a oproti jejich pokládání také mnohonásobně dražší. Vymýšlejí se různé nové a moderní způsoby jak to provádět, ale ty kromě vyššího zisku zbrojařských koncernů nic moc lepšího nepřinášejí. Asi největší pokrok v téhle oblasti učinili němečtí vojáci, kteří se v rámci amerického exportu demokracie podíleli na okupaci humanitárně rozbombardovaných trosek Afghánistánu. Jejich vynález byl úplně jednoduchý - do nebezpečného prostoru, kde předpokládali výskyt min, naházeli jablka, a pár dní počkali, až je vyhladovělé afghánské děti objeví a vysbírají. Když se jim to podařilo, označili ten prostor jako bezpečný, když ne, bylo tam aspoň o pár min méně. Afghánčata pochopitelně nadšením z takového pokroku radostně rozhazovala rukama nohama, některá až padesát metrů daleko.

Většina z nás určitě zná a hrála hru Minesweeper - Hledání min. Je to součást základního vzdělání každého klikoně už po několik desetiletí, a vedle karetního Solitéru také nejčastěji spouštěný program na počítači každého strašně těžce zaměstnaného úředníka nebo úřednice. Princip hry je jednoduchý, na hracím/minovém poli je skrytý nějaký počet min, hráč je musí najít a přežít - nesmí tedy odkrýt políčko ve kterém je schovaná mina, pouze všechna ostatní. Při odkrytí bezpečného políčka se na něm zobrazí kolik min je v sousedních osmi políčkách, kterých se dotýká stranou nebo rohem. Je-li to nula, automaticky se odkrývají sousední pole, až dokud se nenarazí na nenulovou hodnotu, pro urychlení hry. Také je možné označit/zamknout políčko, na kterém je podle názoru hráče pravděpodobně mina, aby se nedalo odkrýt omylem. Když hráč odkryje minu, hra končí (smrtí hráče, naštěstí oproti realitě pouze virtuální). Ano, pyrotechnik udělá chybu pouze jednou.

Hra existuje ve spoustě verzí, je možné jí ovládat myší, kurzorovými šipkami na klávesnici, nebo prostě zadávat do konzole souřadnice řádku a sloupce, kde se má odkrýt políčko. Obvyklá je pravoúhlá síť, ale existují i šestiúhelníkové verze, s políčky rozmístěnými jako plástve ve včelím úlu. Vznikly i variace s troj a pětiúhelníkovými políčky, dokonce s nepravidelnými. Jednoduchá implementace může vypadat třeba takhle:

https://www.youtube.com/watch?v=eJ0e9RX2gxE

Asi už je jasné, že bit 00100000 bude věnovám právě téhle hře. A stejně jako u Mastermindu se dá pojmout mnoha různými způsoby:

  • Je možné hrát pouze jednu hru, nebo na kola.
  • Obtížnost lze buď nastavit na počátku, například velikost minového pole a hustotu min, nebo může růst během hry, třeba zvyšováním počtu min v každém kole.
  • Hrací pole je buď čtvercová nebo šestiúhelníková síť, druhá možnost je na programování obtížnější, ale zajímavější.
  • Hra se dá ovládat libovolným způsobem, myší, klávesnicí, nebo klidně dotykově, to už záleží pouze na jejím tvůrci a použité technologii.
  • Jako nepovinný bonus má ukládání nejlepších výsledků, řazených buď podle nejkratšího času, podle počtu úspěšných odkrytí, nebo přežitých kol...
  • Doporučuji automatické odkrývání prázdných sousedních políček, bez toho je hra dost zdlouhavá a nudná. Stačí na to úplně maličká rekurze ;-)

Takže, jak byste si představovali ideální verzi hledání min vy?
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Malá sestava do 30 tisíc
    od kupjec » 20 zář 2023 21:24 » v Rady s výběrem hw a sestavením PC
    14
    2228
    od kupjec Zobrazit poslední příspěvek
    25 zář 2023 11:26
  • Výběr skříně (zakoupená je malá) Příloha(y)
    od DaveMove » 09 čer 2023 15:35 » v Problémy s hardwarem
    8
    821
    od meda2016 Zobrazit poslední příspěvek
    09 čer 2023 20:27

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti