Space Invaders Dokumenta cio 0. Tartalomjegyzék 0. Tartalomjegyzék... 1 1. Követelmény feltárás... 2 1.1. Célkitűzés, projektindító dokumentum... 2 1.2. Szakterületi tartalomjegyzék... 2 1.3. Használatieset-modell, funkcionális követelmények... 2 1.4. Szakterületi követelmények... 3 1.5. Nem funkcionális követelmények... 3 2. Tervezés... 3 2.1. A program architektúrája... 3 2.2. Osztálymodell... 4 2.4. Felhasználói-felület modell... 5 2.5. Részletes programterv... 6 3. Implementáció... 7 3.1. Forráskód, futtatható kód... 7 4. Tesztelés... 8 4.1 Játék tesztelése... 8 5. Felhasználói dokumentáció... 10 5.1. A futtatáshoz ajánlott hardver-, szoftver konfiguráció... 10 5.2. Telepítés... 10 5.3. A program használata... 10 Fertetics Gergő Alkalmazások fejlesztése 1
1. Követelmény feltárás 1.1. Célkitűzés, projektindító dokumentum A hagyományos Space Invaderhez hasonló játék elkészítése. A játékot egérrel lehessen irányítani, használata egyszerű és könnyű legyen. A játék adjon folyamatos visszajelzést a felhasználónak. 1.2. Szakterületi tartalomjegyzék A szoftverben megjelenő objektumok fikcionálisak, egy televíziós sorozat szereplői ) TARDIS (A játékos irányítja): http://en.wikipedia.org/wiki/tardis Dalek (Az ellenség): http://en.wikipedia.org/wiki/dalek 1.3. Használatieset-modell, funkcionális követelmények Játék: Használati eset: Játék: Lehetőség van játék alatt, vagy két játék között megnézni az eredménylistát, játék a kurzor mozgatásával történik, a bal gomb lenyomásával pedig lőhetünk. Fertetics Gergő Alkalmazások fejlesztése 2
1.4. Szakterületi követelmények Szabályok: A képernyő alsó részén lévő dobozt irányítva pusztítsuk el az idegeneket. Az ellenfeleket el is pusztíthatjuk, ha eltaláljuk az ellenséget, az eltűnik. Amint az összes idegen eltűnt a játéktérről, a következő pályára jutunk, ahol az ellenfelek gyorsabban mozognak és lőnek, de ennek megfelelően több pontot is szerezhetünk. 1.5. Nem funkcionális követelmények A fejlesztéshez szükséges hardver: - CPU: Intel Core 2 Duo - RAM: 2 GB - Videó: 1280x800 A fejlesztéshez használt szoftverek: - Operációs rendszer: Windows 7 - Követelményelemzés: Word 2010 - Java fejlesztőeszköz: Eclipse Indigo A futtatáshoz szükséges operációs rendszer: - Tetszőleges operációs rendszer, melyhez létezik JRE 6 implementáció A futtatáshoz szükséges hardver: - RAM: 1 GB - CPU: 2 GHz Egyéb követelmények: - Intuitív felhasználói felület, könnyű kezelhetőség 2. Tervezés 2.1. A program architektúrája A program főosztálya a GamePanel.java, amely egy kibővített JPanel, az játékelemek megjelenítésére szolgál. Indításkor létrejön a StatPanel egy példánya, mely az eredményeket hivatott kiírni, ennek statikus függvényeit éri el a főosztály. A játék emellett tartalmaz egy menüt is, ahol elérhetők a fontosabb funkciók, ilyen pl.: az eredménytábla. A program tartalmaz textúrákat, valamint több segédosztályt, melyek külön külön csomagokban kaptak helyet. Fertetics Gergő Alkalmazások fejlesztése 3
2.2. Osztálymodell A diagram mérete miatt külön fájlba került, amely megtekinthető ITT; GamePanel Sztereotípia: vegyes Ős: JPanel Példány: gamepanel Feladat: A játék lebonyolítása, lövések és ütközések kezelése StatPanel Sztereotípia: vegyes Ős: JPanel Példány: statpanel Feladat: A játék pontjainak kezelése, kiírása Player Sztereotípia: Konténer Ős: Object Példány: tardis Feladat: Játékos megjelenítése, mozgatása Dalek Sztereotípia: Konténer Ős: Object Példány: dalek Feladat: Ellenfél megjelenítése, mozgatása Shot Sztereotípia: Konténer Ős: Object Példány: shot Feladat: Lövések megjelenítése és mozgatása Fertetics Gergő Alkalmazások fejlesztése 4
2.4. Felhasználói-felület modell Fertetics Gergő Alkalmazások fejlesztése 5
2.5. Részletes programterv GamePanel Sztereotípia: vegyes Ős: JPanel Példány: gamepanel Feladat: A játék lebonyolítása, lövések és ütközések kezelése Metódusok: - disablecursor() Láthatatlanná teszi a kurzort - timing() Időzítő, kezeli a mozgatásokat - paintcomponent(graphics g) Itt hajtódnak végre a rajzolások - detectcollision(shot s, DalekList d) Az ütközések kezelését végzi Player / Dalek Sztereotípia: vegyes Ős: Object Példány: tardis / dalek Feladat: Játékos / ellenfelek megjelenítése, mozgatása Metódusok: - generateshot() Lövés pédányosítása - drawplayer / drawdalek Kirajzolj a az objektumot Fertetics Gergő Alkalmazások fejlesztése 6
3. Implementáció 3.1. Forráskód, futtatható kód Osztályok: Csomag: graphicalobjects Fájlok: Dalek, DalekShot, Player, Shot Csomag: logic Fájlok: DalekList, FileManager, PointHandler, ScoreReader Csomag: Menus: Fájlok: MyMenu Csomag: panels Fájlok: GamePanel, MySideBar, PreGamePanel, StatPanel, UnitePanel Csomag: ui Fájlok: MyFrame Csomag: default Fájlok: Main Képek: Fájlok: dalek.jpg, menubg.jpg, tardis.gif Egyéb fájlok: results.txt Fertetics Gergő Alkalmazások fejlesztése 7
4. Tesztelés 4.1 Játék tesztelése Új játék indítása: Indításkor az első pálya jelenik meg, ahol kezdetben 4 sor ellenfelet kell elpusztítanunk, ha ez megtörtént a következő pályára ugrunk, ahol a feladat ugyan az. Fertetics Gergő Alkalmazások fejlesztése 8
A játl folyamatosan írja a fontosabb adatokat, statisztikákat: Időbel az ellenfelek lejjebb jönnek, ha eléri a játékost, akkor a játéknak vége A játék végén egy üzenet jelenik meg az aktuális pontszámmal, bekéri a nevünket, amiből eredménytáblát készít Fertetics Gergő Alkalmazások fejlesztése 9
Az eredménytábla megtekinthető a menüből: A játék akkor is befejeződik, ha az életek száma nullára csökken. Ez úgy érhető el, hogy háromszor eltalálnak az ellenfelek 5. Felhasználói dokumentáció 5.1. A futtatáshoz ajánlott hardver-, szoftver konfiguráció Futtatáshoz ajánlott hardverek: - RAM: 1 GB vagy nagyobb - CPU: 2 GHz vagy nagyobb - VGA: Geforce 8600 vagy jobb teljesítményű Futtatáshoz ajánlott szoftverek: - Tetszőleges operációs rendszer, melyhez létezik JRE 6 implementáció 5.2. Telepítés A játékot nem kell telepíteni, a SpaceInvaders.jar fájllal futtatható. 5.3. A program használata Szabályok: A képernyő alsó részén lévő dobozt irányítva pusztítsuk el az idegeneket. Az ellenfeleket el is pusztíthatjuk, ha eltaláljuk az ellenséget, az eltűnik. Amint az összes idegen eltűnt a játéktérről, a következő pályára jutunk, ahol az ellenfelek gyorsabban mozognak és lőnek, de ennek megfelelően több pontot is szerezhetünk. Irányítás: A kék dobozt (TARDIS) irányítjuk. Az egér jobbra, illetve balra húzásával tudjuk azt mozgatni. Lőni a bal és jobb egérgombok lenyomásával van lehetőségünk. Fertetics Gergő Alkalmazások fejlesztése 10