

miny - zobrazení "prázdných" sousedních políček
Dobré odpoledne.
Chtěl jsem se zeptat, jak udělat, že když kliknu na prázdné políčko (myslím takové, které neudává počet min v okolí), tak se mi zobrazí všechny sousední takováto políčka? Radši to ještě upřesním obrázkem - na červeně začmárané políčko jsem kliknul a chci, aby se zobrazily všechny sousední "prázdná" políčka + jedno sousední udávající počet min v okolí:
http://img230.imageshack.us/my.php?image=minyvk2.gi f
Díky.
V princípe ide o to, že kliknutie na prázdne políčko má za následok to isté, ako keby sa súčasne kliklo aj na všetky susediace políčka.
Môžeš to riešiť rekurziou, alebo použiješ efektívnejší front/zásobník, prípadne sa pozrieš po nejakom fill algoritme, napr. Flood fill alebo Quick fill.
Princip je mi jasný, ale nedokážu to "říct" počítači. Nenaznačil by si mi prosím ten postup pomocí zásobníku?
Zkusím nejdřív já
....mám tedy nějaký zásobník, kam si napoprvé uložím políčko na které jsem kliknul -> ověřím, jestli má kolem sebe "prázdná" políčka a pokud ano, tak je uložím do zásobníku -> a takhle postupně než dojde k momentu, kdy už v zásobníku nic nebude = kolem políček nebudou další volná. Chápu to správně?
Presne tak. Dokonca pri ukladaní na zásobník nemusíš nič overovať, stačí, že to overíš až pri spracovaní políčka zo zásobníka.
Napr. úplne primitívna implementácia by mohla vyzerať nejako takto:
Díky los. Už se mi to povedlo pomocí fronty.