---
# System prepended metadata

title: Funkcionális Specifikáció

---

# 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ő.*
