Az I. 414. feladat (2016. november) |
I. 414. Készítsünk programot a klasszikus Tili-toli játék alábbi, módosított változatára.
Olvassunk be egy képfájlt. Bontsuk fel a képet \(\displaystyle N\times M\) (\(\displaystyle 3\le N\le 5\), \(\displaystyle 3\le M\le 5\)) képkockára (azonos méretű, téglalap alakú részre). Az \(\displaystyle N\) és \(\displaystyle M\) értékét a felhasználó adhatja meg. (A mintán a \(\displaystyle 3\times 4\)-es elrendezést látjuk.)
Keverjük össze a képkockákat, majd az eredetileg jobb alsó sarokban lévőt töröljük. A játék során a felhasználó a képkockákat vízszintesen vagy függőlegesen mozdíthatja el az üres helyre. Akkor nyer, ha minden képkocka az eredeti helyére kerül.
Ügyeljünk arra, hogy keverés után a kép a játék szabályainak betartásával kirakható legyen. Megengedett a képkockákon az eredeti sorrend feltüntetése.
A program készítése során feltételezhetjük, hogy a kép jpg formátumú, a képpontok sorainak és oszlopainak száma 300 és 600 között van. (Mintaként használható a cimlap.jpg, ami a KöMaL egy korábbi borítóját tartalmazza.)
Beküldendő egy tömörített i414.zip állományban a program forráskódja és rövid dokumentációja, amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
Letölthető mintaállomány például a legutolsó megjelent szám borítója, melynek címe: http://www.komal.hu/lap/2016-10/cimlap.jpg
(10 pont)
A beküldési határidő 2016. december 12-én LEJÁRT.
Értékelés: A feladatra sajnos csak 4 megoldás született (1 C++, 1 C#, 2 VB nyelven). Három megoldás teljes értékű, egy erősen hiányos. Többen további funkciókat is felvettek: pl. a képkockák számozása bekapcsolható/kikapcsolható, időmérés, irányítás egérrel és billentyűzetről is.
Megjegyzés: Hasonló jellegű feladatokat bőven találhatunk az irodalomban, ezek felhasználása (megfelelő hivatkozás esetén) nem jelent pontlevonást. Fontos azonban, hogy a talált mintapéldát meg kell érteni, majd a feladat előírásainak megfelelően át kell alakítani, ki kell bővíteni.
Mintamegoldás: A közölt mintamegoldás Visual Basic nyelven született és Kovács 246 Benedektől a Budapesti Fazekas Mihály Gyakorló Általános Iskola és Gimnázium 12-es tanulójától származik.
i414tilitoli.zip
Statisztika:
4 dolgozat érkezett. 10 pontot kapott: Kis Lázár Bence, Kovács 246 Benedek, Rittgasszer Ákos. 4 pontot kapott: 1 versenyző.
A KöMaL 2016. novemberi informatika feladatai