„BPROF:2dm” változatai közötti eltérés

A Miau Wiki wikiből
(Ötletek)
(Egyéb funkciók)
57. sor: 57. sor:
  
 
=Egyéb funkciók=
 
=Egyéb funkciók=
* UI személyre szabása előre elkészített, akár a felhasználók által személyre szabott téma segítségével
+
* UI személyre szabása előre elkészített, akár a felhasználók által személyre szabott téma segítségével - (színvilág/színharmónia nem ellenőrzött, a téma tervezőjének kell figyelnie arra, hogy a felhasznált színek nem olvadnak egybe egymással)
(színvilág/színharmónia nem ellenőrzött, a téma tervezőjének kell figyelnie arra, hogy a felhasznált színek nem olvadnak egybe egymással)
+
* nyelvek támogatása, akár a felhasználók által definiált szótár segítségével - (szótár helyessége nem ellenőrzött, nincs kizárva akár a halandzsa nyelv használata sem)
* nyelvek támogatása, akár a felhasználók által definiált szótár segítségével
 
(szótár helyessége nem ellenőrzött, nincs kizárva akár a halandzsa nyelv használata sem)
 
  
 
=Folyamatábrák=
 
=Folyamatábrák=

A lap 2022. november 11., 09:42-kori változata

Ez a szócikk a "Rendszertervezés" tantárgy keretében keletkező dokumentum, mely része a szakdolgozat mellékleteinek.

Fogalmak

(potenciális változók a kódhoz)
  • puzzle: X-szer Y-os háló, melyben a sorfejléc (X) és oszlopfejléc (Y) attribútumok alapján kell elhelyezni az odaillő képet
  • X(i):
  • Y(j):
  • válaszkártya(k):
  • megoldástér(i,j,k):
  • keretrendszer: puzzle megjelenítő szoftver
  • log: minden tevékenység (pl. egérmozgás, billentyű-leütés, billentyű-kombináció) feljegyzése egy fájlban, dátummal felcímkézve (vö. https://miau.my-x.hu/mediawiki/index.php/Excel-makro#Tanfolyami_vez.C3.A9r-feladatok)
  • kiértékelés:

Megrendelői kezdeményezés

Létezik egy 2DM-játék (https://miau.my-x.hu/miau/254/2dm_kemia_demo/), amelyben a feladat egy 3x3-as* hálóban különféle képeket elhelyezni az oszlop- és sor-fejlécek alapján. A létező 2DM-játék log-ja a vágólapra keletkezik a JavaScript lehetőségei mentén. Az új rendszerben a sebezhetőségek minimalizálása, csalás minden mennyiségű kizárása a cél.

Feladat:

  • Új játék tervezését és
  • futtatását támogató keretrendszer kialakítása úgy, hogy
  • a keretrendszer által olyan output kialakítása, mely a jelenlegi 2DM-megoldás által azonnal futtatható

Nem feladat:

  • online kollaboratív munka támogatása
  • adatbázis-alapú megoldás kialakítása

Jelenlegi 2DM játék

Struktúrája

A jelenleg már elkészült 2DM játék adatbeolvasását,adatstruktúráját ki kell nyomozni annak érdekében, hogy a dolgozatban készülő játék kompatibilis lehessen vele.

Nyomozás lépései:

  1. https://www.cyotek.com/downloads/info/setup-cyowcopy-1.9.0.822-x86.exe alkalmazás segytségével letöltöttem a https://miau.my-x.hu/miau/271/2dm/ weboldal összes fájlját.
  2. letöltött adatok:

img/,00m.png,03-00.png,03-30.png,03-49.png,03h.png,12-00.png,12-30.png,12-49.png,12h.png,18-00.png,18-30.png,18-49.png,18h.png,30m.png,49m.png,AD_CLOCK.jpg,auth.png,auth_alairas.png,auth_arc.png,auth_dns.png,auth_gepeles.png,auth_hang.png,auth_irisz.png,auth_kez.png,auth_retina.png,auth_ujj.png,BLANK_BLANK.png,BLANK_C1.png,BLANK_C2.png,BLANK_C3.png,BLANK_R1.png,BLANK_R1_BLANK_C1.png,BLANK_R1_BLANK_C2.png,BLANK_R1_BLANK_C3.png,BLANK_R2.png,BLANK_R2_BLANK_C1.png,BLANK_R2_BLANK_C2.png,BLANK_R2_BLANK_C3.png,BLANK_R3.png,BLANK_R3_BLANK_C1.png,BLANK_R3_BLANK_C2.png,BLANK_R3_BLANK_C3.png,BRW.png,circle.png,COIN_1E.png,COIN_20C.png,COIN_2C.png,COLOR_DOT.jpg,COLOR_FLAG.jpg,COLOR_SHAPE.jpg,COLOR_TETRIS.jpg,DIR_B.png,DIR_BC.png,DIR_BL.png,DIR_BR.png,DIR_C.png,DIR_L.png,DIR_M.png,DIR_MC.png,DIR_ML.png,DIR_MR.png,DIR_R.png,DIR_T.png,DIR_TC.png,DIR_TL.png,DIR_TR.png,dot_1.png,dot_2.png,dot_3.png,EUR_COIN.jpg,favicon.ico,flag1.png,flag1_BRW.png,flag1_GRW.png,flag1_GRY.png,flag2.png,flag2_BRW.png,flag2_GRW.png,flag2_GRY.png,flag3.png,flag3_BRW.png,flag3_GRW.png,flag3_GRY.png,FLAG_IRL.png,FLAG_SMR.png,FLAG_SVK.png,FRENCH_CARD.jpg,GRW.png,GRY.png,hearts.png,hearts_jack.png,hearts_king.png,hearts_queen.png,hexagon.png,IRL_1E.png,IRL_20C.png,IRL_2C.png,jack.png,king.png,LArrow.png,logo.jpg,pikes.png,pikes_jack.png,pikes_king.png,pikes_queen.png,queen.png,RArrow.png,SMILEY_DIR.jpg,SMR_1E.png,SMR_20C.png,SMR_2C.png,SVK_1E.png,SVK_20C.png,SVK_2C.png,tetris_1.png,tetris_11.png,tetris_12.png,tetris_13.png,tetris_2.png,tetris_21.png,tetris_22.png,tetris_23.png,tetris_3.png,tetris_31.png,tetris_32.png,tetris_33.png,tiles.png,tiles_jack.png,tiles_king.png,tiles_queen.png,triangle.png,TTT_E1.png,TTT_E2.png,TTT_E3.png,TTT_M1.png,TTT_M2.png,TTT_M3.png, - card-design.css, - carousel.js, - gameProperties.js, - gameScreenEvents.js, - index.htm, - index.js, - style.css, - util.js

  1. ebből egyetlen egy 2DM-játékhoz tartozó objektumok (vö. *BLANK*): ???
  2. egy játékra egyszerűsített manuálisan lebutított saját lokális verzió tesztelése
  3. régi 2DM-játék által igényelt specifikációk véglegesítése
  4. egy régi 2DM-játék (értékes tartalommal történő) manuális előállítása a specifikációk alapján az új játék fejlesztője által
  5. manuálisan készített saját játék tesztelése
  6. ezen manuális saját játék új keretrendszerben való reprodukálása és az output tesztelése

Rendszer megrendelővel egyeztetett követelményei

optimális (tesztelt):

  • windows 11
  • Intel Core i5 11th gen
  • 16GB ram

választott technológiák:

  • Programnyelv: C#
  • Adattárolás: JSON

Egyéb funkciók

  • UI személyre szabása előre elkészített, akár a felhasználók által személyre szabott téma segítségével - (színvilág/színharmónia nem ellenőrzött, a téma tervezőjének kell figyelnie arra, hogy a felhasznált színek nem olvadnak egybe egymással)
  • nyelvek támogatása, akár a felhasználók által definiált szótár segítségével - (szótár helyessége nem ellenőrzött, nincs kizárva akár a halandzsa nyelv használata sem)

Folyamatábrák

Kvíz tervezésének folyamatábrája:........
Kvíz megírásának folyamatábrája:........
Kvíz kiértékelésének folyamatábrája:........

Rendszer specifikáció

Ajánlott irodalom/demo/minta: http://centroszet.hu/tananyag/ - pl. http://centroszet.hu/tananyag/szervezes2/615_rszletes_rendszerterv.html 

Logikai rendszerterv

Fizikai rendszerterv

Program specifikáció

Program célja

UI tervek

Adattárolás

A keretrendszer az adatokat .json fájlokban tárolja.
ezek: a beállítási adatok (téma,nyelv alapbeállítások), teszt adatok (kérdés,válasz lehetőségek)

"puzzles": [
   {
     "question": "value",
     "correctGridOrder": {
       "1": "C:/Users/x/Y/kep1.png",
       "2": "C:/Users/x/Y/kep2.png",
       "3": "C:/Users/x/Y/kep3.png",
       "4": "C:/Users/x/Y/kep4.png",
       "5": "C:/Users/x/Y/kep5.png",
       "6": "C:/Users/x/Y/kep6.png",
       "7": "C:/Users/x/Y/kep7.png",
       "8": "C:/Users/x/Y/kep8.png",
       "9": "C:/Users/x/Y/kep9.png"
     }
   },…
]

Indoklás:
A JSON fájlok egyszerű olvashatósága, értelmezhetősége miatt bárki létre tud hozni saját témát, nyelv sémát.
Alternatív megoldások elvetésének indoklásai:

  • Egyszerű txt fájlok is megfelelőek a feladatra, ám a JSON fájltípus által biztosított kulcs-érték adatszerkezet nagy segítséget nyújt a fájl manuális átláthatóságához, illetve a programmal való feldolgozhatósághoz.
  • ...

Fejlesztői saját 2DM-játékok

A fejlesztés során az alábbi tartalmi kihívások

1. játék

  • X=3
    • X1=...
    • X2=...
    • X3=...
  • Y=3
    • Y1=...
    • Y2=...
    • Y3=...
  • válaszkártyák (9=3*3)
  1. ...
  2. ...
  3. ...
  4. ...
  5. ...
  6. ...
  7. ...
  8. ...
  9. ...

i. játék

  • X>3
  • Y>3
  • X<>Y

Ötletek

  • Github-on puzzle katalógus repo, amibe bárki bele tud committolni. (A dolgozatíró jóváhagyásával)
  • Ezt fetchelne az alkalmazás és így ott is meg tudna esetlegesen jelenni egy külön marketplace nézet, és innen lehetne aktiválni egy egy témát.
  • puzzle inditasakor a puzzlet letrehozo szemely által elvárt azonosító input (neptun kod,nev,becenév stb (nem kell ezzel foglalkoznom h valid-e,mert nekem elég ha egy string az output))- Ez is belekerülne a logfajlba, mely segítené a teszt írójának beazonosítását.
  • előző ellentéte: puzzle anonim leadásának lehetősége
  • puzzle kiértékelése a tanár részéről:
    • output fajlokat osszeszedi (nem erdekel, hogy hogyan, emaillel beküldik a diákok stb….), és beolvastatja a programmal, ami csinal egy egyszeru excel táblát, akár kimutatásokkal
  • puzzlek között lépkedni lehet előre hátra, ha van több puzzle (ezt a puzzle szerkesztője engedélyhezheti/tilthatja le)
  • teszt folytatasanak engedelyezese is tanartol fuggjon, logolva lesz a szüneteltetés
  • tesztben a kép pathje nem képre mutat,hanem egy más fajta fájlra, akkor ezt le kell kezelni (ilyen hiba case-eket ki kell listázni, és ki kell küszöbölni)
  • más, nem 3x3-mas teszt használatát engedélyezni*
  • logger teszt irása közben:
  • logolni fogja a szoftver a user általi: alkalmazás váltást, alkalmazás minimalizálást, és az ezekhez tartozó időpontot is
  • log az egyenlore egy txt fajl
  • “log {timeOfStart}.txt”
  • lehetőség a webes rendszerbe való fejlesztéshez(???):
    itt ebben ha megvaltoztatom a COLOR_GREEN_DOT_1 -eket COLOR_GREEN_DOT_2 -re, akkor at fog váltani 2 pöttyre, és a játék el fogja fogadni amikor odahúzom a 2 pöttyös zöld mezőbe