A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. Az aknakereső játék célja az () négyzet alakú mezőn lévő () akna megtalálása, illetve azok elkerülése. A cellák tartalma eredetileg el van rejtve, de ha kiválasztjuk, akkor megismerjük a tartalmát. Ha a cellában akna volt, akkor vége van a játéknak, különben egy 0 és 8 közötti szám jelenik meg. A szám azt adja meg, hogy hány akna van a választott cella nyolc szomszédjában összesen. Ha a felfedett cella szomszédságában nincs akna, akkor az összes szomszédja is felfedetté válik, és ez rekurzívan folytatódik a szomszédok szomszédjaival is. Győzelemmel akkor fejeződik be a játék, ha felfedtünk minden olyan mezőt, amely alatt nincs akna. A következő példában egy játék egy lépését láthatjuk:
Készítsünk programot i358 néven, amely az aknamezőt előállítja és a felhasználóval a játékot levezeti.
1. | Olvassuk be és értékét, és azok felhasználásával oldjuk meg a következő feladatokat. |
2. | Állítsuk elő a játék pályáját, amelyen véletlenszerű cellákban darab akna legyen. ,,*'' jelöli az aknát és ,,.'' az üres cellát. |
3. | Programunk kipróbálása, tesztelése miatt állítsuk be, hogy Teszt és Játék üzemmódból választani lehessen. A Teszt üzemmódban az aknák látszódjanak, míg a Játék-ban maradjanak rejtve. |
4. | Olvassuk be a pálya egy sor és oszlop koordinátáját és a cella tartalma alapján jelenítsük meg a választ. |
| Ha a cellában akna volt, akkor írjuk ki, Bumm! és a program álljon le. |
| Amennyiben a cellában nem volt akna, akkor jelenítsük meg a pályán a szabályok szerinti eddigi információkat a felfedett és a még nem ismert cellákkal. |
5. | Folytassuk a tippek beolvasását addig, amíg az összes üres cella szomszédjainak számát a felhasználó meg nem határozza a játékkal. Ha ez sikerül, akkor abban az esetben írjuk ki, hogy Nyertél! |
6. | Minden tippelés előtt jelenítsük meg, hogy még hány fel nem derített üres cella van a pályán és hányadik tippelés következik éppen. |
Beküldendő egy tömörített i358.zip állományban a program forráskódja (i358.pas, i358.cpp, ) és rövid dokumentációja (i358.txt, i358.pdf, ), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható. |