Klickety
A feladat
A népszerű Linux-os játékprogram egy 16x10-es táblán zajlik. Kezdetben minden mező
öt lehetséges szín valamelyikével színezett. Az azonos színű, élszomszédosan kapcsolódó
mezők összefüggő tartományt alkotnak. Ha a játékos egynél nagyobb területű tartományra
klikkel, a tartomány négyzetei eltűnnek, és a megmaradt négyzetek lefele potyognak.
Ha egy teljes oszlop kiürül, a tőle jobbra lévő oszlopok eggyel balra csúsznak.
A játék célja az, hogy minél több négyzetet eltávolítsunk a tábláról.
Megvalósítás
Az egyszerűség kedvéért (először) konzolos felülettel készítjük el a játékot.
Az öt színt az 1,2,3,4,5 számokkal jelöljük, az egér-klikkek helyett pedig
beolvassuk a klikkelés koordinátáit (sor, oszlop) formában. A játszhatóság kedvéért
érdemes kiírni a tábla aktuális állapota mellett a sor és oszlop koordinátákat is.
A programnak észre kell vennie, ha nincs több lépés, ilyenkor ki kell írni a megmaradt
négyzetek számát.
Stratégiák
Miután jól elszórakoztunk vadonatúj játékprogramunkkal, megpróbálhatjuk
gépesíteni a játék megoldását. A következő stratégiákat próbáljuk ki:
- Balról-jobbra, fentről lefelé az első lehetséges helyre klikkelünk.
- Jobbról-balra, alulról-felfelé az első lehetséges helyre klikkelünk.
- Mindig a legnagyobb területű tartományra klikkelünk. Ha többi ilyen van, akkor az előző két stratégia valamelyike szerint választunk.