Informatika gyűjtemény

Egy szinttel feljebb Klickety

2004050607080910

NézetNyomtat

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.