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