Első beadandó feladatok
Szükséges formai követelmények
A feltöltött beadandónak le kell fordulnia. Tartalmaznia kell legalább egy struct-ot, aminek rejtett minden mezője.
Szükséges funkcionális követelmények
A program futtatásakor minimum annak ki kell derülnie, hogy a felsorolt feladatok melyikét akarja megoldani (szöveges információk figyelembe vétele nélkül). Ennek a feltételnek szélsőséges megsértésére példa a Hello world program.
A programból akármikor ki kell tudni lépni az Esc gomb lenyomásával.
A program tartalmaz főmenüt, amit egérrel és/vagy billentyűzettel lehet vezérelni, és tartalmaz hasonló game over képernyőt is.
Az értékelés során a szöveges konzol tartalmát nem vesszük figyelembe, ezért a cin-t egyáltalán ne használjátok, a cout-ot pedig legfeljebb debug célokra.
A felsorolt követelmények szükséges, és nem elégséges feltételek.
Másolás
A beadott programokat megvizsgáljuk, hogy van-e közös eredetű forrás. Azonos kódrészletek, vagy azonos felépítés mellett kicserélt változónevek esetében felmerülhet a gyanú, hogy az egyik hallgató kódrészletet használt fel egy másik beadandójából, ami tilos. A másolás bebizonyosodása minden érintett számára a beadandóra kapható maximális pont negáltja.
Határidő
A program leadási határideje március 18. 04:00 (hajnalban, automatikus mentéssel készül egy a határidő pillanatában feltöltött anyagokat tartalmazó csomag). Egy héttel hamarabb leadva 30 pont helyett 35 pontot érhet a beadandó, két héttel hamarabb leadva 40-et.
A fájlokat a bead1 könyvtárba kell feltölteni, alkönyvtárak nélkül, kizárólag a .cpp fájl(oka)t, és az esetleges szükséges grafikai tartalmakat. Ha nincs bead1 könyvtárad, járj el a tárgy weboldalán leírtak szerint.
Értékelés
A 30 pontos program 15 pontot kaphat a feladat által megkívánt funkciók teljesítésének minőségére. Kisebb hibák (pl. enyhén villogó objektumok, nehézkes, de lehetséges irányítás) még nem feltétlenül jelentenek pontlevonást, súlyosabb hibák (pl a kocsi átmegy a falon) pontlevonással járnak. A kód szervezése, külalakja maximum annyi pontot ér, amennyit a funkcióra kapott a program. Ebből lesz levonás olyan esetekben, ha a struct-ok szervezése nem tükrözi a fogalmak megértését, felesleges refreshek lassítanak, vagy például több, mint háromszor szerepel olyan kód a programban megismételve, amit kényelmesen ki lehetett volna emelni ciklusba/függvénybe.
A határidőnél korábban leadott programoknál a pontszámok szorzódnak, az elérhető maximális pontszámok (eredeti illetve határidő előtti) arányában. Például ha egy programra a 30 pontból 23 jár, de egy héttel hamarabb lett leadva, akkor a pontszám = 23 *(35/30) = 27 (26.83)
Azok a programok, amik nem tartalmaznak több eseményciklust, elvesztett pontokat visszakaphatnak.
Választható feladatok
1: Kockás
A képernyőn a játékos egérrel egy négyzetet irányít. A négyzet mindig az egér által mutatott ponton van. A képernyőre folyamatosan érkeznek pontot érő objektumok, és kikerülendő, más színű objektumok. Ha a kikerülendő objektum metszi a négyzetet, a játék véget ér. Ha a négyzet érint egy pontot érő objektumot, a pontszám megnő, és a négyzet is nagyobbá válik, így egyre nehezebb kikerülni vele a veszélyes objektumokat.
flash , max 20 pont
2: Repülős lövős
A játékos billentyűzettel vagy egérrel irányít egy repülőt, ami felfelé vagy oldalra mozogva látszik (háttéren lehet animálni a mozgás hatását keltve, ez legegyszerűbb fekete háttéren fehér pöttyökkel, ezért voltak a korai játékok zömmel űrhajósok). Szembe ellenfelek érkeznek, akiket megérintve elfogy egy élet, lelőve nő a pontszám.
flash , max 20 pont
3: Autós
A képernyőn egy felfelé néző autót lehet jobbra-balra irányítani, az út pedig lefelé mozogva kanyarog. Ahogy telik az idő, az út egyre szűkül. A játékosnak az úton kell tartania az autót, az út menti fal érintésével vége a játéknak. A pontszám a megtett út. max 25 pont.
4: Tankos
Egy tankot lehet mozgatni a billentyűzettel, aminek a csöve az egér felé néz, és egérgombra lő. Ezzel kell lelőni egy véletlenszerűen mozgó, rendszeresen a játékos irányába lövő ellenfelet. Az irányítás lehet abszolút (arra mozog, amerre a kurzorbillentyűn a nyíl mutat), vagy relatív (a fel előre, a le hátra mozog, az oldalirányok forgatják a tankot)
flash (relatív irányítással), max 25 pont
5: Kígyós
Egy kígyót lehet irányítani egy legalább egy belső falat is tartalmazó pályán. A kígyóval nem szabad falnak, és a saját testnek nekimenni. Pontot a pályán véletlenszerűen elhelyezett objektumok érintésével lehet szerezni, amitől a kígyó hossza mindig megnő. Nem kötelező 90 fokban fordulni, ha van kedved, körökből álló, folyamatosan forduló kígyót is használhatsz.
flash , max 30 pont
6: Tetris
Vesszük a négy négyzetből oldaluknál való illesztéssel kirakható idomokat. Ilyen idomokat kell elhelyezni egy veremben, ahol az idom addig esik lefelé, amíg a már benne levő elemekkel alulról nem érintkezik. Ha a megérkezés pillanatában egy sor (ami 8 mező széles) minden mezője ki van töltve, az a sor eltűnik, és a felette levő sorok lejjebb esnek.
flash , max 30 pont
7: Holdraszállós
Egy holdkompot lehet irányítani billentyűzettel: jobbra, balra, és felfelé lehet gyorsítani. A kompra folyamatosan hat a gravitáció. A pályán található egy zöld színnel jelzett vízszintes szakasz. A játékot úgy lehet megnyerni, ha a komp úgy érinti meg ezt a mezőt, hogy a sebessége a földetérés pillanatában elegendően alacsony.
flash (a forgatás nem feladat, elég az eltolás), max 30 pont
8: Falbontós
A játékos egy vízszintesen mozgó ütőt irányít, ami egy golyó visszapattintására alkalmas, amennyiben eltalálja. A pálya másik felében bontható négyzetek vannak, amik visszaütik az őket eltaláló golyót, de ettől eltűnnek. A feladat minden négyzet eltüntetése. Az ütő és a golyó helyzete a találkozás pillanatában befolyásolja a pattanás szögét.
flash, max 30 pont