Centre: Institut Esteve Terradas i Illa (Cornellà de Llobregat)
Cicle: Desenvolupament d'aplicacions web
Inici: 6 de octubre de 2026
Final: 29 de octubre de 2026
El penjat és un joc de mots en què l’objectiu és tractar d’endevinar una frase curta. Com a pista, s’indica el nombre de paraules i de lletres que formen la frase, representant cada lletra amb una ratlla horitzontal. El jugador van dient una lletra a cada torn; si aquesta es troba en la frase secreta, s’escriu a tots els llocs on apareix i, si no, s’afegeix un traç al dibuix del penjat. El joc finalitza quan s’acaba el dibuix abans d’endevinar la frase secreta, o bé quan la frase és descoberta.
Inici: 6 de octubre de 2026
Final: 15 de octubre de 2026
Hores estimades totals: 0
Inici: 15 de octubre de 2026
Final: 22 de octubre de 2026
Hores estimades totals: 0
Inici: 22 de octubre de 2026
Final: 29 de octubre de 2026
Hores estimades totals: 0
hores estimades: 0,0 Mòduls: MP08
hores estimades: 0,0 Mòduls: MP09
hores estimades: 0,0 Mòduls:
hores estimades: 0,0 Mòduls: MP09
hores estimades: 0,0 Mòduls:
Quan accedim a la pàgina index.php el servidor retornarà un html amb:
- Títol de la aplicació
-Descripció del joc + image
-Input per introduir el nom
-Select per seleccionar el nivell de dificultat, hi ha tres, per exemple: fàcil, normal i difícil. Es poden adaptar segons la temática.
-Botó per iniciar el joc
- Enllaç per visitar el ranking.
hores estimades: 0,0 Mòduls: MP06 MP07 MP08 MP09
Iniciarem el joc si hi ha un nom vàlid (redireccionar a la pàgina play.php, si el camp nom està buit comuniquem l'error al usuari sota el input en vermell i possem el focus al input (no fem cap redirecció).
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
Quan carreguem aquesta pàgina segons el nivell de dificultat escollit carregarem aleatoriament una frase d'aquell nivell de dificultat i presentarem una pàgina amb:
-La frase escollida aleatoriament pel servidor amagada, només apareix el símbol "_" per cada caràcter de la frase curta.
- El dibuix (imatge) del penjat
-Un teclat visual (només lletres)
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
El jugador clica (amb el ratolí) una tecla del teclat visual.
-Si la lletra està present a la frase actual:
-Es senyalitza aquella lletra com a CORRECTA (color)
-Si la lletra NO està a la frase actual:
-Es senyalitza aquella lletra como a INCORRECTA (color)
- El dibuix del penjat evoluciona
hores estimades: 0,0 Mòduls: MP06 MP09
Després de senyalitzar una lletra com a correcta o incorrecta s'ha de comprobar que:
Si es cumpleix cap de les opcions anteriors, es mostrarà la pàgina gameover.php
hores estimades: 0,0 Mòduls: MP06 MP09
A l'acabar la partida (game over) s'ofereix l'usuari de registrar el seu rècord (pot no fer-ho).
Si accepta, s'enregistra el rècord en un arxiu.
Es mostra el rànking i es ressalta la puntuació que acaba d'aconseguir l'usuari.
Es mostra el rànking de rècords en format zebra (diferent color per cada línia).
hores estimades: 0,0 Mòduls: MP06 MP09
hores estimades: 0,0 Mòduls: MP06 MP09
hores estimades: 0,0 Mòduls:
hores estimades: 0,0 Mòduls:
hores estimades: 0,0 Mòduls: MP06 MP09
Aquesta pàgina mínim ha de contenir dos enllaços per ajudar al visitant a moure's per la nostra pàgina: a l'index i al ranking.
L'arxiu s'anomena error404.php
hores estimades: 0,0 Mòduls: MP08 MP09
L'arxiu s'anomena error403.php. Es un error de "Forbidden" ha d'estar personalitzada amb la tematica del projecte.
hores estimades: 0,0 Mòduls: MP06 MP07 MP08 MP09
hores estimades: 0,0 Mòduls: MP06 MP09
Un administrador pot entrar al panell de control de l'aplicació visitant /admin
Les credencials estaran emmagatzemades a /admin/credentials.txt
Si no estic logat, veiem el formulari de login.
Un cop logat es mostrarà /admin/index.php que oferirà les opcions:
Només cal implementar el logout. L'arxiu serà admin/logout.php i un cop
hores estimades: 0,0 Mòduls: MP07 MP09
Els arxius de /admin son: index.php (llistat), login.php, logout.php, delete_sentence.php, create_sentence.php
hores estimades: 0,0 Mòduls: MP07 MP08 MP09
L'administrador podrà visualitzar un llistat de frases per nivell de dificultat.
El llistat ha de tenir format zebra (canvi de color de línies parells i senars).
Hi haurà un botó d'eliminar per cada frase (SUBMIT POST, no ajax). Si es prem, elimina la frase. Ha d'haver-hi un missatge (feedback) tant si s'esbrorra (èxit) com si no (errors).
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
Els arxius de credencials (admin/credentials.txt) i els llistats de frases (sentences.txt) han d'estar protegits i no es poden visitar amb el navegador. Si s'intenta accedir mostrarà un 403.
hores estimades: 0,0 Mòduls: MP08
L'administrador podrà afegir una nova frase a qualsevol dels nivells de dificultat.
Les frases apareixeran als jugadors de forma aleatòria dins del nivell triat.
L'arxiu és create_sentence.php.
Ha d'haver-hi un missatge tant si es crea la frase (èxit) com si no (errors).
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
Si la sessió esta iniciada, quan es motra el nom també apareix un enllaç amb el text "Tancar sessió" que apunta a logout.php i aquest destrueix la sessió (si existeix o no) i redirecciona sempre a index.php
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
Sessió: en totes les pàgines de la zona admin apareix el nom de l'usuari administrador i un enllaç ràpid per tancar sessió.
La sessió de jugador es diferent a la sessió de admin, si es tanca una no afecta a l'altre i viceversa.
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
hores estimades: 0,0 Mòduls:
hores estimades: 0,0 Mòduls: MP09
hores estimades: 0,0 Mòduls: MP09
Apareix un cronòmetre a la part dereta de la pantalla de joc que s'inicia quan apareix la frase i s'atura quan s'arriba al final de la partida.
Aquest temps s'ha de tenir en compte en la puntuació final i també ha d'apareixer en el rànking
A la wiki de github s'ha de definir el calcul intern de la nova puntuació.
hores estimades: 0,0 Mòduls: MP06 MP09
Cada acció/formulari crea un registre a l'arxiu de logs. Per exemple: Iniciar joc desde la pantalla de inici, enregistrar ranking, login i logout de admin, logout de jugador. Esborrar una frase, crera una nova frase...
Mínim ha de contenir la data, l'arxiu a on es genera el log i el missatge a enrgistrar.
L'arxiu es troba a /admin/logs.txt.
L'arxiu no es accesible desde el web, i retorna un 403 en cas d'intentar accedir directament.
hores estimades: 0,0 Mòduls: MP07
Afegir un paginador (25 resultats per pàgina) a les pàgines de ranking, admin/list_sentences i admin/logs. El paginador funciona amb GET parameters.
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
Llistar el logs en format taula (amb estils zebra).
A la pantalla d'inici de admin apareix un nou enllaç que apunta a llistar el logs.
L'arxiu s'anomena: list_logs.php
hores estimades: 0,0 Mòduls: MP06 MP07 MP09
hores estimades: 0,0 Mòduls: MP06 MP09