023df382f0088d62c3caefebfe88c8096aaaa857
Buton "Vezi diploma" pe finale (+ "Joaca din nou"). Overlay #diploma: certificat A4 portret alb, chenar dublu accent, titlu serif (singurul), numele copilului = cel mai mare element. - buildDiploma(): rand de stele per camera (roomStars[], persistat in resume; camere sarite = 🔒 "sarita"), cuvant magic in dale (lacate pt sarite), footer = data + "creat de {creator}" + marcaj auriu "timpul a expirat" - camp builder nou: creator ("Creat de") - @media print izoleaza #diploma (rest visibility:hidden, margin 20mm, print-color-adjust:exact) - exemplu-campanie.html regenerat Smoke 31/31 (test nou "diploma": nume/titlu/stele/cuvant/creator/inapoi) + screenshot scratch/diploma.png (A4, camera sarita, footer expirat). Cluster T10/PR2 complet (D7 + Timer + Muzica + Diploma). Ramas Etapa 2: Adventure Mode v0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Escape Room Builder
Generator de jocuri escape room intr-un singur fisier HTML, fara backend, fara build. Acelasi set de puzzle-uri poate fi exportat in 5 stiluri de joc diferite.
Folosire
Deschide escape-builder.html in browser (dublu-click, merge si de pe file://).
Pe un mediu fara desktop (container/server remote), serveste fisierele static si deschide din browserul tau:
cd /workspace/escape-builder
python3 -m http.server 8000
Apoi navigheaza la http://<IP-server>:8000/escape-builder.html (in containerul curent: http://10.0.20.171:8000/escape-builder.html).
- Stanga: editor — titlu, poveste, culoare, stil joc, puzzle-uri (raspuns liber / adevarat-fals / variante), indiciu si litera per puzzle.
- Dreapta: preview live — jocul exact cum va arata, jucabil direct in pagina.
- Exporta jocul HTML: descarca un joc standalone pe care il trimiti pe telefon/email; merge offline.
- Salveaza / Incarca JSON: pastreaza proiectul ca fisier ca sa-l reiei mai tarziu.
Proiectul curent se salveaza automat in localStorage la fiecare modificare.
Stiluri de joc
| Stil | Mecanica | Exemplu |
|---|---|---|
| Clasic (quiz) | Carduri secventiale cu progres si litere | exemplu-clasic.html |
| Terminal retro | Text adventure pe ecran CRT verde; scrii comenzi (INDICIU, LITERE) si raspunsuri | exemplu-terminal.html |
| Arcade pixel | Te misti cu sagetile/WASD prin camere; usile incuiate pun intrebari, cufarul final e scaparea | exemplu-arcade.html |
| Story chat | Un personaj blocat iti scrie mesaje (typing...); il ajuti raspunzand din composer | exemplu-chat.html |
| Point-and-click | Camera ilustrata SVG; dai click pe obiecte (ceas, tablou, seif...), le rezolvi si deschizi usa | exemplu-point.html |
Mecanici comune
- Stele: 3 la prima incercare, 2 la a doua, 1 daca folosesti indiciul sau gresesti de mai multe ori.
- Fiecare puzzle poate da o litera; literele formeaza cuvantul final, dezvaluit la castig (cu confetti, in functie de stil).
- Sunete WebAudio la corect/gresit; raspunsurile se compara fara diacritice si fara majuscule.
- Toate motoarele de joc impart aceeasi biblioteca (config, scor, verificare raspuns, modal, ecran final) generata din builder.
Testare
Suita de teste Playwright (smoke + campanie), fara server, direct pe file://:
npx playwright test tests/smoke.mjs # toata suita (26/26)
npx playwright test tests/smoke.mjs --grep @regresie
npx playwright test tests/smoke.mjs --grep @campanie
Detalii harness in tests/AGENTS.md.
Description
Languages
HTML
86.3%
JavaScript
13.7%