Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A feladat neve: Plusz egy vicc (keresztrejtvény)
- A feladat leírása(saját):
- A 'Plusz egy vicc' egy klasszikusnak számító keresztrejtvénytípus,
- ahol a rácsba kell beszúrni szavakat. A szavak betűszám szerint,
- azon belül pedig ábécé sorrendben vannak felsorolva.
- Legtöbböször több szót adnak meg a szükségesnél,
- és a fennmaradó szavak egy kombinációja megadja
- egy majdnem teljes vicc csattanóját.
- Általában a kezdéshez egy szó már be van illesztve a rácsba segítségképp.
- Ez a program ezt a keresztrejtvénytípust hivatott megvalósítani.
- A bemenetben a fekete négyzetek helyét csillagok jelölik,
- míg az üres helyeken pontok állnak.
- Alapértelmezetten rendelkezésre áll egy javadoc dokumentációs mappa
- vagy tömörített fájl,
- valamint egy .jar kiterjesztésű állomány, ami tartalmaz egy lebutított shell-t.
- Értelemszerűen a .jar állományt hozzá kell adni a készülő projekthez
- (igen,újat kell létrehozni és ahhoz társítani),
- és a főprogramnak a 'shell.Main'-t kell kiválasztani.
- Mivel a listában nem fog automatikusan megjelenni,
- így kézzel kell ezt bevinni. Figyelni kell arra is,
- hogy mivel a shell-ben található dolgok csomagvédettek
- (protected kulcsszóval ellátottak), ezért az új .java kiterjesztésű állományokat
- egy 'shell' nevezetű csomagban tároljuk a láthatóság biztosítása érdekében.
- Az sem megkerülendő, hogy a betöltéshez szükség lesz egy külön .java állományra,
- ami csak ezzel foglalkozik.
- A feladat az lenne, hogy a shell-hez adjon hozzá parancsokat,
- és bizonyos funkciókat adminisztráljon a futás alatt.
- A következőket kell nyomon követni:
- - le kell tárolni a rácsot (keresztrejtvényt), ami a játékteret képezi;
- - le kell tárolni azokat a szavakat, amelyeket még nem használtunk fel;
- - továbbá folyamatosan figyelni kell azt is,hogy mikor értünk végállapotba:
- - győzelemnek számít az, ha a rácsunk teljesen ki van töltve,
- azaz nem tartalmaz üres mezőt.
- Az alkalmazott adatszerkezetek és változók
- mennyiségében és típusában nincs megkötés.
- További kiegészítés, hogy a beolvasandó állományoknak
- a projekt mappájában kell elhelyezkedniük a beolvasáshoz (nem pedig az src-ben).
- A feladatban a következő parancsokat kell beleépíteni a shell-be:
- 1. 'print'
- Kiírja a játék aktuális állapotát, ami magában foglalja a játékteret,
- valamint azt is, hogy végállapotba értünk-e.
- Mivel a későbbi parancsok is igénybe fogják venni a kiíratást,
- ezért célszerű egy külön metódust írni rá, és ezt meghívni ide is.
- A használat kivételei:
- - ha a parancsnak bármilyen paramétere szerepel;
- - nincs éppenséggel futó játék (szakszóval nincs inicializálva).
- 2. 'load sample.txt'
- Egy új játékot / játszmát hoz létre egy meglévő fájl alapján.
- A fájl a következőket tartalmazza:
- - az első sor első két száma a játéktér méretét adja meg
- (sor-oszlop sorrendben);
- - a következő n darab sor az aktuális játékteret reprezentálja úgy,
- hogy az elemek között szóközök vannak;
- - a maradék sorok pedig a felhasználható szavakat tartalmazza
- 'betűszám: szólista' formájában úgy, hogy a szavakat egy vessző és
- egy szóköz választja el egymástól,
- az utolsó után pedig csak egyetlen pont áll;
- - a bemenet adminisztratív végét egy '-----' sor zárja.
- A használat kivételei:
- - nem egy darab paraméterrel rendelkezik a parancs;
- - az adott szöveges fájl nem létezik.
- 3. 'reset'
- A korábban betöltött tábla visszaállítása fájlhasználat nélkül.
- Az újrakezdés után egy kiíratás történik.
- A használat kivételei:
- - ha a parancsnak bármilyen paramétere szerepel;
- - nincs éppenséggel futó játék.
- 4. 'vert x y szo'
- Egy adott sor- és oszlopindextől kezdve egy szó beszúrása vízszintesen.
- A feltöltés után egy kiíratás történik.
- A használat kivételei:
- - nem három darab paraméterrel rendelkezik a parancs;
- - az első két paraméter közül legalább az egyik nem egy egész szám;
- - nincs még elkezdett játék;
- - nincs ilyen sorindex / oszlopindex;
- - nincs ilyen beszúrható szó;
- - a beszúrandó szó kezdete nem az első oszlop,
- vagy a pozíció előtt nem egy fekete négyzet (csillag) áll;
- - a beszúrandó szó túlcsúszik a játéktéren;
- - bármilyen karakterütközés a már beszúrt szavakkal;
- - ha már véget ért a játék.
- 5. 'horiz x y szo'
- Egy adott sor- és oszlopindextől kezdve egy szó beszúrása függőlegesen.
- A feltöltés után egy kiíratás történik.
- A használat kivételei:
- - nem három darab paraméterrel rendelkezik a parancs;
- - az első két paraméter közül legalább az egyik nem egy egész szám;
- - nincs még elkezdett játék;
- - nincs ilyen sorindex / oszlopindex;
- - nincs ilyen beszúrható szó;
- - a beszúrandó szó kezdete nem az első sor,
- vagy a pozíció előtt nem egy fekete négyzet (csillag) áll;
- - a beszúrandó szó túlcsúszik a játéktéren;
- - bármilyen karakterütközés a már beszúrt szavakkal;
- - ha már véget ért a játék.
- Megjegyzés: az éles programozásnál négy ellenőrző metódust kellett írni
- arra vonatkozóan, hogy a szó beszúrása lehetséges-e.
- Ebben a kódban ezek az ellenőrzések csak részben vannak kiszervezve,
- a többi a parancs törzsében közvetlenül szerepel.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement