2. Beadandó feladat dokumentáció

Hasonló dokumentumok
2. Beadandó feladat dokumentáció

3. Beadandó feladat dokumentáció

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Telepítési útmutató a SMART Notebook 10 SP1 szoftverhez

1. Beadandó feladat dokumentáció

Telepítési útmutató a SMART Notebook 10.6 oktatói szoftverhez

Thermo1 Graph. Felhasználói segédlet

Telepítési útmutató a SMART Response 2009 szoftverhez

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

Elemi alkalmazások fejlesztése III.

A program modelljéhez automatikusan futtatható egység-teszteket kell készíteni.

Alapok (a K2D rendszer alapjai)

Eseményvezérelt alkalmazások fejlesztése I 3. előadás. Dinamikus felületű alkalmazások. Giachetta Roberto

Alkalmazott modul III 3. feladatcsoport. Közös követelmények:

3. Beadandó feladat dokumentáció

ContractTray program Leírás

KÖNYVTÁRI KATALÓGUS HASZNÁLATI ÚTMUTATÓ

ServiceTray program Leírás

Használati útmutató Szaktanácsadók számára NAK e-learning rendszerhez Bejelentkezés Moodle rendszerbe

DebitTray program Leírás

MKOSZ Online Support - Felhasználói

TERC V.I.P. hardverkulcs regisztráció

Felhasználói kézikönyv - Android kliens

A Canvas LMS új és régi felülete közti különbségek

Sú gó az ASIR/PA IR Públikús felú lethez

Hiteles Elektronikus Postafiók

KTI Közlekedéstudományi Intézet Nonprofit Kft. Vasúti Vizsgaközpont

Kézikönyv Kamat infosystem

Elemi alkalmazások fejlesztése III.

KUTATÁSTÁMOGATÁS SOROZAT. Felhasználói segédlet Academic Search Complete adatbázisban idézők kereséséhez

Ugráló gomb oktatási segédlet Ugráló gomb

Felhasználói útmutató

Sygic: Voucher Edition for Android telepítése

MTMT adminisztrátori felület és teendők. Mátyás Melinda, Szabó Panna november 4. ELTE Egyetemi Könyvtár

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése

2. Beadandó feladat dokumentáció

Hiteles elektronikus postafiók Perkapu

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

Tervezett fakitermelések bejelentése

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Alapként a Szabálykönyv szolgál és minden szabálypont illusztrált videoklipekkel, összekapcsolva a megfelelő szöveges állományokkal.

3. Beadandó feladat dokumentáció

MÁV-START Tudáspróba Felhasználói kéziköny

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Használati útmutató Az online példatárhoz

Fakitermelések ütemezése és dokumentálása

ivms-4200 kliensszoftver

Mio Technology Limited C510, C710. Gyors használati utasítás a Mio Map v3 programhoz. Magyar

JOGI STÁTUSZ KEZELÉS MŰKÖDÉSE

JLR EPC. Gyors kezdés útmutatója. Tartalom. Hungry Version 2.0. Lépésenkénti gyakorlati útmutató Képernyős útmutató

ONLINE SZAKÉRTŐI KERETRENDSZER

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Felhasználói Kézikönyv

Óranyilvántartás (NEPTUN)

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Felhasználói kézikönyv a WEB EDInet rendszer használatához

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

CAMLAND Beruházás-megfigyelő

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról

A Cobra Sprint telepítése CobraContoLight felhasználók számára

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

eszemélyi Kliens Szoftvercsomag Telepítési Útmutató

Választó lekérdezés létrehozása

Speciális szükségletű felhasználók navigációjának vizsgálata különböző multimédiás alkalmazásokban

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Microsoft Office PowerPoint 2007 fájlműveletei

Dinamikus felületű alkalmazások. Stílusok, időzítő, képek

Vetítési beállítások

1) Szállítói számla kontírozásának megkezdését megelőző lépések a Tárgyi eszköz modulban

ClicXoft programtálca Leírás

Hozzávalók keresése és csatolása

Erste Sorszámhúzó Felhasználói kézikönyv


Szaftex I. Felhasználói kézikönyv 1.0 Szakdolgozók részére

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Ismerkedés az új felülettel

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Felhasználói Kézikönyv

1 "Ház/Home" gomb lenyomás 2 "Beállítások" kiválasztása le nyilakkal 3 "Auto. Hangolás" kiválasztása jobbra nyillal 4 OK gomb megnyomása 5 "Antenna"

ALCOR HD-1800 Lépés Teendő

Eseményvezérelt alkalmazások fejlesztése I 7. előadás. Összetett grafikus felületű alkalmazások. Giachetta Roberto

Fundamenta ebanking. Felhasználói útmutató

Felhasználói kézikönyv

POSZEIDON dokumentáció (1.2)

Forgalom nyilvántartó program Kezelési útmutató

Bérprogram és az abevjava kapcsolata

eszemélyi Kliens Szoftvercsomag

Motorizált infravörös vonali füstérzékelő. Kiegészítő információ

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Windows mappaműveletek

FELHASZNÁLÓI KÉZIKÖNYV

Pick Pack Pont kereső és boltválasztó alkalmazás

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

STOPPER-ÓRA Cikk szám: 89 Használati utasítások

Átírás:

2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző képet tartalmaznak véletlenszerűen elhelyezve, amelyeket csak kijelölésre fednek fel. Továbbá egy külön mezőben 2 másodpercenként folyamatosan felvillan egy új kép. A játékos feladata, hogy a felvillanó kép helyét kijelölje a játéktáblán. A táblán történő kijelöléssel a kép felfedi magát, de csak addig, amíg nem történik a következő képváltás. A játékos három táblaméret közül választhat (4, 8, 16), majd még a játék kezdete előtt másodpercig betekintést nyerhet az összes képbe, ekkor kell memorizálnia azok elhelyezkedését. A játék célja, hogy a 30 másodperces játékidő alatt minél több jó találata legyen, ehhez a program számolja a jó, illetve rossz találatokat. A hátralévő időt folyamatosan láthatjuk a képernyőn. Legyen lehetőség a játék szüneteltetésére. Elemzés: A játékot egy grafikus felületen jelenítjük meg, ahol nyomógombokat használhat a felhasználó. Három nyomógombbal szabályozhatja a táblaméretet (az ablak tetején), és egyben új játékot is kezdhet. Egy negyedik nyomógomb felel a játék szüneteltetéséért és folytatásáért. Egy címke ( -as) mutatja az aktuálisan felvillantott képet az ablak közepén, további gombok pedig az egyes képeket, alapértelmezetten elrejtve. Ezen gombok mérete függ a számuktól is, mivel minden esetben egy sorba helyezzük a gombokat. A felületen ezen felül elhelyezünk egy címkét a képernyő tetején, amely folyamatosan jelzi a hátralévő időt. A játék végén egy előugró ablakkal jelezzük a játékos teljesítményét. A képeket, mint erőforrásokat (images.qrc) csatoljuk a projekthez, és az images könyvtárból töltjük be, <sorszám>.png formátumban, ahol a sorszám 1- től 16-ig terjed. Kisebb táblaméret esetén a program az első megadott számú képet tölti be a programba. 1

Használati esetek: Új játék (4/8/16) «invokes» Képváltás Felhasználó Mező felfedése «precedes» Felhasználói eset Leírás az alkalmazás telepítve van alkalmazás indítása 1 Alkalmazás indítása - megjelennek a kártyák n=4 beállítással (egy adott ideig felfedik a képüket, majd a hátukat mutatják), - új játék elindul (az eltelt idő 30 másodperc, a jó és rossz találatok száma nulla), majd - a játék folyik (2 másodpercenként valamelyik véletlenszerűen kiválasztott kártya képe jelenik meg és lehet a kártyákra kattintani) a játék folyik vagy a játék szünetel 2 Kilépés 3 Mező felfedése játék felület ablakának lezáró ikonjára kattintunk alkalmazás befejezése a játék folyik egy kártyára kattintunk - a kiválasztott kártya 2 másodpercre felfedi magát - ha a kiválasztott kártya azonos az éppen mutatott kártyával, akkor a jó találatok száma, különben a rossz találatok száma nő eggyel a játék folyik vagy a játék szünetel a szünet/folytatás gomb megnyomása 4 Szüneteltetés /Folytatás - ha a játék folyt, akkor a játék felfüggesztődik, nem folyik tovább (nem jelenik meg 2 másodpercenként valamelyik véletlenszerűen kiválasztott kártya képe, nem lehet kártyát kattintással felfedni) - ha a játék szünetelt, akkor a játék tovább folyik úgy, hogy az eddig eltelt idő és a pontok száma nem törlődik a játék folyik vagy a játék szünetel 5 Méretváltoztatás a méretváltozás előidéző gombok valamelyikére kattint - a kiválasztott gombnak megfelelő (n) beállítással megjelennek a kártyák - új játék elindul, majd a játék folyik 2

Tervezés: A program szerkezetét két rétegre bontjuk a modell/nézet architektúrának megfelelően. A modell eseményeken keresztül kommunikált a nézettel. A modellt a GameManager osztály valósítja meg, amely a játéklogikát biztosítja. Az eseménykezelés megvalósítása érdekében az osztályt a QObject-ből származtatjuk. A játékot egy időzítő vezérli (_timer), amely számlálók (_previewtime, _gametime) segítségével követi a megtekintési, illetve a játékidőt. A külső hozzáférést három eseménykezelő (newgame(<méret>), pausegame(), stepgame(<sorszám>)) biztosítja. Három eseménye a képváltás (imagechanged(<kép>)), a játék vége (gameover(<jó pontok>, <rossz pontok>)), illetve az üzenetváltás (messagechanged(<üzenet>)), amelyek paraméterek segítségével adják meg a módosításokat. A képeket egy vektorban tároljuk (_images). Játék kezdetekor generálunk le ügyelve arra, hogy minden kép csak egyszer szerepeljen. Ehhez permutáljuk a képek sorszámát. A megjelenítést a GameWindow biztosítja, amely a QWidget leszármazottja. A megjelenítéshez egyfelől QPushButton példányokat használunk, amelyre ikonként (QIcon) helyezzük fel a képeket, másfelől a középső helyre egy címkét helyezünk fel (_mainimagelabel), amelyre szintén beállítjuk a képi tartalmat (QPixmap). A gombokat elrendezéssel (_imagelayout) helyezzük el az ablakban. Ezen felül a felületen helyezünk el négy gombot (_smallgamebutton, _middlegamebutton, _largegamebutton, _pausebutton), amellyel a különböző nehézségű játékokat tudjuk elindítani, illetve szüneteltetni tudunk Lekezeljük a játéklogika két eseményét (gamemanager_gameover, gamemanager_imagechanged), valamint a táblára történő kattintást (buttonclicked), illetve az új játékra történő kattintást (startnewgame). 3

Osztályszerkezet: GameManager QObject - _number :int - _gametime :int - _previewtime :int - _hasshownimage :bool - _goodguesscount :int - _badguesscount :int - _gamelength :int {readonly} - _timer :QTimer* - _images :QVector<QPixmap> - _currentimageindex :int + GameManager(int) + ~GameManager() + canplay() :bool {query} + getimage(int) :QPixmap& {query} «slot» + newgame(int) :void + pausegame() :void + stepgame(int) :void + timertimeout() :void «signal» + messagechanged(qstring) :void + imagechanged(qpixmap&) :void + gameover(int, int) :void -gamemanager GameWindow QWidget - _gamemanager :GameManager* - _smallgamebutton :QPushButton* - _middlegamebutton :QPushButton* - _largegamebutton :QPushButton* - _pausebutton :QPushButton* - _messagelabel :QLabel* - _mainimagelabel :QLabel* - _imagebuttons :QVector<QPushButton*> - _imagelayout :QHBoxLayout* + GameWindow(QWidget*) + ~GameWindow() + gamemanager_imagechanged(qpixmap) :void + gamemanager_gameover(int, int) :void «slot» + startnewgame() :void + buttonclicked() :void 4

Eseményvezérlés: smallgamebutton.clicked: játékméret váltás és új játék kezdés Forrás: QPushButton objektuma: _smallgamebutton Feladata: új játék indítása kis méretű játéktérrel mediumgamebutton.clicked: játékméret váltás és új játék kezdés Forrás: QPushButton objektuma: _mediumgamebutton Feladata: új játék indítása közepes méretű játéktérrel largegamebutton.clicked: játékméret váltás és új játék kezdés Forrás: QPushButton objektuma: _largegamebutton Feladata: új játék indítása nagy méretű játéktérrel timeout: automatikusan mutatott kép ideje lejár Forrás: Qtimer objektuma: _timer Feladata: újabb kép megjelenítése. image.changed: kártyára kattintás Forrás: GameManager objektuma: _gamemanager Feladata: a kártya felfedése, illetve a mutatott képpel való megegyezése vagy eltérése szerinti módosítása a találatok számának pausebutton.clicked: játék szüneteltetése illetve továbbengedése Forrás: QPushButton objektuma: _pausebutton Feladata: a _timer megállítása illetve indítása messagechange: automatikusan mutatott kép ideje lejár. Forrás: GameManager objektuma: _gamemanager Feladata: üzenet megjelenítése 5

Végfelhasználói tesztesetek: 1a 1b Teszt eset Alkalmazás indítás hatása Alkalmazás indítása és nem létező erőforrások Elvárt hatás - megjelennek a kártyák n=4 beállítással (egy adott ideig felfedik a képüket, majd a hátukat mutatják), - új játék elindul (az eltelt idő 30 másodperc, a jó és rossz találatok száma nulla), majd - a játék folyik (2 másodpercenként valamelyik véletlenszerűen kiválasztott kártya képe jelenik meg és lehet a kártyákra kattintani) HIBA jelzés 1c Alkalmazás indítása és több erőforrás nincs hiba jelenség 1d Alkalmazás indítása és kevesebb erőforrás HIBA jelzés, ha n=k esetén a képekből kevesebb van, mint k 2a Kilépés folyó játékból alkalmazás leáll 2b Kilépés szüneteltetett játékból alkalmazás leáll 3a Jó mező felfedése kiválasztott kártya megegyezik az éppen mutatott képpel, és a jó találatok száma nő. 3b 4a 4b Rossz mező felfedése Szüneteltetés Folytatás kiválasztott kártya nem egyezik meg az éppen mutatott képpel, és a rossz találatok száma nő. folyamatban levő játék megszakítható: a pontszámok és a hátralevő idő továbbra is látható, és a hátralevő idő áll, de nem jelenik meg 2 másodpercenként valamelyik véletlenszerűen kiválasztott kártya képe szüneteltetett játék folytatása: újra 2 másodpercenként valamelyik véletlenszerűen kiválasztott kártya képe jelenik meg, az eltelt idő csökkent 5a 5b Méretváltoztatás következménye Méretváltoztatás megjelenítése szüneteltetett játék illetve folyó játék esetén egyaránt új kártyák jelennek meg és új játék indul el különféle esetek kipróbálása a méret (n) változtatásra: méret változatlan: 4 4, 8 8, 16 16, méret nő: 4 8, 4 8, 8 16 méret csökken: 16 8, 16 4, 8 4 6