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 '' | ||