Webfejlesztés 2.

JavaScript beadandó feladat

Robotok

Jónás, a kalandor éppen a világ megmentésén fáradozik. Ennek érdekében betört a hírhedt Robokos de Gonos szupertitkos laboratóriumába, hogy a világ elpusztítását végző szerkentyű terveit ellopja. Már kifele tartott az épületkomplexum melletti réten, amikor a lopást felfedezték, és Jónás nyomába számtalan robot eredt minden irányból, hogy elkapják. Segíts Jónásnak megszabadulni a robotoktól és elmenekülni a tervekkel. A világnak szüksége van Rád!

Képernyőkép a GNOME-os verzióból (többféle robot van)

Képernyőkép a GNOME-os verzióból (többféle robot van)

Szabályok

A rétet egy NxM-es pályának feleltethetjük meg, amelyen K darab robot helyezkedik el véletlenszerűen, valamint Jónás helyzete is véletlenszerű a játék kezdetén.

Minden lépésben a játékos lép egyet Jónással a 4 irány (opcionálisan a 8 irány) valamelyikébe, és ezt követően minden robot a lehető legrövidebb úton szintén lép egyet a játékos felé. Ha két robot azonos mezőre lép, akkor mindkettő megsemmisül, helyükön csupán csak egy roncs marad. Ha egy robot roncsra lép, akkor is megsemmisül, és roncs lesz belőle. Ha Jónás robottal vagy ronccsal találkozik, akkor meghal és a világ elpusztul. A pályáról lelépni nem lehet.

Mint minden akcióhősnek, Jónásnak is van egy olyan kütyüje, amely segítségére van. Ennek segítségével képes a pályán egy másik helyre teleportálni. A teleportálás lépésnek számít, azaz a robotok az új hely felé lépnek. A teleport biztosan olyan helyre visz, ahova nem lép robot, viszont akkumulátora csak néhány biztonságos teleportálást enged meg, utána nem garantálja a hely biztonságát.

A játékos akkor nyer, ha minden őt üldöző robotot megsemmisített.

A játék során számoljuk a megtett lépéseket. Ez a szám nulláról indul és

  • Jónás minden lépésénél eggyel csökken;
  • robot megsemmisülésekor robotonként 20-szal nő;
  • teleportálásákor 100-zal csökken.

A játék több pályából álljon. A játék elején űrlapmezők segítségével legyen lehetőségünk beállítani:

  • a pálya méreteit (N és M)
  • a biztonságos teleportálások maximális értékét.

Az első pályán 10 robot legyen. Ha Jónás sikeresen megsemmisítette a robotokat, akkor a következő pályán (amely ugyanúgy NxM-es) már 10-zel több robot legyen, és így tovább, minden sikeres pálya után 10-zel több robot kerüljön fel véletlenszerűen a pályára. A játék akkor ér véget, ha Jónást mégis csak elkapják a robotok. (De addig is minél többször mentse meg a világot!) A pontszám természetesen a játék elején 0-ról indul, és a következő pályára lépéskor nem 0-ázódik le, hanem visszük tovább a pontszámot. A következő pályán a biztonságos teleportok újratöltődnek.

A játékot a kurzorbillentyűkkel lehessen irányítani. Ha 8 irányba lehet lépni, akkor természetesen alternatív billentyűkiosztás szükséges. Opcionálisan lehessen az egérrel is irányítani a játékot: a pályára kattintva Jónáshoz képest relatívan a megfelelő irányba mozog. Ebben az esetben valahogy jelezzük, hogy ha kattintunk, akkor várhatóan merre lép el Jónás.

Pontozás

Kötelező (enélkül nincs jegy):

  • A paraméterek beállíthatóak, és ezeknek megfelelően a pálya, a robotok és Jónás megjelenik.
  • Jónás a kurzorbillentyűkkel 4 irányban mozgatható.
  • Jónás mozgására a robotok Jónás felé mozognak.
  • Két robot ütközésekor azok megsemmisülnek.
  • Az összes robot megsemmisülésekor vége a játéknak.

Nem kötelező

  • Két robot ütközésekor helyükön roncs lesz a pálya végéig. (1 pont)
  • Roncsnak ütközve a robotokból roncs lesz. (1 pont)
  • A játék számolja a lépéseket, és ezt a felületen megjeleníti. (1 pont)
  • Sikeres pálya után a következő szinten 10-zel több robot jelenik meg, a teleport újra fel van töltve, folytatható a játék. (1 pont)
  • 8 irányban mozgatható Jónás. (1 pont)
  • Egérrel is irányítható Jónás. (1 pont)
  • Nincs nagyobb programhiba, nem csalhatók elő furcsa jelenségek (1 pont)
  • 1 hét késés (-1 pont)
  • 2 hét késés (-2 pont)
  • 2 hétnél több késés (nincs elfogadva a beadandó, nincs jegy)

Értékelés:

  • 0-2 pont: -0,5
  • 3-4 pont: 0
  • 5-7: +0,5

Beadás

A megoldásokat tartalmazó mappát zip formátumban össze kell tömöríteni, és a webprogramozas.inf.elte.hu szerver beadási felületén kell feltölteni.

Határidő: 2015. április 7. éjfél