Feladat: I.450 Korcsoport: - Nehézségi fok: -
Füzet: 2018/február, 102 - 103. oldal  PDF  |  MathML 
Témakör(ök): Feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

A képen látható egyszemélyes ,,játékot'' bárki megvásárolhatja. A játék hat, teljesen egyforma, közös tengelyen elhelyezett ,,hengerből'' áll, amelyek palástja pontosan ugyanannyi részre oszlik. Az első, a harmadik, az ötödik és a hatodik henger minden helyen számjegyeket tartalmaz, a második műveleti jeleket, a negyedik pedig relációs jeleket. A hengereket úgy kell elforgatni egymáshoz képest, hogy a kialakuló sorok mindegyikében az első három által mutatott kifejezés és az utolsó két számjegy által alkotott szám között a negyedik helyen szereplő reláció álljon fenn.

 
 

Írjunk programot, amely a fenti játék síkbeli változatát valósítja meg. A program indításakor a játékos beállítja a sorok számát, amely 3 és 10 közötti szám lehet. Ezt követően a program véletlenszerűen generál egy kiindulási állapotot, majd megjeleníti az alábbi mintának megfelelően (bal oldali ábra). A generálásnál ügyelnünk kell arra, hogy a feladat megoldható legyen. A játék során a játékos által választott oszlopot (annak tartalmát) eggyel elcsúsztatja a többihez képest. (A kicsúszó elem az ellenkező oldalon megjelenik.) A játék befejeződik, ha a játékosnak sikerül elérnie, hogy minden sorban teljesüljön a reláció (jobb oldali ábra). A játékos a játékot feladhatja, ekkor a programnak meg kell jelenítenie a megoldást.
 
 

A feladat megoldásaként a versenykiírásban szereplő eszközökkel elkészíthető alkalmazások mellett a webes vagy mobil applikációkat is elfogadjuk.
Beküldendő egy i450.zip tömörített állományban a program forráskódja és a működéséhez szükséges egyéb fájlok, továbbá a hozzá kapcsolódó felhasználói dokumentáció, valamint a leírás, amely tartalmazza, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
Az értékelésben 7 pont jár a feladat leírásának megfelelő megoldásokért, 3 pont pedig a megoldás kifinomultsága, ötletessége, használhatósága alapján kerül kiosztásra.