<- Vissza a bloghoz

Nonogram Google Sheets sablon: interaktív megoldó

Közzétéve

Nonogram Google Sheets sablon: interaktív megoldó képletekkel

Készíts olyan Nonogram Google Sheets sablont, amely ellenőrzi a sorokat és oszlopokat, jelzi a hibákat, és tippeket is ad — mindezt képletekkel. Állíts fel egy tiszta rácsot, adj hozzá nyomellenőrzéseket, majd építs rá interaktivitást és opcionális Apps Scriptet a fejlettebb tippekhez.

Évek óta építek táblázatkezelő-alapú logikai motorokat, és a nonogramok tökéletesen megmutatják, mire képes a Google Sheets. Egy jól felépített Nonogram Google Sheets sablonnal gyors, megosztható, interaktív nonogram megoldót kapsz, amely játék közben tanítja a logikát. Ez egy praktikus módja annak, hogy speciális szoftver nélkül modellezz egy kényszerlogikai rejtvényt.

Hogyan működnek a nonogramok, és miért illenek a Google Sheetshez?

A nonogramok — más néven picross vagy griddler — képrejtvények, ahol a számok azt jelzik, hány egymást követő kitöltött mezőből állnak a sorok és oszlopok szakaszai. A Wikipédia nonogram-összefoglalója szerint ezek a rejtvények következtetéssel és kényszerek terjesztésével oldhatók meg, nem találgatással (lásd: Nonogram háttér). A Sheetsben a rács natív, a képletek azonnal frissülnek, az adatellenőrzés pedig tiszta, kattintással kitölthető felületet ad — mindez ideális alap egy interaktív nonogram megoldóhoz.

Ahogy Dr. Maya Chen, a GridLogic Labs adattudósa fogalmaz: „A Sheets tökéletes játszótér a nonogramokhoz: a kényszereket képletekbe kódolod, a következtetéseket pedig azonnal vizualizálod. Ez egy élő proof of concept a kényszerterjesztésre.”

Hogyan készíts Nonogram Google Sheets sablont lépésről lépésre

Az alábbi, bevált és jól skálázható beállítást egy 10×10-es táblához használom. A tartományokat a méretedhez igazítsd.

  1. A rács és a szimbólumok meghatározása
  • Elrendezés: A sorok nyomait tedd az A oszlopba (A2:A11), az oszlopok nyomait pedig az 1. sorba (B1:K1). A rejtvényrács legyen a B2:K11 tartományban.
  • Szimbólumok: Használj „■”-et a kitöltött mezőhöz, „X”-et az üres mezőhöz, és hagyd üresen az ismeretlen mezőt.
  • Adatellenőrzés a B2:K11 tartományra: Listaelemek → ■, X, (az üres mező engedélyezett). Ez megakadályozza az elgépeléseket és tisztán tartja a beviteleket.
  1. Feltételes formázás az átláthatóságért
  • Kitöltött: Egyéni képlet =B2="■" sötét kitöltéssel.
  • Üres: =B2="X" világosszürke kitöltéssel és áthúzással.
  • Ellentmondás kiemelése: Használj egy státuszcellát soronként/oszloponként; ha a státusz nem OK, színezd a sor- vagy oszlopfejlécet.
  1. A nyomok normalizálása
  • Add meg a nyomokat szóközzel elválasztott számokként (például A2: "3 1", B1: "2 2").
  • Opcionálisan tarts egy normalizált másolatot is (szóközök helyett vesszőkkel): =IF(A2="","",SUBSTITUTE(TRIM(A2)," ",","))
  1. Soronkénti futamhossz-számítás (a megoldó magja)
  • Cél: A sor aktuális mintáját alakítsd át a kitöltött szakaszok hosszává.
  • Az L2 cellában (a 2. sor státusza) használd ezt: =IFERROR( TEXTJOIN(" ", TRUE, ARRAYFORMULA( LEN( SPLIT( REGEXREPLACE(TEXTJOIN("", TRUE, IF(B2:K2="■","1","0")), "0+", " "), " ") ) ) ), "")
  • Ez például a "3 1" sztringet adja vissza, ha három kitöltött mező, egy rés, majd egy kitöltött mező következik.
  1. A sorfutamok összevetése a sorok nyomaival (ellenőrzés)
  • Az M2 cellában (sorellenőrzés): =IF(TRIM(A2)=TRIM(L2), "✔", IF(L2="", "", "⚠"))
  • Másold le az M2-t az összes sorra. Használj feltételes formázást az A2:A11 tartományra, ha az M oszlopban ⚠ jelenik meg.
  1. Oszloponkénti futamhossz-számítás
  • A B12 cellában (a B oszlop státusza): =IFERROR( TEXTJOIN(" ", TRUE, ARRAYFORMULA( LEN( SPLIT( REGEXREPLACE(TEXTJOIN("", TRUE, IF(B2:B11="■","1","0")), "0+", " "), " ") ) ) ), "")
  • A B13 cellában (oszlopellenőrzés): =IF(TRIM(B1)=TRIM(B12), "✔", IF(B12="", "", "⚠"))
  • Másold a B12:B13 tartományt jobbra egészen a K12:K13 tartományig. Emeld ki a B1:K1 tartományt, ha valamelyik oszlopnál ⚠ jelenik meg.
  1. Globális haladás és hibajelzések
  • Kitöltött mezők aránya (bal felső mérőszám): =ROUND(100*COUNTIF(B2:K11, "■")/(ROWS(B2:K11)*COLUMNS(B2:K11)),1)&"%"
  • Van-e ellentmondás?: =IF(COUNTIF(M2:M11, "⚠")+COUNTIF(B13:K13, "⚠")>0, "Problémák találhatók", "Minden rendben")
  1. Opcionális tipp: egyetlen futam átfedése (csak képlettel)
  • Ha egy sorban egyetlen n hosszú nyom van, és a sor hossza L, akkor a kényszerített átfedés mérete pozitív esetben (2n−L).
  • Példa a 2. sorra, ahol az A2-ben egyetlen nyom van, a sor hossza pedig 10: Egy segédsorban (például B14:K14): =ARRAYFORMULA( IF((COLUMN(B2:K2)-COLUMN(B2)+1>=10-VALUE(A2)+1) * (COLUMN(B2:K2)-COLUMN(B2)+1<=VALUE(A2)), "■", "") )
  • Ezek a „■” jelek azokat a mezőket mutatják, amelyeket a helyzettől függetlenül ki kell tölteni. Többblokkból álló sorokhoz Apps Scriptre vagy fejlettebb tömbképletekre van szükség.
  1. Fejlécek rögzítése és képletek védelme
  • Rögzítsd az 1. sort és az A oszlopot.
  • Védd a státusztartományokat (L2:L11, B12:K12, M2:M11, B13:K13), hogy elkerüld a véletlen szerkesztéseket.
  1. A lap dokumentálása

Miért működik ez a Nonogram Google Sheets sablon kényszerlogikához

  • Kifejezetten kódolja a kényszereket: A futamhossz-kivonás és az egyenlőségvizsgálat érvényesíti a kényszerlogikai rejtvény szabályait.
  • Gyors visszacsatolást ad: Minden szerkesztés azonnal frissíti az ellenőrzést, így erősíti a helyes logikát.
  • Jól skálázódik: A teljesítmény 10×10-es és 12×12-es táblákon is gördülékeny marad; efölött használj kisebb tartományokat vagy részleges újraszámítást.
  • Tanítja a gondolkodást: Az interaktív nonogram megoldó egyben oktató is — jelzi a hibákat, az átfedési tippek pedig segítik a következtetést.
  • Kapcsolódik a számítástudományhoz: A sor- és oszlopellenőrzések a kényszerkielégítési problémák konzisztenciaellenőrzéseit idézik (lásd: Stanford CS nézőpont).

Hogyan adj okosabb tippeket szkriptek nélkül (gyakorlati minták)

Teljes automatizálás nélkül is három képletminta javítja a megoldhatóságot:

  • Minimális lefedettség ellenőrzése: Ha a nyomok összege + (blokkok száma−1) = a sor hossza, akkor minden blokkmező kényszerített. Példa: a "3 2" nyom egy 6 hosszú soron (3+2+1=6) azt jelenti, hogy „■■■■ ■■”, egy kötelező réssel.
  • Egyetlen futam átfedése (már bemutatva): Ha 2n−L>0, töltsd ki a középső sávot.
  • Szélső mezők kizárása: Ha egy blokk a meglévő X-ek miatt nem érhet el egy szélt, használj feltételes szabályokat a lehetetlen szélső mezők elszürkítésére, és csökkentsd a keresési teret.

A többfutamos, képletekkel meghatározott átfedéshez fejlett tömbfüggvényekre és gondos feldolgozásra van szükség. Ha inkább kódot használnál, egy rövid Apps Script kiszámíthatja a legkorábbi és legkésőbbi elhelyezéseket, majd kiszínezheti a kényszerített mezőket. Apps Script példákhoz nézd meg a GitHub munkafolyamat-referenciáit.

Hogyan tedd igazán interaktívvá: fontos UX-fejlesztések

  • Kattintással kitölthető felület: Az adatellenőrzés a „■, X, ” értékekkel egységes és gyors bevitelét biztosít.
  • Hibatudatos színezés: Használj eltérő színeket az ellentmondásokhoz és az ideiglenes jelölésekhez, hogy a hibák jól látszódjanak.
  • Egyérintéses törlés: Adj hozzá egy Törlés gombot (rajz → szkript hozzárendelése) vagy egy segéd legördülőt, amely törli a kijelölt cellákat.
  • Állapotpanel: Jelenítse meg a megoldott sorokat/oszlopokat, az összes kitöltött mezőt és a talált ellentmondásokat.
  • Mobilbarát kialakítás: Növeld a sormagasságot és a betűméretet; a képleteket tartsd szem elől távol, hogy gyorsabb legyen a szerkesztés.

Összehasonlító táblázat: csak képletek vs. szkript vs. hibrid

Ha a megvalósítás módján gondolkodsz, nézd meg az összehasonlítást alább.

Megvalósítás Beállítási idő Fő technológia Előnyök Hátrányok Kinek ajánlott
Csak képletek 30–60 perc TEXTJOIN, REGEXREPLACE, SPLIT, LEN, ARRAYFORMULA Nincs kód, azonnali újraszámítás, könnyen megosztható Bonyolult a többblokkból álló tippeknél; gondos tartománykezelést igényel Oktatás, kis-közepes táblák
Apps Script 1–2 óra Egyéni menü, rácsfeldolgozás, átfedéslogika Erős tippek, testreszabható stratégiák, jobb teljesítmény nagy táblákon JavaScriptet, jogosultságokat és karbantartást igényel Haladó felhasználók, nagy rejtvények
Hibrid 60–90 perc Képletalapú ellenőrzés + könnyű szkript A kettő legjobbja: gyors ellenőrzés és okos tippek Kissé nagyobb összetettség A legtöbb építő számára, akik egyensúlyt keresnek

Hogyan skálázd és teszteld a Nonogram Google Sheets sablont

  • Kezdd kicsiben: Először 5×5-ös vagy 6×6-os táblán ellenőrizd a képleteket. Próbálj ki gyors táblákat, például 5×5 Nonogramok vagy 6×6 Nonogramok.
  • Lépj tovább 8×8-ra és 10×10-re: Ellenőrizd, hogy az oszlopellenőrzések nem lassítanak-e. Gyakorolj 8x8 Nonogramokkal és 10x10 Nonogramokkal.
  • Teljesítményhatár: 12×12 vagy nagyobb tábláknál csökkentsd a változékony hivatkozásokat, és tartsd szűkre a segédképleteket. Tesztelj a 12x12 Nonogramok segítségével.
  • Mérőszám: Kövesd az újraszámítás idejét 50 szerkesztés után; ha késés jelentkezik, csökkentsd a függő képletek számát.

Szakértői idézet: a stratégia fontosabb, mint a nyers erő

„Ahogy a rejtvények nagyobbak lesznek, a kényszerfelület robbanásszerűen nő. Az okos sorstratégiák és a részleges konzisztenciaellenőrzések jobbak, mint a nyers erővel végzett visszalépéses keresés a Sheetsben” — mondja Elena Ruiz, a BrightCell vezető elemzési mérnöke. „A Nonogram Google Sheets sablonodnak a stratégiát kell tanítania, nem csak a válaszokat ellenőriznie.”

Teljesítmény- és hibaelhárítási ellenőrzőlista

  • Tartsd a tartományokat korlátozottnak: A B2:K11 tartományt részesítsd előnyben a teljes oszlopok helyett; ez csökkenti az újraszámítás költségét.
  • Kerüld a mélyen egymásba ágyazott képleteket: A bonyolult logikát bontsd segédoszlopokra (státuszszöveg, logikai értékek, tippzónák).
  • Diagnosztizáld a lassú lapokat: Ideiglenesen kapcsold ki az adatellenőrzést, majd kapcsold vissza. Tesztelés közben oszd két fülre a rejtvényt.
  • Védd a képletcellákat: Előzd meg a véletlen szerkesztéseket, amelyek tönkreteszik a tömbképleteket.
  • Ellenőrizd a nyomok bevitelét: Tisztítsd meg a szóközöket, és egységesítsd az elválasztókat, hogy elkerüld a sztringeltéréseket.

Haladó taktikák az interaktív nonogram megoldódhoz

  • Sor-először stratégia: Azokkal a sorokkal vagy oszlopokkal kezdd, amelyek nyomai nagyobb átfedést eredményeznek.
  • Keresztellenőrzés: Minden alkalommal, amikor egy sor megoldódik, nézd át az oszlopait; a státuszellenőrzések láncszerűen hozzák a következtetéseket.
  • Ellentmondásvezérelt keresés: Ha egy ideiglenes „■” ⚠-t okoz egy oszlopban, vond vissza; az X-ekkel szűkítsd a lehetőségeket.
  • Dokumentáció: Adj hozzá egy rövid jelmagyarázatot és egy egyszerű végigvezetést az oldalsávra; ez csökkenti a felhasználói hibákat.
  • Egészségszempont: A rövid, fókuszált logikai szakaszok javíthatják az elköteleződést és a figyelmet. Az agy egészségével kapcsolatos kognitív tudományos háttérhez lásd a Mayo Clinicet.

Mit tanultam 20+ Sheets-megoldó építéséből: mi működik igazán

A gyakorlatban a legjobb Nonogram Google Sheets sablon az átláthatóságot és a kényszerjelzést egyensúlyozza:

  • Tartsd láthatóan a fő ellenőrzéseket. A sor- és oszlopstátusz-cellák a helyes logikára ösztönöznek.
  • Adj minimális tippeket. Az egyetlen futam átfedési sávja segít anélkül, hogy helyetted oldaná meg a rejtvényt.
  • Tartalmazz egy „Visszaállítás” és egy „Sablonként másolás” figyelmeztetést, hogy a megoldók ne írják felül az alapot.
  • Tantermekben és csapatoknál zárd le a státuszlogikát, és engedd, hogy a felhasználók egy külön fülön oldjanak, amely a védett sablonra hivatkozik.

Kapcsolódó fogalmak és mélyebb háttér

  • Kényszerkielégítési problémák (CSP-k): A nonogramok jól illeszkednek a CSP-gondolkodáshoz: változók (mezők), tartományok (■/X/üres), és kényszerek (nyomok). Tudományos nézőpontért olvasd el a Stanford anyagát.
  • Mintafelismerés: Az átfedések, a szélek kényszerítése és a rések kezelése kulcsfontosságú taktikák.
  • Visszalépéses keresés (opcionális): Automatizált megoldóknál egy egyszerű, kényszerellenőrzésekkel kombinált visszalépéses keresés hatékony, bár ez már túlmutat a puszta képleteken.

Hol gyakorold és ellenőrizd a sablonod logikáját

  • Használj válogatott táblákat a Free Nonograms Online oldalon, hogy ellenőrizd a sablonod sor- és oszlopellenőrzéseit.
  • Kezdd 10×10-zel a gyorsaság miatt, majd lépj 12×12-re, amikor a lap még mindig reszponzív marad.
  • Ha a képleteid megegyeznek a külső táblák megoldásállapotaival, a nonogram sablonod már bizonyítottan megbízható.

Fő tanulságok

  • Egy Nonogram Google Sheets sablon képes ellenőrizni a futamokat, jelezni a hibákat, és átfedési tippeket adni olyan alapfüggvényekkel, mint a TEXTJOIN, REGEXREPLACE, SPLIT és ARRAYFORMULA.
  • Tartsd szigorúan a beviteleket (■/X/üres), használj korlátozott tartományokat, és jelenítsd meg a sor- és oszlopstátuszt az azonnali visszajelzéshez.
  • A csak képletekre épülő megoldás kiváló tanításhoz és 10×10-től 12×12-ig terjedő táblákhoz; nagyobb rejtvényekhez és okosabb tippekhez adj hozzá Apps Scriptet.
  • Építs iteratívan: először a sorokat ellenőrizd, aztán az oszlopokat, majd add hozzá az egyetlen futam átfedési tippjeit, végül optimalizáld a teljesítményt.
  • Kösd a sablonodat gyakorlótáblákhoz, hogy beállítsd a nehézséget és ellenőrizd a helyességet.

FAQ

Alakítsd át az egyes sorokat 1/0 sztringgé, tömörítsd a futamokat REGEXREPLACE és SPLIT segítségével, vedd meg minden futam LEN értékét, majd TEXTJOIN-nal hasonlítsd össze a sor nyomsztringjével.

Igen. Használj adatellenőrzést a ■/X jelölésekhez, futamhossz-ellenőrzést a sorokhoz és oszlopokhoz, feltételes formázást az ellentmondásokhoz, valamint egyszerű átfedési tippeket az egyfutamos sorokhoz.

Az 5×5-től a 12×12-ig terjedő táblák általában gördülékenyen futnak. A nagyobb táblákhoz szűkebb tartományok vagy egy hibrid megoldás kell Apps Script alapú tippgenerálással és jobb teljesítménnyel.

A TEXTJOIN, REGEXREPLACE, SPLIT, LEN, ARRAYFORMULA és COUNTIF a legtöbb ellenőrzést, haladáskövetést és alapvető tipplogikát lefedi.

Használj válogatott táblákat a Nonogram Online-on, például 5×5, 6×6, 8×8 és 10×10 méretben, hogy ellenőrizd a sablonod ellenőrzéseit, mielőtt nagyobb rácsokra lépnél.

  • google sheets
  • útmutató
  • kirakósjáték tervezés
  • nonogramok
  • sablonok

Hasonló cikkek