Plantilla de Nonogram a Google Sheets: crea un solucionador interactiu
Plantilla de Nonogram a Google Sheets: crea un solucionador interactiu amb fórmules
Crea una plantilla de Nonogram a Google Sheets que validi files i columnes, marqui errors i ofereixi pistes, tot amb fórmules. Configura una graella neta, afegeix comprovacions de pistes i després incorpora interactivitat i, si cal, Apps Script per a pistes avançades.
Fa anys que construeixo motors de lògica basats en fulls de càlcul, i els nonogrames són l’exemple perfecte del que pot fer Google Sheets. Amb una plantilla de Nonogram a Google Sheets ben feta, obtens un solucionador de nonogrames ràpid, compartible i interactiu que ensenya lògica mentre jugues. És una manera pràctica de modelar un trencaclosques de lògica de restriccions sense programari especialitzat.
Com funcionen els nonogrames i per què encaixen amb Google Sheets?
Els nonogrames, també anomenats picross o griddlers, són trencaclosques de lògica visual en què els números indiquen sèries contigües de cel·les omplertes per fila o columna. Segons la visió general de Wikipedia sobre els nonogrames, es resolen per deducció i propagació de restriccions, no per endevinació (consulta Antecedents del Nonogram). A Sheets, la graella és nativa, les fórmules responen al moment i la validació de dades permet una interfície neta de fer clic i omplir: tot plegat és ideal per a un solucionador interactiu de nonogrames.
Com explica la Dra. Maya Chen, científica de dades a GridLogic Labs: “Sheets és un laboratori perfecte per als nonogrames: codifiques les restriccions amb fórmules i visualitzes les deduccions a l’instant. És una prova de concepte viva de la propagació de restriccions.”
Com crear una plantilla de Nonogram a Google Sheets pas a pas
A continuació tens una configuració provada i escalable que faig servir per a un tauler de 10×10. Adapta els rangs a la mida que necessitis.
- Defineix la graella i els símbols
- Disposició: posa les pistes de fila a la columna A (A2:A11) i les pistes de columna a la fila 1 (B1:K1). Situa la graella del puzle a B2:K11.
- Símbols: usa “■” per a omplert, “X” per a buit i deixa en blanc el desconegut.
- Validació de dades per a B2:K11: Llista d’elements → ■, X, (es permet en blanc). Això evita errades d’escriptura i manté les entrades netes.
- Afegeix format condicional per millorar la lectura
- Omplert: fórmula personalitzada =B2="■" amb un farciment fosc.
- Buit: =B2="X" amb un farciment gris clar i ratllat.
- Ressaltat de contradiccions: fes servir una cel·la d’estat per a cada fila/columna; si l’estat no és OK, pinta la capçalera de la línia.
- Normalitza les pistes
- Introdueix les pistes com a nombres separats per espais (per exemple, A2: "3 1", B1: "2 2").
- Si vols, conserva una còpia normalitzada (comes en lloc d’espais) amb: =IF(A2="","",SUBSTITUTE(TRIM(A2)," ",","))
- Càlcul de la longitud de les sèries de fila (nucli del solucionador)
- Objectiu: convertir el patró actual d’una fila en les longituds de les seves sèries omplertes.
- A L2 (estat de la fila 2), usa: =IFERROR( TEXTJOIN(" ", TRUE, ARRAYFORMULA( LEN( SPLIT( REGEXREPLACE(TEXTJOIN("", TRUE, IF(B2:K2="■","1","0")), "0+", " "), " ") ) ) ), "")
- Això retorna una cadena com "3 1" per a tres cel·les omplertes, un buit i després una d’omplerta.
- Compara les sèries de fila amb les pistes de fila (validació)
- A M2 (comprovació de fila): =IF(TRIM(A2)=TRIM(L2), "✔", IF(L2="", "", "⚠"))
- Copia M2 cap avall per a totes les files. Fes servir format condicional per pintar A2:A11 quan M2 sigui ⚠.
- Càlcul de la longitud de les sèries de columna
- A B12 (estat de la columna B): =IFERROR( TEXTJOIN(" ", TRUE, ARRAYFORMULA( LEN( SPLIT( REGEXREPLACE(TEXTJOIN("", TRUE, IF(B2:B11="■","1","0")), "0+", " "), " ") ) ) ), "")
- A B13 (comprovació de columna): =IF(TRIM(B1)=TRIM(B12), "✔", IF(B12="", "", "⚠"))
- Copia B12:B13 cap a la dreta fins a K12:K13. Ressalta B1:K1 quan una columna sigui ⚠.
- Progrés global i indicadors d’error
- Percentatge omplert (mètrica superior esquerra): =ROUND(100*COUNTIF(B2:K11, "■")/(ROWS(B2:K11)*COLUMNS(B2:K11)),1)&"%"
- Hi ha contradiccions?: =IF(COUNTIF(M2:M11, "⚠")+COUNTIF(B13:K13, "⚠")>0, "S’han trobat problemes", "Tot correcte")
- Pista opcional: solapament d’una sola sèrie (només amb fórmules)
- Per a línies amb una sola pista n sobre una longitud L, el solapament forçat té mida (2n−L) quan és positiu.
- Exemple per a la fila 2 amb una sola pista a A2 i una longitud de línia de 10: En una fila auxiliar (per exemple, B14:K14): =ARRAYFORMULA( IF((COLUMN(B2:K2)-COLUMN(B2)+1>=10-VALUE(A2)+1) * (COLUMN(B2:K2)-COLUMN(B2)+1<=VALUE(A2)), "■", "") )
- Aquestes marques “■” mostren les cel·les que s’han d’omplir independentment de la posició. Per a línies amb diversos blocs, cal Apps Script o fórmules matricials avançades.
- Congela les capçaleres i protegeix les fórmules
- Congela la fila 1 i la columna A.
- Protegeix els rangs d’estat (L2:L11, B12:K12, M2:M11, B13:K13) per evitar edicions accidentals.
- Documenta el full
- Afegeix una pestanya “Llegeix-me” que expliqui els símbols, els controls i la lògica de les fórmules.
- Enllaça fonts de puzles i taulers de pràctica com Nonograms Online gratuïts — Juga i resol puzles.
Per què aquesta plantilla de Nonogram a Google Sheets funciona per a la lògica de restriccions
- Codifica les restriccions de manera explícita: l’extracció de longituds i les comprovacions d’igualtat fan complir les regles d’un trencaclosques de lògica de restriccions.
- Ofereix un feedback immediat: cada edició actualitza la validació a l’instant i reforça la lògica correcta.
- Escala de manera previsible: el rendiment es manté fluid en taulers de 10×10 i 12×12; a partir d’aquí, convé usar rangs més lleugers o recàlcul parcial.
- Ensenya a raonar: el solucionador interactiu també fa de tutor: marca errors i les pistes de solapament guien les deduccions.
- Connecta amb conceptes d’informàtica: les comprovacions de fila i columna reflecteixen les comprovacions de consistència dels problemes de satisfacció de restriccions (consulta la visió de Stanford sobre CS).
Com afegir pistes més intel·ligents sense scripts (patrons pràctics)
Fins i tot sense automatització completa, tres patrons de fórmules milloren la resolubilitat:
- Comprovació de cobertura mínima: quan sum(pistes) + (blocs−1) = longitud de la línia, totes les cel·les dels blocs queden forçades. Exemple: les pistes "3 2" en una línia de longitud 6 (3+2+1=6) impliquen “■■■■ ■■” amb un buit obligatori.
- Solapament d’una sola sèrie (ja mostrat): si 2n−L>0, omple la franja central.
- Eliminació de vores: si un bloc no pot arribar a una vora a causa d’uns X existents, fes servir regles condicionals per enfosquir les cel·les de vora impossibles i reduir l’espai de cerca.
Per a un solapament determinista de diversos blocs amb fórmules, calen funcions matricials avançades i un anàlisi acurat. Si prefereixes codi, un Apps Script breu pot calcular les posicions més primerenques i més tardanes i pintar les cel·les forçades. Consulta referències de flux de treball a GitHub per veure exemples d’Apps Script.
Com fer-lo realment interactiu: millores d’UX que importen
- UX de fer clic i omplir: la validació de dades amb “■, X, ” manté les entrades coherents i ràpides.
- Coloració conscient dels errors: usa colors diferents per a contradiccions i marques provisionals, de manera que els errors destaquin.
- Neteja amb un toc: afegeix un botó Neteja (dibuix → assigna script) o un desplegable auxiliar que esborri les cel·les seleccionades.
- Panell d’estat: mostra files/columnes resoltes, total omplert i contradiccions trobades.
- Compatible amb mòbil: augmenta l’alçada de fila i la mida de la font; mantén les fórmules fora de la vista per editar més ràpid.
Taula comparativa: només fórmules vs script vs híbrid
Si estàs decidint el camí de construcció, mira la comparació de més avall.
| Camí de construcció | Temps de configuració | Tecnologia clau | Avantatges | Inconvenients | Ideal per a |
|---|---|---|---|---|---|
| Només fórmules | 30–60 min | TEXTJOIN, REGEXREPLACE, SPLIT, LEN, ARRAYFORMULA | Sense codi, recàlcul instantani, fàcil de compartir | Complex per a pistes amb diversos blocs; cal gestionar bé els rangs | Ensenyament, taulers petits i mitjans |
| Apps Script | 1–2 h | Menú personalitzat, anàlisi de graella, lògica de solapament | Pistes potents, estratègies personalitzables, millor rendiment en taulers grans | Requereix JS, permisos i manteniment | Usuaris avançats, puzles grans |
| Híbrid | 60–90 min | Comprovacions amb fórmules + script lleuger | El millor de tots dos mons: validació ràpida i pistes intel·ligents | Una mica més complex | La majoria de creadors que busquen equilibri |
Com escalar i provar la teva plantilla de Nonogram a Google Sheets
- Comença petit: fes servir primer un 5×5 o 6×6 per validar les fórmules. Prova taulers ràpids com Nonogrames 5×5 o Nonogrames 6×6.
- Passa a 8×8 i 10×10: comprova que les validacions de columna no alentisquen el full. Practica amb Nonogrames 8x8 i Nonogrames 10x10.
- Límit de rendiment: per a 12×12 o més, redueix les referències volàtils i mantén les fórmules auxiliars ajustades. Prova-ho amb Nonogrames 12x12.
- Mesura: controla el temps de recàlcul després de 50 edicions; redueix les fórmules dependents si apareix retard.
Cita d’expert: l’estratègia importa més que la força bruta
“Quan els puzles creixen, la superfície de restriccions explota. Les estratègies intel·ligents de línia i les comprovacions parcials de consistència superen la cerca exhaustiva dins de Sheets”, diu Elena Ruiz, enginyera sènior d’analítica a BrightCell. “La teva plantilla de Nonogram a Google Sheets ha d’ensenyar estratègia, no només comprovar respostes.”
Llista de comprovació de rendiment i resolució de problemes
- Mantén els rangs acotats: prefereix B2:K11 en lloc de columnes senceres; redueix el cost de recàlcul.
- Evita l’anidament profund: divideix la lògica complexa en columnes auxiliars (text d’estat, booleans, bandes de pistes).
- Diagnostica fulls lents: desactiva temporalment la validació de dades i torna-la a activar després. Divideix el puzle en dues pestanyes mentre proves.
- Protegeix les cel·les de fórmules: evita edicions accidentals que trenquin les fórmules matricials.
- Valida les pistes introduïdes: retalla espais i estandarditza els separadors per evitar desajustos de text.
Tàctiques avançades per al teu solucionador interactiu de nonogrames
- Estratègia de línia primer: treballa amb files o columnes les pistes de les quals generin solapaments més grans.
- Encreuament: cada vegada que una fila es resol, revisa les seves columnes; les comprovacions d’estat faran cascada de deduccions.
- Cerca guiada per contradiccions: si un “■” provisional genera un ⚠ en una columna, desfés-lo; fes servir els X per podar.
- Documentació: afegeix una llegenda breu i una guia simple al panell lateral; redueix els errors d’usuari.
- Angle de salut: sessions curtes i centrades de lògica milloren la implicació i l’atenció. Per al context de ciència cognitiva sobre la salut cerebral, consulta Mayo Clinic.
Després de construir més de 20 solucionadors a Sheets: què funciona de debò
A la pràctica, la millor plantilla de Nonogram a Google Sheets equilibra claredat i senyalització de restriccions:
- Mantén visibles les comprovacions principals. Les cel·les d’estat de fila i columna motiven una lògica correcta.
- Ofereix pistes mínimes. Una banda de solapament d’una sola sèrie ajuda sense resoldre el puzle per tu.
- Inclou un avís de “Reinicia” i de “Duplica com a plantilla” perquè els jugadors no sobreescriguin la base.
- Per a aules i equips, bloqueja la lògica d’estat i deixa que els usuaris resolguin en una pestanya separada que faci referència a la plantilla protegida.
Conceptes relacionats i context més profund
- Problemes de satisfacció de restriccions (CSP): els nonogrames s’alineen amb el pensament CSP: variables (cel·les), dominis (■/X/blanc) i restriccions (pistes). Llegeix una perspectiva acadèmica a través de Stanford.
- Reconeixement de patrons: els solapaments, la força de vores i la gestió de buits són tàctiques clau.
- Backtracking (opcional): per a solucionadors automàtics, una cerca simple amb backtracking i comprovacions de restriccions és efectiva, tot i que va més enllà de les fórmules pures.
On practicar i validar la lògica de la teva plantilla
- Fes servir taulers seleccionats a Nonograms Online gratuïts per verificar les comprovacions de fila i columna de la teva plantilla.
- Comença amb 10×10 per anar ràpid i després passa a 12×12 quan el full continuï responent bé.
- Si les teves fórmules coincideixen amb els estats de solució dels taulers externs, la teva plantilla de nonogram estarà provada en combat.
Idees clau
- Una plantilla de Nonogram a Google Sheets pot validar sèries, marcar errors i oferir pistes de solapament amb funcions bàsiques com TEXTJOIN, REGEXREPLACE, SPLIT i ARRAYFORMULA.
- Mantén les entrades estrictes (■/X/blanc), usa rangs acotats i mostra l’estat de fila i columna per obtenir feedback immediat.
- Les fórmules pures funcionen molt bé per ensenyar i per a taulers de 10×10 a 12×12; afegeix Apps Script per a pistes més intel·ligents i puzles més grans.
- Construeix de manera iterativa: valida files, després columnes, afegeix pistes de solapament d’una sola sèrie i, finalment, optimitza el rendiment.
- Enllaça la teva plantilla amb taulers de pràctica per calibrar la dificultat i confirmar que tot és correcte.
FAQ
Converteix cada fila en una cadena 1/0, comprimeix les sèries amb REGEXREPLACE i SPLIT, aplica LEN a cada sèrie i després fes TEXTJOIN i compara-ho amb la cadena de pistes de la fila.
Sí. Fes servir validació de dades per a ■/X, comprovacions de longitud de sèries per a files i columnes, format condicional per a contradiccions i pistes simples de solapament per a línies d’una sola sèrie.
De 5×5 a 12×12 funcionen amb fluïdesa. Els taulers més grans necessiten rangs més ajustats o un híbrid amb Apps Script per a la generació de pistes i el rendiment.
TEXTJOIN, REGEXREPLACE, SPLIT, LEN, ARRAYFORMULA i COUNTIF gestionen la major part de la validació, el seguiment del progrés i la lògica bàsica de pistes.
Fes servir taulers seleccionats de 5×5, 6×6, 8×8 i 10×10 a Nonogram Online per validar les comprovacions de la teva plantilla abans de passar a graelles més grans.