Rajzolj rénszarvast! Vagy csigát.
Programozós rajzversenyt hirdetünk a hamarosan induló .NET programozás képzésünkhöz kapcsolódóan. Lehet rajzolni rénszarvast szabadstílusban,
illetve mértani pontosságú csigát. A két feladat egymástól függetlenül fut, díjazásuk
is külön történik. A játékhoz szükséges technikai tudnivalókat lásd lent.
A) feladat – Rajzolj rénszarvast!
Nincs megkötés, hogy hogyan nézzen ki a rénszarvas,
lehet akár piros orra is :)
Az alkotások között szépségversenyt rendezünk a
következő kategóriákban:
- legötletesebb rénszarvas,
- legszebb rénszarvas.
A rénszarvasokhoz kérünk egy képaláírást, valamint a művész nevét is.
A beérkezett pályaműveket folyamatosan feltöltjük az oldal aljára.
Nyeremény: a kategórianyertesek egy-egy IT Factory szerszámkészletet kapnak
ajándékba, a többi résztvevő között pedig kisorsolunk 3 darab IT Factory bögrét.
B) feladat – Rajzolj tizennyolcszoros csavarodású csigavonalat!
A cél az,
hogy minél kevesebb kóddal sikerüljön megrajzolni a csigavonalat, természetesen
úgy, hogy a megfelelő számú fordulat azért meglegyen. (A jobboldali ábrán látszik, mire gondoltunk.)
A legrövidebb kódot a megfejtések kiértékelését követően (a beküldési határidő után)
közszemlére tesszük, csakúgy, mint minden olyan megoldást, amiből tanulni lehet.
Nyeremény: a legrövidebb kód beküldője IT Factory szerszámosládát kap, a
tanulságos megoldások beküldői pedig IT Factory bögrét.
Technikai tudnivalók a játékhoz
Készítettünk egy rajzoló környezetet, ami egy Silverlight alkalmazás html lapba
ágyazva (DrawingGame.html). A múltidéző metódusok ebben az alkalmazásban vannak
létrehozva és a mellékelt JavaScript kód segítségével használhatók (Drawing.js).
Így elég egy szövegszerkesztő és egy Silverlight2-es pluginnel megáldott böngésző
a játékhoz.
A DrawingGame.html megnyitásakor egy mosolyt kapunk, melyet már egy
JavaScript kód rajzolt ki. A Drawing.js fájlban található az a JavaScript kód, amivel
az arcot rajzoltuk. Ez a kód egy onLoad funkció belsejében található, melynek első
sora fontos, hogy mindig megmaradjon:
var host = document.getElementById("sl");
A funkció belsejéből minden egyéb kitörölhető, és lehet kezdeni a munkát.
Kezdőcsomag letöltése: ITFactoryGame.zip
A csiga-project értékelése
A csigavonalak (spirálok) végignézése kicsit továbbtartott, mint a szarvascsorda mustrája, mert itt a szubjektív szépségen túl a műszaki tartalomra is oda kellett figyelni. Kárpótlásul egy táblázatba összefoglaltuk a mérhető adatokat.
| kategória | ciklusfordulatok | átlag idő (ms) | karakterek |
;-k |
| Vava & Jimmi 2 | egyenesek | 13 572 | 5 445,00 | 132 | 1 |
| Vava & Jimmi | egyenesek | 13 572 | 3 099,00 | 145 | 1 |
| Zámbori Zoltán 1 | körívek | 37 | 10,67 | 149 | 2 |
| Zámbori Zoltán 2 | körívek | 37 | 11,33 | 150 | 2 |
| Fable | körívek | 32 | 10,67 | 151 | 2 |
| Sabe 1 | körívek | 36 | 10,67 | 159 | 5 |
| Sabe 2 | körívek | 36 | 10,67 | 161 | 5 |
| Olajos Péter 2 | körívek | 36 | 10,67 | 165 | 4 |
| Olajos Péter 1 | körívek | 36 | 10,67 | 177 | 4 |
| Kucsma István | egyenesek | 12 961 | 4 605,67 | 184 | 6 |
| Feco | egyenesek | 6 480 | 2 367,33 | 212 | 4 |
| Fehér Tamás | egyenesek | 6 480 | 1 542,33 | 217 | 1 |
| Barasz Tamás | körívek | 36 | 12,33 | 226 | 4 |
| Őri Andrea | körívek | 37 | 12,33 | 227 | 6 |
| Vincze Imre | egyenesek | 13 370 | 3 085,00 | 231 | 5 |
| Jumper | egyenesek | 1 149 | 158,67 | 243 | 4 |
| Krajczár Gyula | egyenesek | 6 481 | 1 065,00 | 298 | 7 |
| Erdélyi István | körívek | 37 | 13,67 | 301 | 6 |
| Lutár Patrícia | Bezier | 18 | 11,33 | 313 | 6 |
| Fár Attila Gergő | egyenesek | 6 480 | 1 124,33 | 317 | 5 |
| Szilágyi Botond 1 | körívek | 18 | 17,67 | 374 | 14 |
| Antoni Csaba | körívek | 19 | 28,00 | 401 | 15 |
| Mogyoródi Balázs 2 | egyenesek | 43 999 | 6 491,00 | 404 | 10 |
| Ofella Péter | körívek | 72 | 15,00 | 410 | 9 |
| Krix | körívek | 18 | 18,00 | 416 | 22 |
| Hermecz Vajk 1 | egyenesek | 6 648 | 908,00 | 420 | 6 |
| Szilágyi Botond 2 | Bezier | 18 | 13,00 | 440 | 8 |
| Hevesi Róbert | körívek | 17 | 18,67 | 444 | 14 |
| Szilágyi Botond 3 | Bezier | 18 | 13,33 | 472 | 9 |
| Gombás Péter 1 | körívek | 18 | 20,33 | 482 | 12 |
| Gombás Péter 2 | körívek | 18 | 22,33 | 504 | 13 |
| Szabolcs | egyenesek | 6 498 | 1 115,00 | 507 | 12 |
| Mogyoródi Balázs 3 | egyenesek | 1 125 | 159,33 | 570 | 11 |
| Mogyoródi Balázs 1 | egyenesek | 359 999 | 49 696,00 | 636 | 11 |
| Hermecz Vajk 2 | egyenesek és körívek | 12 769 | 2 606,33 | 770 | 6 |
| Hermecz Vajk 3 | egyenesek és körívek | 13 226 | 2 979,33 | 898 | 6 |
| Domján Balázs | Bezier | 18 | 63,33 | 1 081 | 46 |
| Szabó János | random | 4 282 | 3 759,00 | 1 577 | 33 |
A megoldásokat három fő csoportra osztottuk a használt rajzolómetódus mentén.
A köríveket használók (valószínűleg azok, akik körzővel is szerkesztettek spirált) alkották a leggyorsabb kódokat.
Beékelődtek azonban közéjük azok, akik Bézier-görbe használata mellett döntöttek.
Az egyenesekből építkezőknek kellett a legjobban megdolgoztatni a processzort, nem csoda hát, hogy ezek a kódok voltak a legkevésbé hatékonyak.
Persze a feladat kiírásában nem a sebesség ill. hatékonyság volt szempontként feltüntetve, hanem a kód hossza. A beérkezett kódok sokszínűségét látva, a csoportosításon túl még egy döntést hoztunk, miszerint figyelmen kívül hagyjuk a megjegyzéseket, szóközöket, tabokat stb. Készült egy kód, ami ezen szempontok alapján megszámolta az eredeti kódok karaktereit. Itt már nem lehet azt mondani, hogy valamely technológia egyértelműen elvitte volna a pálmát.
Hosszgyőztesek
A hossz alapján kategóriánként hirdetünk első helyezettet.
Körívek használatával Zámbori Zoltán 1. munkája az első.
Egyenesek használatával Vava & Jimmi végzett a legelőkelőbb helyen.
Bezier görbék rajzolásával pedig Lutár Patrícia jutott a csúcsra.
Ők kapják a szerszámosládát, Patrícia immár a másodikat (mert már szarvasért is kapott), de neki lehet egy kérése, hogy „nemá”. Ebben az esetben neki kitalálunk valami más ajándékot.
Különdíj
A különleges megoldásokról eddig nem esett szó. Azokról, amik egyik kategóriába sem sorolhatók egyértelműen. Hermercz Vajk két megoldása is egy innovatív elképzelésre épül, mely szerint a görbehúzás nagy távolságban hatékonyabb a sok apró egyenesnél, de kis távolságban a pixelek sajátossága miatt (úgysem látszik 5 pixelen, hogy görbe) hatékonyabb az egyenes. Szabó János munkája pedig az egyenesek használatát oldotta meg lélegzetelállító módon. Mogyoródi Balázs egyes számú alkotása pedig azzal kápráztatott el minket, hogy mily sokáig fenn tudja tartani a processzorunk érdeklődését.
A három különlegesség jutalma egy-egy bicska.
A szorgos munka jutalma
A feladat kiírásakor tág teret hagytunk a szárnyalásra. És ezt Ti ki is használtátok. Ez egyrészt a kiértékelést tette közel lehetetlenné, másrészt azonban élvezhető sokszínűséget adott a kódoknak. Volt, aki több funkciót is írt, hogy aztán azokat hívogassa, volt, aki egy ciklussal megoldotta. Találtunk rekurziót használó megoldást ugyanúgy, mint egymásba ágyazott ciklusokat. Volt, aki a méretoptimalizálásban követett el érdekes megoldásokat és volt, aki a vonal helyét határozta meg matematikusi pontossággal. Tehát minden kódban találtunk olyat, ami meghatotta érzékeny szívünket. Mindenkinek jár a bögre!
Az összes pályamunkát elérhetővé, elemezhetővé, láthatóvá tettük a tesztoldalon. Mindegyikbe belenyúltunk, hogy olvasható és mérhető legyen. A kiértékelés természetesen az eredeti kódok alapján történt, amelyeket egy zip állományban letölthetővé tettünk.
Köszönjük mindenkinek a lelkes részvételt, igen kiváló eredmények születtek!
A rénszarvas-project értékelése
A beküldési határidőre összesen 12 pályamű érkezett, a zsűri mindegyiket igen igényesnek találta. Beérkezési sorrendben néhány szó az alkotásokról:
- A vidám jószág az igényesség legmagasabb fokára jutott képzőművészeti alkotás. Jutalma egy NetAcademia bicska, a hátába :-)
- Bézier Bubu esetében jól látszik a lágy ívek iránt érzett olthatatlan lelkesedés, a női lelkületet tükröző alkotó jutalma egy IT Factory bögre.
- Geekdeer! Jessz! Ez igen! Ez a nemes vad egy külön kategóriát alkot, letisztultságával és formát nem bontó alakzatával méltán érdemel különdíjat. Jutalma egy IT Factory szerszámosláda!
- Cartondeer. A gyermekek megríkatására alkalmas, romantikus, és egyben pislogó patás díja egy bicska.
- A vidám rénszarvas és Rudolph, the Reindeer megosztott sokadik helyezést ért el a „hogyan rajzoljunk szarvast a Google legelső találata alapján” kategóriában. Szorgos munkájuk jutalma egy-egy IT Factory bögre.
- Itt a bőgés ideje. Zöld háttéren zöldszarvú szarvassal állunk szemben, mellyel alkotója bizonyára a természetközeliséget akarta kifejezni, ezt jól ellenpontozza a viszonylag idétlen „Yeee” kiáltás. Jutalma egy IT Factory bögre.
- Rémszarvas. Kiváló alkotás, szerzője bevallottan a plágium nevű képzőművészeti ág mestere, ezt az ábrát egy frankó eredetiről másolta. Vonalhűsége jutalmául IT Factory bögrében részesítjük.
- Rudolf Ausztráliában. Ez a vidám, infantilis alkotás a sugárzó napocskájával elnyerte a Mikulás különdíját, ami egy IT Factory szerszámosláda. Ha a Mikulás innen választana rénszarvast, ez a díszpéldány előkelő helyen állna a hámban.
- My Little Reindeer és Psychedelic. Ez a két alkotás ugyanazon műhelyből került ki, lerí róluk, hogy alkotójuk a legnygyobb mesterektől tanult. Disney iskolája után Andy Warhol műhelyében dolgozni, szép életpálya! Ez esetben gondban vagyunk a különdíjjal, Patrícia, örülnél egy frankó szerszámosládának? :-)
- ConnectorDeer. A kalandos életű pályamű (elveszett, megtalálták, elrabolták, meglett) különlegessége a maga nemében páratlan, a természetben ritkán előforduló konnektor orrkiképzés. Látható, hogy az evolúció a digitalizálódás felé vezet, a konnektor már legalább ráz, ha nem is digitális. Díja egy IT Factory bögre.
Beérkezett rénszarvas-pályaművek
Tovább a
Programozás .NET-ben képzéshez!