Hirdetés

Új hozzászólás Aktív témák

  • Sikoly

    tag

    válasz emitter #932 üzenetére

    Nálunk tavaly volt egy nagyon aranyos kis házifeladat a ZH-hoz:
    aknakereső programot kellett írni! :DDD

    Bemásolom ide az egész szöveget, hátha segít:

    a) A játék egy MxN-es pályán játszódik. Az oszlopok jelölése betűvel (A..Z), a soroké számmal (1..26) történik. A pálya egyes mezőin bombák lehetnek. A pálya méretét (M és N) és a bombák sűrűségét (%) a játék kezdetén kell megadni. A bombák helye természetesen játékról játéra véletlenszerűen változik.

    Az adatok megadása után a program kirajzolja a pályát, majd várakozik a játékos parancsára. Kezdetben minden mező helyén ? karaktert láthatunk. A játékos ezután a következő alakú parancsokat adhatja ki:

    <oszlop><sor>
    <oszlop><sor>!
    Az első alakú parancs a mezőt „felderíti”. Amennyiben a mezőn bomba volt, a játék sikertelenül befejeződik. Ellenkező esetben a az adott mező helyén a ? helyett a szomszédos nyolc mezőn található bombák száma jelenik meg, illetve szóköz, amennyiben ez a szám 0. A második alakú paranccsal olyan mezőt jelölhetünk meg, amelyen bombát sejtünk.

    A játékos egy lépésben több parancsot is megadhat, vesszővel elválasztva. Az érvénytelen parancs megadását a program hibaüzenettel jelzi. A program minden lépés után kirajzolja a módosult pályát, és újra várakozik a játékos parancsaira.

    A játék akkor ér véget, ha a játékos aknát rejtő mezőre lép (veszít), vagy az összes nem aknát rejtő mezőt felderíti (nyer). Utóbbi esetben a program kiírja a játékos lépéseinek számát. Amennyiben veszít a játékos, a játék kiírja az összes mező tartalmát. A bombák helyét b betű jelzi.

    b) Fejleszd tovább a játékot úgy, hogy amennyiben egy „felderített” cellának egyik szomszédján sincsen bomba, úgy a program automatikusan derítse fel az összes szomszédját is, egészen addig, amíg így nulla szomszédú cellára bukkan. A megjelölt (!) mezők nem vesznek részt az előbb említett „automatikus felderítésben”.

    c) Egészítsd ki az aknakereső játékot a következő parancsokkal:

    elment <állománynév>
    betölt <állománynév>
    Az első parancs a játék aktuális állását az adott állományba írja, ahonnan az később a betölt parancssal visszaolvasható kell, hogy legyen. Az állomány formátuma tetszőleges, de természetesen minden adatot tartalmaznia kell, ami a játék folytatásához szükséges (bombák helye, felderített mezők, megtett lépések száma). Az elment parancs természetesen csak játék közben adható ki, a betölt parancs játék közbeni kiadásakor viszont a játékostól megerősítést kell kérni.


    sztem eléggé ötletes & talán még egyedi is :)

    [Szerkesztve]

    ---

Új hozzászólás Aktív témák