# Funkcionális Specifikáció 1. ***Rendszer céljai és nem céljai.*** **A rendszer céljai :** * Minden felhasználó számára kellemes kikapcsolódás teremtése * Egyszerű időtöltés bármilyen helyzetben * Egy platformon belül, több lehetőség választása * Gyors és egyszerű alkalmi játékok használata * Felhasználóbarát és kellemes megjelenés * A játékok között könnyű váltakozási lehetőség **A rendszer nem céljai :** * Bonyolult játékmechanikák * Összezavaró menürendszer, kezelőfelület * Kötelezni a felhasználót személyes adatok megadására ( Nagyprojekt esetén változik ) * Reklám megjelenítések * Hosszas, unalmas elfoglaltságok 2. ***Jelenlegi helyzet leírása*** Egy közös, jól kinéző kezdőlap melyből könnyen és egyértelműen tudunk játékot választani. Egyszerű játékváltások és játékmechanizmusok. Három darab alapjáték beépítve amit a felhasználó kedvére játszhat amikor csak akar. Jelenleg egyszemélyes játékmódra van csak lehetősége a felhasználóknak, az adatokat pontrendszer formájában még nem menti az oldal. 3. ***Vágyálomrendszer leírása*** A vágyálomrendszer egy jól működő, sok érdekes egyszerű viszont szórakoztató játékot tartalmazó platform ahol bármelyik korosztály akár 1-2 percre vagy akár hosszasabb időre is letudja kötni magát. Egy teljesítés alapján bevezetett pontrendszerrel akarjuk növelni azt az élményt ha a felhasználók egymás ellen vagy akár csak magukkal akarnak versenyezni, így sarkalva mindenkit a jó és minél tökéletesebb játékra. A játék eltárolja a játékos által játszott meccsek eredményét, így képes nyomonkövetni azokat. Mindezek mellett kétszemélyes játékokat akarunk az oldalra és az eddigi egyszemélyes játékokat (amelyeknél lehetséges) átírni úgy ,hogy a felhasználóknak legyen opciójuk azokat ketten is játszani. 4. ***Jelenlegi üzletek folyamatok modellje*** * Fizetős, regisztrációhoz kötött oldalak * Bonyolult kezelői felületek * Minden játék mellé legalább 3 reklám megjelenítése 5. ***Igényelt üzleti folyamatok modellje*** * Ingyenes, nem regisztrációhoz kötött kikapcsolódás * Letisztult, frappáns kezelőfelület * Reklámmentes és gyors oldal * Az egyszerű de nagyszerű gyors kikapcsolódás elérése 6. ***Követelménylista*** **(v1.0)** | ID | Név | Kifejtés | |---|---|---| | 1 | Szerver| Legyen hostolva, és megfelelően működik a webalkalmazás | |2|Kliens - Kezdőlap| A felületen eldöntendő játékok választási lehetőségeket kell megjeleníteni, amelyek opcióit a "Játék" gomb felirat megnyomásával lehet választani| |3|Kliens - Akasztófa játék | Megfelelő szabályok alkalmazásával. Lehessen választani választható karaktereket, és jelenítsen meg megfelelő eredményt. Ha nyer, akkor jelenítsen meg győzelem feliratot, különben vesztes feliratot és megoldást ad eredményül. | |4|Kliens - Kő-papír-olló játék | A játékos által választott opciók közül (kő,papír,olló) a megfelelő kézjel mutatása. A gépi ellenfélnél véletlenszerűen jöjjenek a kézjelek. A szabályoknak megfelelően történjen a pontozás (kő>olló,olló>papír,papír>kő). Amelyik játékos hamarabb éri el a három pontot azt kiáltsa ki nyertesnek. | |5|Kliens - Memória játék | Megfelelő szabályok alkalmazásával. Lehessen választani választható kártyákat, és jelenítsen meg a kártyának képét. Ha mindkét kép/kártya páros, akkor maradjon meg, különben visszafordul hátlapjára. Ha adott időn belül eltalál az összeset, akkor nyer, különben veszít.| |6|Kliens - Játék közben vagy után visszalépése| Biztosítsa, hogy visszalehessen lépni a kezdőlapra.| 8. *Használati esetek* Azokban az esetekben, amikor az egyén egy könnyebb kikapcsolódásra vágyik. 11. *Megfeleltetés, hogyan fedik le a használati esetek a követelményeket* **Kezdőlap**: - Form (GET kérés) - Megfelelő játékhoz való irányítására **Játékok**: - Form (GET kérés) - "Vissza" gomb megnyomásával a kezdőlap átirányítása - Javascript submit - Új játék kezdése 12. *Képernyőtervek* Kezdőlap megjelenítése ![Kezdőlap](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/0b01bdaabf05feca2e7585768871bb6d9012fd2b/dokumentumok/kepek/teszt_1.png) Akasztófa játék ![Akasztófa](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/a678218a64ddde3509301d9e03e5968cafa74c0b/dokumentumok/kepek/teszt4.png) Akasztófa győzelem ![Akasztófa győzelem](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/0b01bdaabf05feca2e7585768871bb6d9012fd2b/dokumentumok/kepek/teszt3.png) Akasztófa veszít ![Akasztófa veszít](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/0b01bdaabf05feca2e7585768871bb6d9012fd2b/dokumentumok/kepek/teszt2.png) Memória játék ![Memória](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/53bff29cbb96274ffdf0a1e1272a4a35c7374b98/dokumentumok/kepek/memoria_jatek.png) Kő-papír-olló játék ![Kő-papír-olló](https://bitbucket.org/szoftverfejl2022-23/inf_unideb_hu_egyszerujatekok/raw/53bff29cbb96274ffdf0a1e1272a4a35c7374b98/dokumentumok/kepek/kopapirollo_jatek.png) 11. *Forgatókönyvek* - Két szereplő - **Szerver** (Üzemeltetés) - Szerver futtatása - Webalkalmazás biztosítása - GET kérés hallgatása - Adatbázis futtatása, tárolása - **Kliens** (Felhasználó) - Kezdőlap - Egyjátékos mód - Játék kiválasztása - Akasztófa - Kő-papír-olló - Memória - Kétjátékos mód - Játékosnév lekérése - Szoba létrehozása - Játék kiválasztása/csatlakozása 13. *Funckió - követelmény megfeleltetés* A játék megjelenítéséhez egy közös HTML (+CSS,JS) lap készül, itt egy kattintással dönthet majd a felhasználó, hogy melyiket kívánja játszani. 15. *Forgalomszótár* - **HTML5**: *A HTML5 a HTML (Hypertext Markup Language, a web fő jelölőnyelve) korábbi verzióinak az átdolgozott változata.* - **JavaScript**: *A JavaScript programozási nyelv egy objektumorientált, prototípus-alapú szkriptnyelv, amelyet weboldalakon elterjedten használnak.* - **Node.js**: *A Node.js egy szoftverrendszer, melyet skálázható internetes alkalmazások, mégpedig webszerverek készítésére hoztak létre. A programok JavaScript-ben írhatók, eseményalapú, aszinkron I/O-val a túlterhelés minimalizálására és a skálázhatóság maximalizálására.* - **CSS**: *A Cascading Style Sheets egy stílusleíró nyelv, mely a HTML vagy XHTML típusú strukturált dokumentumok megjelenését írja le.* - **JSON**: *Egy egyszerű, ember által is olvasható szöveg alapú szabvány számítógépek közötti adatcserére. A JavaScript szkriptnyelvből alakult ki egyszerű adatstruktúrák és asszociatív tömbök (a JSON-ban „objektum” a nevük) reprezentálására.* - **Bitbucket**: *A Bitbucket egy Git-alapú forráskód-adattár tárhelyszolgáltatás, amely az Atlassian tulajdonában van.* - **MongoDB**: *A MongoDB nyílt forráskódú dokumentumorientált adatbázis szoftver. A NoSQL adatbázisszerverek közé tartozik. A dokumentumokat JSON-szerű formátumban tárolja.* - **HackMD**: *Ez egy online interaktív MarkDown szerkesztő.*