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 19. 09:00 (automatikus mentéssel készül egy a határidő pillanatában feltöltött anyagokat tartalmazó csomag).
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. Felesleges fájlok feltöltése
pontlevonással jár.
É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, illetve ha a feltöltésben felesleges fájlokat találunk.
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: Sávos csatázós
A képernyő két oldalán a két játékos táborai vannak. Át lehet küldeni katonát a rendelezésre álló néhány sáv valamelyikén. Ha egy sávban két ellenséges katona találkozik, típusuk szerint megküzdenek, és a győztes (esetek többségében legyengülve) továbbhalad. Ha egy katona átér az ellenséges táborba, akkor egy a harc állását jelző érték a győzelem irányába módosul, és valahány ilyen egység után nyer a csapat. Legalább kétféle katonát kell csinálni.
flash , max 30 pont
6: 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
7: 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
8: 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
9: 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