Proiectul a pornit de la ideea de a pune cuvinte cap la cap, pe un tabel de 'a' linii și
'b' coloane, folosind un algoritm de
backtracking.
Ce se poate urmări în clipul de mai jos, este varianta finală a proiectului.
Construirea algoritmului a trecut prin mai multe etape. Careurile de 4x4 și 5x5 fără pătrățele negre (#)
erau destul de ușor de
construit, dar de la 6x6 în sus, deja trebuiau folosite pătrățele negre. În prima fază am încercat să pornesc generarea
careurilor fără pătrățele negre și mai apoi să pun pătrățele acolo unde ar fi fost un loc greu de
găsit combinații, dar asta ar fi afectat toate combinațiile învecinate găsite.
Pe urmă am hotărât să generez mai întâi careul cu tot cu pătrățelele negre, iar cuvintele să fie completate
ulterior. Și aici a fost ceva de lucru pentru a poziționa pătrățelele negre în așa fel încât să fie la aprox.
o distanță de 5-6 pătrățele libere unele de altele.
Baza de date folosită este cea pusă la dispoziție de
dexonline.ro.
Felicitări oamenilor de acolo pentru treaba bună pe care o fac! :)
Site-ul în sine a durat cam de vreo 3 ori mai mult decât algoritmul de generare :)
De mare ajutor a fost și
librăria de JavaScript
folosită pentru rezolvarea propriu-zisă a rebusului. Deși au
trebuit făcute mici modificări pentru API-uri și browserele de mobil, a fost cea mai solidă librărie dintre cele încercate.
Ca să citez un comentariu dintr-o librărie, în traducere aproximativă:
"Pentru toți cei 3 oameni rămași care vor să le mai rezolve" :)
Care sunt tastele?
- Folosiți tastele cu săgeți ← ↑ → ↓ pentru a merge dintr-o căsuță a rebusului în alta.
- Tasta 'Tab' ⇥ vă va muta la definiția următoare.
- 'Spațiu' schimbă direcția în rebus (vertical/orizontal).
- 'Backspace' șterge conținutul căsuței și vă mută la cea anterioară.
- 'Delete' șterge conținutul căsuței fără a vă muta.
- Dați click pe o definiție pentru a merge la căsuța respectivă.
De ce să mă loghez sau să-mi fac cont?
Nu este necesar să vă faceți cont ca să dezlegați rebusuri pe site. Totuși, dacă vă faceți cont,
aplicația va ține minte progresul pe oricare din rebusurile începute chiar dacă părăsiți pagina.
De asemenea rezultatele vor apărea în clasament.
Cum rezolv un rebus?
Câteva linkuri utile despre cum se abordează rebusurile și cuvintele încrucișate,
din punct de vedere al definițiilor, găsiți pe
Wikipedia.ro
și
Rebusmania.com. Spor! :)
Cum știu dacă am rezolvat corect?
După ce au fost completate toate literele, cele greșite vor apărea cu roșu.
Dacă rebusul a fost rezolvat corect va apărea o notificare.
De ce nu se vede bine pe mobil?
Deși template-ul făcut cu Bulma este responsive, anumite elemente de Javascript care sunt folosite de
jocul de rebus mai trebuie ajustate. În principiu va funcționa bine și pe mobil.
Ar trebui să se vadă bine și să se poată rezolva rebusurile pe majoritatea browserelor de pe mobil.
Ce fac dacă găsesc o problemă pe site?
Vă rugăm trimiteți un mail. Click aici.
Voi putea să ma loghez sau să dau share cu Facebook?
Da. Se va lucra la asta.
Da. Se poate face login cu Facebook și se poate da share.
Cum fac să mai văd o dată fereastra aia enervantă pe care am vazut-o când am intrat prima dată pe site?
Puteți da click pe iconul următor
sau pe cel asemănător din meniul de sus. Va apărea același conținut ca și cel din fereastra de întâmpinare.
5 Septembrie 2018
v0.4:
- Fixat probleme de CSS datorate modificărilor din Bulma
- Adăugată validare pt poza de FB din pagina de clasament
25 Ianuarie 2018
v0.3:
- Adăugat reCaptcha pentru Signup
- Fixat buguri
20 Ianuarie 2018
v0.2:
- Opțiune de logare și share cu Facebook
- Layout responsive
- Fixate buguri pe mobil
- Pagină de clasament
- Testat pe urmatoarele browsere și sisteme:
-
MacOS Chrome
-
MacOS Firefox
-
MacOS Safari
-
Android Chrome
-
Android Firefox
17 Ianuarie 2018
Prima versiune online v0.1:
- Se pot crea conturi
- Se pot dezlega rebusuri
- Aplicația va ține minte rebusurile incomplete dacă utilizatorul este logat
- Se pot genera rebusuri cu cuvintele din baza de date, și se pot valida definițiile
- Aranjat interfața de interacțiune cu utilizatorul
- Fixat buguri