Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.36 KB | None | 0 0
  1. A feladat neve: Rush Hour / Parkolójáték
  2.  
  3. A feladat leírása(saját):
  4. A parkolójáték egy egészen egyszerű logika mentén működő játék.
  5. Ez a program ennek a játéknak egy egyszerűbb változatát hivatott megvalósítani.
  6. A saját autónk 'P' betűvel van megjelölve, az üres helyek ponttal,
  7. míg a többi autó az angol ábécé más nagybetűivel vannak ellátva.
  8. Az autóknak kiterjedésük van (pl. a x 1 vagy 1 x b,
  9. ahol a és b pozitív egész számok), így a mozgatásuk nem kezelhető pontszerűként.
  10. Az autók a fekvésüknek megfelelően mozgathatóak csak, azaz nincs forgatás:
  11. - vízszintes fekvésű autók csak balra / jobbra mozgathatóak;
  12. - függőleges fekvésű autók csak fel / le mozgathatóak.
  13. (Mintha sínen mozogna mind.)
  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. (C#-os megvalósítás esetén van egy extra .dll állomány.)
  29. A feladat az lenne, hogy a shell-hez adjon hozzá parancsokat,
  30. és bizonyos funkciókat adminisztráljon a futás alatt.
  31. A következőket kell nyomon követni:
  32. - le kell tárolni a parkolót (parkolótáblát), ami a játékteret képezi;
  33. - le kell tárolni azokat az autókat, amelyeket később mozgatni lehet;
  34. - le kell tárolni a kijáratot mint a tábla egyik mezőjét;
  35. - továbbá folyamatosan figyelni kell azt is,hogy mikor értünk végállapotba:
  36. - győzelemnek számít az, ha az autónk bármelyik része a kijárati mezőn van.
  37. Az alkalmazott adatszerkezetek és változók
  38. mennyiségében és típusában nincs megkötés.
  39. További kiegészítés, hogy a beolvasandó állományoknak
  40. a projekt mappájában kell elhelyezkedniük a beolvasáshoz (nem pedig az src-ben).
  41.  
  42. A feladatban a következő parancsokat kell beleépíteni a shell-be:
  43.  
  44. 1. 'print'
  45. Kiírja a játék aktuális állapotát, ami magában foglalja a játékteret,
  46. valamint azt is, hogy végállapotba értünk-e.
  47. Mivel a későbbi parancsok is igénybe fogják venni a kiíratást,
  48. ezért célszerű egy külön metódust írni rá, és ezt meghívni ide is.
  49. A használat kivételei:
  50. - ha a parancsnak bármilyen paramétere szerepel;
  51. - nincs éppenséggel futó játék (szakszóval nincs inicializálva).
  52. 2. 'load sample.txt'
  53. Egy új játékot / játszmát hoz létre egy meglévő fájl alapján.
  54. A fájl a következőket tartalmazza:
  55. - az első sor első két száma a játéktér méretét adja meg
  56. (sor-oszlop sorrendben);
  57. - az első sor második két száma a kijárat helyzetét határozza meg
  58. (sor-oszlop sorrendben);
  59. - a maradék sorok pedig az aktuális játékteret reprezentálják.
  60. A használat kivételei:
  61. - nem egy darab paraméterrel rendelkezik a parancs;
  62. - az adott szöveges fájl nem létezik.
  63. 3. 'north N'
  64. Egy adott betűvel rendelkező autót mozgat északi irányba / felfele.
  65. A mozgatás után egy kiíratás történik.
  66. A használat kivételei:
  67. - nem egy darab paraméterrel rendelkezik a parancs;
  68. - a paraméter nem egy betű
  69. (elviekben a kis- és nagybetű között nincs eltérés,
  70. (de a játék nagybetűket használ);
  71. - nincs még elkezdett játék
  72. (azaz az első játék előtt nem használható a parancs);
  73. - nincs ilyen betűvel rendelkező autó a játéktéren;
  74. - a mozgatással kikerülne a játéktérről
  75. (azaz indexalulcsordulás lépne fel);
  76. - nem az autó fekvésének megfelelő a mozgatás (nem függőleges);
  77. - a mozgatás célja / helyzete nem egy üres mező;
  78. - ha már véget ért a játék.
  79. 4. 'south N'
  80. Egy adott betűvel rendelkező autót mozgat déli irányba / lefele.
  81. A mozgatás után egy kiíratás történik.
  82. A használat kivételei:
  83. - nem egy darab paraméterrel rendelkezik a parancs;
  84. - a paraméter nem egy betű;
  85. - nincs még elkezdett játék;
  86. - nincs ilyen betűvel rendelkező autó a játéktéren;
  87. - a mozgatással kikerülne a játéktérről
  88. (azaz indextúlcsordulás lépne fel);
  89. - nem az autó fekvésének megfelelő a mozgatás (nem függőleges);
  90. - a mozgatás célja / helyzete nem egy üres mező;
  91. - ha már véget ért a játék.
  92. 5. 'west N'
  93. Egy adott betűvel rendelkező autót mozgat nyugati irányba / balra.
  94. A mozgatás után egy kiíratás történik.
  95. A használat kivételei:
  96. - nem egy darab paraméterrel rendelkezik a parancs;
  97. - a paraméter nem egy betű;
  98. - nincs még elkezdett játék;
  99. - nincs ilyen betűvel rendelkező autó a játéktéren;
  100. - a mozgatással kikerülne a játéktérről
  101. (azaz indexalulcsordulás lépne fel);
  102. - nem az autó fekvésének megfelelő a mozgatás (nem vízszintes);
  103. - a mozgatás célja / helyzete nem egy üres mező;
  104. - ha már véget ért a játék.
  105. 6. 'east N'
  106. Egy adott betűvel rendelkező autót mozgat keleti irányba / jobbra.
  107. A mozgatás után egy kiíratás történik.
  108. A használat kivételei:
  109. - nem egy darab paraméterrel rendelkezik a parancs;
  110. - a paraméter nem egy betű;
  111. - nincs még elkezdett játék;
  112. - nincs ilyen betűvel rendelkező autó a játéktéren;
  113. - a mozgatással kikerülne a játéktérről
  114. (azaz indextúlcsordulás lépne fel);
  115. - nem az autó fekvésének megfelelő a mozgatás (nem vízszintes);
  116. - a mozgatás célja / helyzete nem egy üres mező;
  117. - ha már véget ért a játék.
  118. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement