Webfejlesztés 2.

JavaScript beadandó feladat

Labirintus

"Kréta szigetén élt egy szörny egy labirintusban, akit Minótaurusznak hívtak. Mínosz király knószoszi csodaszép palotájában állt ez a labirintus, szövevényes útvesztőiből ember még élve nem került ki, mert a bikafejű ember testű szörny felfalta az áldozatul odaküldötteket." A monda szerint a szörnyet az ifjú Thészeusznak sikerült legyőznie, aki nagyon elgyengült a harcban. Thészeusznak a kezében csupán egyetlen fáklya ég, az sem sokáig, és minden lépéssel gyengül az ereje. Sajnos most nem segített neki a szépfürtű Ariadné, így Neked kell segíteni Thészeusznak kijutni a labirintusból, mielőtt végképp elgyengül.

Szabályok

A labirintus egy NxM elemből álló játéktábla, amely alapvetően kétféle elemből: falból és padlóból épül fel. A játékmezőt mindenhol fal veszi körbe, csupán egy helyen van rajta kijárat, ide kell Thészeusznak eljutnia, akinek a kiindulási pontja valahol a labirintus gyomrában van.

A labirintusban nincsen világítás, csupán Thészeusz fáklyája világítja meg az utat két mező távolságra, azaz a főhős körül egy 5x5-ös négyzetben, de a falakon a fáklya sem tud átvilágítani.

Thészeusz kiindulási pontja valahol a labirintus gyomrában van. Irányítása a billentyűzet kurzorbillentyűivel történik, egyszerre egyet léphet vízszintesen vagy függőlegesen.

Kezdetben Thészeusznak van valamennyi életerő pontja, és a fáklyájának égési ideje másodpercben. Minden lépéssel az életerő pont eggyel csökken, a fáklya égési ideje pedig az eltelt időnek megfelelően fogy. Elérve a kijáratot írjuk ki a hátralévő időt és az életerőpontot.

Speciális mezők:

  • víz: erre lépve az életerő két ponttal csökken.

  • bozótos: erre lépve az életerő tíz ponttal csökken.

  • étel: erre lépve az életerő 20 ponttal nő. Lelépve eltűnik.

  • fáklya: erre lépve újra a teljes idő áll a feladat elvégzésére. Lelépve eltűnik.

Elérhető funkciók:

  • Legyen lehetőség a játék félbehagyására, és visszatérni a pályaválasztóhoz.

  • Legyen lehetőség a labirintus világítását be-, illetve kikapcsolni (a könnyebb tesztelés végett).

Pályák

A játékban legyen lehetőség három különböző méretű pálya közül választani:

  • 5x5

  • 10x10

  • 15x15

Megjelenés

A pályák grafikai elemeire és a dizájnra nincsenek megkötések. Egy pályának tartalmaznia kell:

  • a labirintust

  • a hátralévő időt kiírva

  • a hátralévő időt színes sáv formájában

  • életerő pontot kiírva

  • életerő pontot színes sáv formájában

  • funkciógombokat

Beadás

A megoldásokat a webprogramozas.inf.elte.hu szerverre kell feltölteni, és publikusan elérhetővé tenni. Az oldalra való hivatkozást a gyakorlatvezetőnek kell elküldeni e-mailben.

A webprogramozas szerveren a beadandót a public_html mappán belül egy beadjs mappában kell elhelyezni. Annak érdekében, hogy más ne férjen a mappán belüli fájlokhoz, adjunk egyedi nevet az állományoknak (pl. ne index.html és bead.js legyen az állományok neve). A beadjs mappát érdemes 711-es jogosultsággal ellátni, azaz a csoportnak és másoknak csak X jogot adni (pl. WinSCP-ben jobb gomb/Tulajdonságok párbeszédablakban).

Határidő: 2014. április 13. éjfél

Értékelés

Szempont Pontszám
Labirintus megjelenik kötelező
Hős mozgatása kurzorbillentyűkkel kötelező
Idő kijelzése: számokkal kötelező
Életerő kijelzése: számokkal kötelező
Kijárathoz érkezés ellenőrzése kötelező
1 pálya kötelező
Pályaválasztó képernyő 1
Három pálya 3
Fáklyavilágítás 5x5-ös mezőben 4
Idő kijelzése: sávval 1
Életerő kijelzése: sávval 1
Speciális mezők 3
Labirintus világítás ki-/bekapcsolása 3
nem a public_html/beadjs mappába van feltöltve nincs beadva
1 hét késés -2
2 hét késés -4
2 hétnél több késés nincs elfogadva (nincs jegy)
Pontszám Értékelés
13-16 0,5
10-12 0
< 10 -0,5