Az I. 348. feladat (2014. április) |
I. 348. Készítsünk offline játszható egyszemélyes játékot az alábbiaknak megfelelően:
A játék egy \(\displaystyle n\times n\) egységnégyzetből álló (\(\displaystyle n=7\dots 10\)) zárt területen zajlik. A játék indításakor a program vízszintesen és függőlegesen is \(\displaystyle k\) (\(\displaystyle n< k< 2n\)) helyen megrajzolja a területet alkotó négyzetek egy-egy oldalát úgy, hogy a terület összefüggő maradjon. Összefüggőnek tekintjük a területet, ha bármely négyzetről bármely négyzetbe el lehet jutni. A játékos feladata megrajzolni (kattintással) úgy további falakból minél többet, hogy az összefüggőség megmaradjon.
A játéknak vége, ha az összefüggőség nem teljesül vagy a játékos nem tud lépni 5 másodpercen belül.
A felületen megkülönböztethetők legyenek a gép és a játékos által húzott falak. A végén a program jelenítse meg a behúzott falak számát és a felhasznált összes időt.
Beküldendő(k) a program forráskódját alkotó fájl(ok) egy fájlba tömörítve (i348.zip) és rövid dokumentációja (i348.pdf), 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ó.
(10 pont)
A beküldési határidő 2014. május 12-én LEJÁRT.
A megoldók többsége HTML alapú megoldást adott be, de készült C#-ban valamint Lazarusban is program.
A megoldásnak két kritikus pontja volt, a falak behúzása valamint játék végének (összefüggőség megszűnésének) megállapítása. Előbbit volt, aki labirintus generálásával, majd falak törlésével alkotta meg, utóbbinál széltében keresés is megoldást jelentett. (A generálásnál a kevés fal miatt a véletlenszerű próbálkozás is működhetett.)
A beküldött megoldásokból Kovács Balázs Marcell megoldása volt a legteljesebb. (i348kovacsbalazs.zip)
Az értékelésben az alábbi szempontokat vettük figyelembe: I348ertekeles.pdf
Statisztika:
6 dolgozat érkezett. 10 pontot kapott: Fényes Balázs, Kovács Balázs Marcell. 8 pontot kapott: 2 versenyző. 7 pontot kapott: 1 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2014. áprilisi informatika feladatai