Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. A feladat neve: Plusz egy vicc (keresztrejtvény)
  2.  
  3. A feladat leírása(saját):
  4. A 'Plusz egy vicc' egy klasszikusnak számító keresztrejtvénytípus,
  5. ahol a rácsba kell beszúrni szavakat. A szavak betűszám szerint,
  6. azon belül pedig ábécé sorrendben vannak felsorolva.
  7. Legtöbböször több szót adnak meg a szükségesnél,
  8. és a fennmaradó szavak egy kombinációja megadja
  9. egy majdnem teljes vicc csattanóját.
  10. Általában a kezdéshez egy szó már be van illesztve a rácsba segítségképp.
  11. Ez a program ezt a keresztrejtvénytípust hivatott megvalósítani.
  12. A bemenetben a fekete négyzetek helyét csillagok jelölik,
  13. míg az üres helyeken pontok állnak.
  14.  
  15. Alapértelmezetten rendelkezésre áll egy javadoc dokumentációs mappa
  16. vagy tömörített fájl,
  17. valamint egy .jar kiterjesztésű állomány, ami tartalmaz egy lebutított shell-t.
  18. Értelemszerűen a .jar állományt hozzá kell adni a készülő projekthez
  19. (igen,újat kell létrehozni és ahhoz társítani),
  20. és a főprogramnak a 'shell.Main'-t kell kiválasztani.
  21. Mivel a listában nem fog automatikusan megjelenni,
  22. így kézzel kell ezt bevinni. Figyelni kell arra is,
  23. hogy mivel a shell-ben található dolgok csomagvédettek
  24. (protected kulcsszóval ellátottak), ezért az új .java kiterjesztésű állományokat
  25. egy 'shell' nevezetű csomagban tároljuk a láthatóság biztosítása érdekében.
  26. Az sem megkerülendő, hogy a betöltéshez szükség lesz egy külön .java állományra,
  27. ami csak ezzel foglalkozik.
  28. A feladat az lenne, hogy a shell-hez adjon hozzá parancsokat,
  29. és bizonyos funkciókat adminisztráljon a futás alatt.
  30. A következőket kell nyomon követni:
  31. - le kell tárolni a rácsot (keresztrejtvényt), ami a játékteret képezi;
  32. - le kell tárolni azokat a szavakat, amelyeket még nem használtunk fel;
  33. - továbbá folyamatosan figyelni kell azt is,hogy mikor értünk végállapotba:
  34. - győzelemnek számít az, ha a rácsunk teljesen ki van töltve,
  35. azaz nem tartalmaz üres mezőt.
  36. Az alkalmazott adatszerkezetek és változók
  37. mennyiségében és típusában nincs megkötés.
  38. További kiegészítés, hogy a beolvasandó állományoknak
  39. a projekt mappájában kell elhelyezkedniük a beolvasáshoz (nem pedig az src-ben).
  40.  
  41. A feladatban a következő parancsokat kell beleépíteni a shell-be:
  42.  
  43. 1. 'print'
  44. Kiírja a játék aktuális állapotát, ami magában foglalja a játékteret,
  45. valamint azt is, hogy végállapotba értünk-e.
  46. Mivel a későbbi parancsok is igénybe fogják venni a kiíratást,
  47. ezért célszerű egy külön metódust írni rá, és ezt meghívni ide is.
  48. A használat kivételei:
  49. - ha a parancsnak bármilyen paramétere szerepel;
  50. - nincs éppenséggel futó játék (szakszóval nincs inicializálva).
  51. 2. 'load sample.txt'
  52. Egy új játékot / játszmát hoz létre egy meglévő fájl alapján.
  53. A fájl a következőket tartalmazza:
  54. - az első sor első két száma a játéktér méretét adja meg
  55. (sor-oszlop sorrendben);
  56. - a következő n darab sor az aktuális játékteret reprezentálja úgy,
  57. hogy az elemek között szóközök vannak;
  58. - a maradék sorok pedig a felhasználható szavakat tartalmazza
  59. 'betűszám: szólista' formájában úgy, hogy a szavakat egy vessző és
  60. egy szóköz választja el egymástól,
  61. az utolsó után pedig csak egyetlen pont áll;
  62. - a bemenet adminisztratív végét egy '-----' sor zárja.
  63. A használat kivételei:
  64. - nem egy darab paraméterrel rendelkezik a parancs;
  65. - az adott szöveges fájl nem létezik.
  66. 3. 'reset'
  67. A korábban betöltött tábla visszaállítása fájlhasználat nélkül.
  68. Az újrakezdés után egy kiíratás történik.
  69. A használat kivételei:
  70. - ha a parancsnak bármilyen paramétere szerepel;
  71. - nincs éppenséggel futó játék.
  72. 4. 'vert x y szo'
  73. Egy adott sor- és oszlopindextől kezdve egy szó beszúrása vízszintesen.
  74. A feltöltés után egy kiíratás történik.
  75. A használat kivételei:
  76. - nem három darab paraméterrel rendelkezik a parancs;
  77. - az első két paraméter közül legalább az egyik nem egy egész szám;
  78. - nincs még elkezdett játék;
  79. - nincs ilyen sorindex / oszlopindex;
  80. - nincs ilyen beszúrható szó;
  81. - a beszúrandó szó kezdete nem az első oszlop,
  82. vagy a pozíció előtt nem egy fekete négyzet (csillag) áll;
  83. - a beszúrandó szó túlcsúszik a játéktéren;
  84. - bármilyen karakterütközés a már beszúrt szavakkal;
  85. - ha már véget ért a játék.
  86. 5. 'horiz x y szo'
  87. Egy adott sor- és oszlopindextől kezdve egy szó beszúrása függőlegesen.
  88. A feltöltés után egy kiíratás történik.
  89. A használat kivételei:
  90. - nem három darab paraméterrel rendelkezik a parancs;
  91. - az első két paraméter közül legalább az egyik nem egy egész szám;
  92. - nincs még elkezdett játék;
  93. - nincs ilyen sorindex / oszlopindex;
  94. - nincs ilyen beszúrható szó;
  95. - a beszúrandó szó kezdete nem az első sor,
  96. vagy a pozíció előtt nem egy fekete négyzet (csillag) áll;
  97. - a beszúrandó szó túlcsúszik a játéktéren;
  98. - bármilyen karakterütközés a már beszúrt szavakkal;
  99. - ha már véget ért a játék.
  100.  
  101. Megjegyzés: az éles programozásnál négy ellenőrző metódust kellett írni
  102. arra vonatkozóan, hogy a szó beszúrása lehetséges-e.
  103. Ebben a kódban ezek az ellenőrzések csak részben vannak kiszervezve,
  104. a többi a parancs törzsében közvetlenül szerepel.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement