Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
krouzek:bludiste_hledani [2022/04/27 06:53] – admin | krouzek:bludiste_hledani [2023/11/15 20:54] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | === Bludiště - rekapitulace === | + | ===== Bludiště - rekapitulace |
==== Zadání ==== | ==== Zadání ==== | ||
Na začátku jsme brainstormovali zadání - hra s hrdinou, co se snaží projít bludištěm (do nějakého cílového políčka). Variace je [[https:// | Na začátku jsme brainstormovali zadání - hra s hrdinou, co se snaží projít bludištěm (do nějakého cílového políčka). Variace je [[https:// | ||
==== Princip ==== | ==== Princip ==== | ||
- | Bludiště je čtvercová síť. Představte si čtverečkovaný papír, nebo šachy. Buňky indexujeme dvojicí čísel - například 5,3 jsou souřadnice buňky 5 vpravo a 3 dolů od výchozího bodu (zpravidla levý horní roh je souřadnice 0,0). V kódu pro lepší přehlednost | + | Bludiště je čtvercová síť. Představte si čtverečkovaný papír, nebo šachy. Buňky indexujeme dvojicí čísel - například 5,3 jsou souřadnice buňky 5 vpravo a 3 dolů od výchozího bodu (zpravidla levý horní roh je souřadnice 0,0). Každá buňka bludiště má nějaký výchozí stav (například že jde o prázdné místo nebo zeď). |
+ | Krom toho jsou v bludišti nějaká speciální místa (například start a cíl) a pohybující se věci - hráč a příšery. | ||
+ | |||
+ | ==== Implementace ==== | ||
+ | |||
+ | V kódu máme pro lepší přehlednost souřadnice většinou | ||
+ | |||
+ | Ve hře máme i pohyblivé objekty: hráče a příšery. Pro jednodušší pohybování tyto objekty nejsou uvnitř pole '' | ||
+ | |||
+ | ==== Postup ==== | ||
+ | Co jsme za ten měsíc s bludištěm zkoušeli? | ||
+ | * pohyb hráče pomocí kláves | ||
+ | * přidání příšer a jejich pohyb | ||
+ | * příšery mohou mít různou strategii (ideově " | ||
+ | * (experiment): | ||
+ | Co ještě nemáme? | ||
+ | * '' | ||
+ | * nedetekujeme že hráč došel na konec | ||
+ | * neděláme game over když se příšera a hráč dostanou na stejné políčko | ||
+ | |||
+ | ==== Hledání ==== | ||
+ | Královskou disciplínou v bludišti je hledání nejkratší cesty - například pro hráče, aby se dostal k cíli. Může jít ale také o hledání cesty příšery k hráči aby ho snědla. Podobný algoritmus se také používá k generování a kontrole automaticky generovaných bludišť. | ||
+ | Hledání nemusí být příliš výpočetně náročné, dá se tedy opakovat při každém tahu - a například reagovat na dynamické jevy (překážky, | ||
+ | |||
+ | {{ : | ||
- | Každá buňka bludiště má nějaký výchozí stav (například že jde o prázdné místo nebo zeď). V našem kódu tyto výchozí stavy máme v dvojitém poli: '' | ||
- | Ve hře máme i pohyblivé objekty: hráče a příšery. Pro jednodušší pohybování tyto objekty nejsou uvnitř pole '' |