BPROF:2dm

A Miau Wiki wikiből
A lap korábbi változatát látod, amilyen Jkv1 (vitalap | szerkesztései) 2022. november 23., 20:52-kor történt szerkesztése után volt.

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ő válaszkártyát
  • X(i): sorfejléc, mely megadja a válaszkártya1. attribútumát
  • Y(j): soszlopfejléc, mely megadja a válaszkártya2. attribútumát
  • válaszkártya(k): képkocka, melyet el kell helyezni a megfelelő kockájába a hálónak
  • 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: válaszkártyák helyének helyességének ellenőrzése

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 (https://github.com/kje-pitlik/2dm-source).
  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
  3. ebből egyetlen egy 2DM-játékhoz tartozó objektumok (vö. *BLANK*): ???
  4. egy játékra egyszerűsített manuálisan lebutított saját lokális verzió tesztelése
  5. régi 2DM-játék által igényelt specifikációk véglegesítése
  6. 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
  7. manuálisan készített saját játék tesztelése
  8. 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:........

IT biztonsági kérdések

kulcsok tárolása a forráskódban? https://itnext.io/how-to-store-passwords-and-api-keys-in-project-code-1eaf5cb235c9

Szoftverben használt csomagok és azok licenszeik

Log rendszer

app minimalizálása, bezárása

Rendszer specifikáció

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

logikai rendszerterv

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1118px" viewBox="-0.5 -0.5 1118 605" content="<mxfile host="Electron" modified="2022-11-23T18:52:50.186Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.3.0 Chrome/104.0.5112.114 Electron/20.1.3 Safari/537.36" etag="B9YngreL7qhlLDqT9IT7" version="20.3.0" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Futtatas folyamatabra">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</diagram></mxfile>" onclick="(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://viewer.diagrams.net/?client=1&page=0&edit=_blank');}}})(this);" style="cursor:pointer;max-width:100%;max-height:605px;"><defs/><g><rect x="244" y="176" width="120" height="60" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><rect x="244" y="176" width="120" height="60" fill="#a8dadc" stroke="#457b9d" pointer-events="all"/><rect x="274" y="191" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Főmenu default beállításokkal
</foreignObject><text x="304" y="210" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Főmenu defa...</text></switch></g><rect x="0" y="301" width="120" height="60" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><rect x="0" y="301" width="120" height="60" fill="#a8dadc" stroke="#457b9d" pointer-events="all"/><rect x="30" y="316" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Beállítások
</foreignObject><text x="60" y="335" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Beállítások</text></switch></g><rect x="484" y="460" width="120" height="60" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><rect x="484" y="460" width="120" height="60" fill="#a8dadc" stroke="#457b9d" pointer-events="all"/><rect x="514" y="475" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
teszt process
</foreignObject><text x="544" y="494" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">teszt proc...</text></switch></g><path d="M 304 236 L 304 266 L 268 266 L 268 289.63" fill="none" stroke="#030608" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 268 294.88 L 264.5 287.88 L 268 289.63 L 271.5 287.88 Z" fill="#030608" stroke="#030608" stroke-miterlimit="10" pointer-events="all"/><path d="M 244 206 L 60 206 L 60 294.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 60 299.88 L 56.5 292.88 L 60 294.63 L 63.5 292.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 170 281 L 224 281 L 224 206 L 237.63 206" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 242.88 206 L 235.88 209.5 L 237.63 206 L 235.88 202.5 Z" fill="#b85450" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/><rect x="438" y="64" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
fekete nyíl view hierarchia
</foreignObject><text x="468" y="83" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">fekete nyí...</text></switch></g><rect x="378" y="64" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
piros nyíl az adat áramlás
</foreignObject><text x="408" y="83" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">piros nyíl...</text></switch></g><path d="M 416 198.5 L 384 198.5 L 370.37 198.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 365.12 198.5 L 372.12 195 L 370.37 198.5 L 372.12 202 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="268" y="106" width="48" height="32" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
start
</foreignObject><text x="292" y="126" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">start</text></switch></g><path d="M 292 145 L 292 165 L 304 165 L 304 169.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 304 174.88 L 300.5 167.88 L 304 169.63 L 307.5 167.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="292" cy="122" rx="44" ry="23" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="656" y="304" width="48" height="24" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Nem
</foreignObject><text x="680" y="320" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Nem</text></switch></g><path d="M 408 326 L 457.63 326" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 462.88 326 L 455.88 329.5 L 457.63 326 L 455.88 322.5 Z" fill="#b85450" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/><rect x="348" y="311" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
kiválasztott adatfájl (.json)
</foreignObject><text x="378" y="330" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">kiválaszto...</text></switch></g><path d="M 328 326 L 348 326" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="stroke"/><rect x="110" y="266" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Téma,nyelv stb 
</foreignObject><text x="140" y="285" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Téma,nyelv...</text></switch></g><path d="M 60 301 L 60 281 L 110 281" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="stroke"/><rect x="416" y="176" width="68" height="45" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Alert View
</foreignObject><text x="450" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Alert View</text></switch></g><path d="M 750 282.8 L 796 328 L 750 373.2 L 704 328 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
ki tudjuk javítani?
</foreignObject><text x="750" y="332" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">ki tudj...</text></switch></g><path d="M 748 284.77 L 748 198.5 L 490.37 198.5" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 485.12 198.5 L 492.12 195 L 490.37 198.5 L 492.12 202 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Nem
</foreignObject><text x="644" y="179" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Nem</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Logikai
</foreignObject><text x="546" y="83" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Logikai</text></switch></g><path d="M 16 398.43 L 1072 400" fill="none" stroke="#030608" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Logolás kezdete
</foreignObject><text x="1086" y="380" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Logolás ke...</text></switch></g><path d="M 796 328 L 857.63 328" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 862.88 328 L 855.88 331.5 L 857.63 328 L 855.88 324.5 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 984 317 L 1008 317 L 1008 416 L 574 416 L 574 453.63" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 574 458.88 L 570.5 451.88 L 574 453.63 L 577.5 451.88 Z" fill="#b85450" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><rect x="864" y="298" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Adatfájl fixálása
</foreignObject><text x="924" y="335" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Adatfájl f...</text></switch></g><path d="M 504 286 L 544 326 L 504 366 L 464 326 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Be van töltve egy fájl?
</foreignObject><text x="504" y="335" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Be van töl...</text></switch></g><path d="M 504 286 L 504 198.5 L 490.37 198.5" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 485.12 198.5 L 492.12 195 L 490.37 198.5 L 492.12 202 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Nem
</foreignObject><text x="540" y="255" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Nem</text></switch></g><path d="M 616 288 L 656 328 L 616 368 L 576 328 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Betölthető a fájl?
</foreignObject><text x="616" y="332" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Betölthető...</text></switch></g><path d="M 544 326 L 564 326 L 556 326 L 569.63 326" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 574.88 326 L 567.88 329.5 L 569.63 326 L 567.88 322.5 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 656 328 L 697.63 328" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 702.88 328 L 695.88 331.5 L 697.63 328 L 695.88 324.5 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Igen
</foreignObject><text x="554" y="317" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Igen</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Igen
</foreignObject><text x="826" y="319" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Igen</text></switch></g><rect x="640" y="39" width="120" height="60" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
grafikus nézet
</foreignObject><text x="700" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">grafikus n...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
fixált adatfájl
</foreignObject><text x="1014" y="366" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">fixált ada...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
TODO: Mi van, ha több játékot tölt be egyszerre az adatfájl?
</foreignObject><text x="935" y="126" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">TODO: Mi van,...</text></switch></g><rect x="544" y="544" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
log fájl output
</foreignObject><text x="604" y="578" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">log fájl o...</text></switch></g><path d="M 728 544 L 728 574 L 670.37 574" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 665.12 574 L 672.12 570.5 L 670.37 574 L 672.12 577.5 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 728 436 L 728 384 L 616 384 L 616 374.37" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 616 369.12 L 619.5 376.12 L 616 374.37 L 612.5 376.12 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 728 436 L 782 490 L 728 544 L 674 490 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 604 490 L 667.63 490" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 672.88 490 L 665.88 493.5 L 667.63 490 L 665.88 486.5 Z" fill="#b85450" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Van még több betöltendő fájl?
</foreignObject><text x="728" y="497" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Van még tö...</text></switch></g><rect x="160" y="544" width="120" height="60" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
report view
</foreignObject><text x="220" y="578" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">report view</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
teszt eredmény adatai
</foreignObject><text x="318" y="578" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">teszt ered...</text></switch></g><rect x="390" y="544" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
log feldolgozás
</foreignObject><text x="450" y="578" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">log feldol...</text></switch></g><path d="M 544 574 L 524 574 L 532 574 L 518.37 574" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 513.12 574 L 520.12 570.5 L 518.37 574 L 520.12 577.5 Z" fill="#b85450" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 390 574 L 286.37 574" fill="none" stroke="#030608" stroke-miterlimit="10" pointer-events="none"/><path d="M 281.12 574 L 288.12 570.5 L 286.37 574 L 288.12 577.5 Z" fill="#030608" stroke="#030608" stroke-miterlimit="10" pointer-events="none"/><rect x="208" y="296" width="120" height="60" fill="#a8dadc" stroke="#457b9d" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
Teszt fájl betöltése
</foreignObject><text x="268" y="330" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Teszt fá...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>










Fizikai rendszerterv

Program specifikáció

UI tervek

Adattárolás

Ez a saját téma/nyelvi csomag létrehozásának segítségül is szolgáló leírás.

  • A keretrendszer az adatokat .json fájlokban tárolja. Ezek
    • a beállítási adatok (kiválasztott téma illetve nyelv),

defaultConfig.json

{
 "data": [
   {
     "theme": "dark.json",
     "language": "hu.json"
   }
 ]
}

nyelv fájl

{
   "windowTitle": "Teszt kitöltése...",
   "loadTestFileBtn":"Teszt fájl betöltése",
   "startTestBtn":"Teszt indítása",
   "settingsBtn":"Beállítások",
   "nextBtn": "Következő",
   "previousBtn": "Előző",
   "saveBtn":"Mentés"
}

tesztadatok

(kérdés, válasz lehetőségek)

{
"puzzles": [
   {
     "question": "Ide írjuk a kérdést",
     "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"
     }
   },…
]
}

téma fájl

{
 "data": [
   {
     "backgroundColor": [ 120, 0, 100, 0 ],
     "buttonColor": [ 150, 0, 255, 0 ]
   }
 ]
}
  • 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ása: 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.

Tesztelés

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


Kvíz katalógus

A katalógus menű a GTS-catalog https://github.com/orgs/GTS-catalog/repositories repository-kat fetcheli, és jeleníti meg a listanézetben. A repository-kból csak a ".json" fájlokat jeleníti meg.




Saját kvíz publikálása

https://miau.my-x.hu/mediawiki/index.php/BPROF:2dm_q1