Webfejlesztés 2.

PHP beadandó feladat

Labirintus

Thészeusz kalandjai a szerveroldalon folytatódnak. A PHP-s beadandóban a JavaScript beadandóként elkészített játékot kell szerveroldali funkcionalitással kiegészíteni.

Feladatok

  • A játék főoldalán mindenki számára legyen elérhető az előző beadandóban elkészített 3 pálya. Ugyanezen az oldalon legyen lehetőség a bejelentkezésre, ugyanis a további funkciókat csak azonosított felhasználük érhetik el.

  • A bejelentkezéshez meg kell adni a felhasználónevet és jelszót. Regisztráció során a felhasználónév és jelszó mellett kérjük be a teljes nevét és e-mail címét is az illetőnek. Szabályok: mindegyik kötelező, az e-mail címben kell lennie @ karakternek.

  • Sikeres bejelentkezés után egy listaoldalra kerülünk. Két lista jelenik meg: az általunk szerkesztett pályák listája, és a velünk megosztott pályák listája. Mindkét táblázatban a következő oszlopok legyenek: pálya mérete, életerő, fáklya időtartama, illetve hogy sikerült-e megoldani. Az első táblázatban e mellett jelenjen meg a készítés ideje, a másodikban a megosztó e-mail címe.

  • Bármelyik pályára kattintva megjelenik az adott pálya oly módon, ahogy azt a JavaScriptes beadandóban elkészítettük. Egyetlen különbség, hogy most nincs lehetőség a teljes labirintust kivilágítani, csak fáklyafény van. A pálya sikeres vagy sikertelen megoldását követően térjünk vissza a listaoldalra.

  • A listaoldalon legyen lehetőség átmenni a pályaszerkesztő oldalra. Ezen meg kell adni az új pálya méreteit, életerőt és fáklyaidőt, majd valamilyen módon (táblázatban, canvasban, textareában) meg kell adni a labirintust. Ez történhet kézi megadással (valamilyen módon lehessen utat, falat, ételt, fáklyát, vizet, bozótost, kijáratot és Thészeuszt lerakni) vagy generálni is lehet a pályát. A szerkesztés végeztével mentsük el és térjünk vissza a lista oldalra. Ekkor a saját pályák között jelenjen meg az újonnan szerkesztett.

  • A játék oldalon legyen lehetőség a pályát megosztani másokkal. Ehhez egy vagy több e-mail címet kell megadni (pl. vesszővel elválasztva őket, vagy egy többsoros beviteli mezőben soronként), majd egy gombra kattintva AJAX technológiával az oldal újratöltése nélkül kerüljön a megosztás érvényesülésre. Ekkor azoknál a felhasználóknál, akiknek a regisztrált e-mail címe megegyezik a megadottal, megjelenik a pálya.

  • Az adatok tárolása fájlban történik.

Beadás

A megoldásokat a webprogramozas.inf.elte.hu szerverre kell feltölteni, és publikusan elérhetővé tenni. A kezdő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 beadphp mappában kell elhelyezni. Az állományhoz való hozzáféréssel kapcsolatban a JavaScript beadandónál leírt szabályokat érdemes követni.

Határidő: 2014. május 25. éjfél

Értékelés

Szempont Pontszám
Kezdőoldalon az első beadandó három pályája játszható kötelező
Bejelentkezési lehetőség kötelező
Regisztrálási lehetőség 1
Pályalista oldal: saját pályák megjelennek kötelező
Pályalista oldal: megosztott pályák megjelennek 3
Pályalista oldal: minden oszlop megvan 2
Játék a kiválasztott pályával kötelező
Nincs lehetőség az egész labirintust kivilágítani 1
Pályaszerkesztő oldal: adatok megadhatók, tábla szerkeszthető 5
Pályaszerkesztő oldal: pálya elmenthető, listában megjelenik 2
Megosztás: pálya megosztható 1 felhasználóval kötelező
Megosztás: pálya megosztható több felhasználóval 1
Nem a public_html/beadphp 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-15 0,5
11-12 0
< 11 -0,5