Ruzzle Solver

Inserisci le lettere nella griglia, modifica i moltiplicatori e visualizza come disegnare le parole migliori! Aiuta a far conoscere il servizio utilizzando i social network.

Dai uno sguardo al Raspberry Pi che gioca a Ruzzle!
Caricamento dizionario personalizzato...
Soluzioni
Ordine alfabetico Ordine per punti

Come si usa

Posiziona il mouse nella prima cella in alto a sinistra e comincia a scrivere le lettere della scacchiera di gioco, il cursore verrà automaticamente spostato nelle caselle successive.

multiplier Cambia i moltiplicatori cliccando nella parte in alto a sinistra della cella. In questo modo il risolutore non solo troverà le parole presenti, ma troverà il modo migliore per disegnare la parola sulla scacchiera, in modo da accumulare ancora più punti. I moltiplicatori servono anche per fare in modo che il risolutore calcoli il punteggio corretto di ogni parola e creare quindi una classifica corretta delle parole.

ruzzle solver Una volta che sono state inserite tutte le lettere sarà possibile cliccare sul pulsante “calcola” oppure premere invio. Verrà visualizzata la lista delle parole ed il loro relativo punteggio. Se non riesci a capire come disegnare una parola, o se vuoi semplicemente che il risolutore ti suggerisca il modo di disegnare la parola per avere più punti, muovi il mouse sopra la parola per visualizzare nella scacchiera il modo di disegnarla.

Una volta che finita la partita, premi il tasto “Svuota” e continua a vincere!

Shortcut per i professionisti

Per essere più veloce a scegliere i moltiplicatori, puoi premere spazio (oppure utilizzare i numeri da 0 a 4) prima di digitare una lettera. Puoi utilizzare Tab ed Maiusc+Tab per andare avanti ed indietro tra le caselle.

Puoi cliccare su una riga delle soluzioni per bloccarne la selezione, in questo modo anche muovendo il mouse, i passi per disegnare la soluzione non verranno cancellati. Una volta che hai bloccato la selezione di una riga puoi muovere la selezione solamente utilizzando i tasti Su e Giu. In questo modo aumenterai di molto la velocità di scrittura delle parole del gioco. Una volta bloccata una riga, puoi sbloccarla cliccandoci nuovamente.

Perché

Premetto di non essere un fallimento totale a questo gioco, ho sempre giocato con il Paroliere ed ho trovato Ruzzle un gioco sicuramente degno del successo che ha avuto. Giocando con mio fratello mi sono però accorto che il gioco può essere messo in pausa e fatto ripartire in un secondo momento, oppure si può allungare il tempo di gioco: il gioco non è quindi infallibile, quello che bara è sempre dietro l’angolo.
Anche un risolutore di questo tipo è criticabile, chi lo usa sta sicuramente barando. Su google si possono trovare mille risolutori simili cercando parole come “Trucchi Ruzzle”, “Ruzzle cheater”, “Ruzzle Solver”, “Ruzzle cheat”, “cheat for Ruzzle”, “how to cheat on Ruzzle”; di certo il modo per barare non manca. Il consiglio che vi do è di utilizzare questo strumento solo per riuscire a difendervi da chi vuole fare il furbo, ma non rovinate questo bellissimo gioco!

Come funziona

Il dizionario italiano conta circa 600.000 termini; facendo un po’ di conti riuscite bene a capire che analizzarli tutti non è qualcosa che si fa in un batter d’occhio.
Fare un programmino che calcola queste soluzioni, sul vostro computer, è semplice da fare. Non è altrettanto semplice fare la stessa cosa su un sito, dove potenzialmente potrebbero arrivare molti visitatori. Questa piccola sfida ingegneristica è stata una delle motivazioni che mi ha spinto a fare questo tool. Ecco il perché vi spiego come ho risolto.

Un algoritmo in PHP che analizza tutte queste parole ci mette diversi secondi, e se poi pensiamo che questa pagina internet verrà vista molte volte, direi che, più o meno, il sito risulterebbe costantemente irraggiungibile.
Se lascio calcolare la soluzione al client, con un algoritmo in Javascript, le cose sono leggermente differenti, utilizzando Chrome ed il suo potente V8 riuscite a cavarvela in una manciata di secondi. Occorre però che vi scarichiate 9MB di dizionario ogni volta che aprite questa pagina, e ciò sappiamo che mi esaurirebbe la banda disponibile in poco tempo.
Ho deciso invece di adottare una soluzione ibrida, ricorrendo alla potenza di C++, che analizza tutte le 600.000 parole e cerca di capire se queste sono presenti nella scacchiera. Quest’ultimo crea, in pochi millesimi di secondo, un piccolo sottoinsieme dell’enorme dizionario. L’algoritmo in Javascript quindi scarica solamente questa piccola porzione del dizionario, e può analizzare in tutta tranquillità ogni parola, per riuscire a trovare il modo migliore per disegnarla, considerando tutti i moltiplicatori che sono stati inseriti e ordinando i risultati in base ai punti.
Facendo in questo modo il sistema riesce a calcolare istantaneamente la soluzione, senza soffrire con molti utenti.

Per avere approfondimenti su questo algoritmo, potete anche consultare quest’articolo che parla dei vari metodi per risolvere questo problema.