![]() Logik-PuzzleWas ist das?
21.08.2007 Das Logik-Puzzle ist ein Aufgabe, die in den Rätselheften von P.M. (P.M.-Kreativ-Trainer, P.M.-Logicals, eine zeitlang P.M.-Logik-Trainer) vorkommen. Eigentlich soll man sie von Hand lösen. Dafür habe ich jedoch bei manchen Aufgaben mehrere Stunden benötigt. Dann habe ich einen alten PC geschenkt bekommen und mir gedacht, versuche es doch mal mit dem Computer, dem müßte man es doch beibringen können. Das wurde schnell aufwendiger als gedacht. Nach einiger Zeit konnte er sehr einfache Aufgaben (Telefon aus KT 1/2003), das dann aber sehr schnell. Das Programm habe ich immer weiterentwickelt, so wurde es immer besser. Irgendwann bin ich dann auf die Idee gekommen, es ins Netz zu stellen. Endlich setzte ich es um. Der Löser
Das von mir geschriebene Programm zum Lösen
vom Logik-Puzzle-Aufgaben steht zur freien Benutzung nach
GNU General Public License
zur Verfügung. Ich habe es unter
Excel97 (Microsoft)
erstellt.
Das Programm lief auch unter Excel 2007 Beta, wenn man vor den Öffnen der Programm-Datei
mit ALT-F11 den VBA-Editor geöffnet hat. Mit allen Excel-Versionen dazwischen sollte
es auch funktionieren.
Ein paar "for Application"-Befehle sind in der Prozedur TabellenLoeschen() fast
am Ende der Datei, die aber nur der Bequemlichkeit dient. (Sie löscht den Inhalt der
Tabelle 2 und 3 und wechselt in die Tabelle 1.) Wirklich benötigt wird nur
Nach dem Runterladen muß man zuerst die Extension von zip in bas ändern. (Die Extension ist auf zip gesetzt, damit der Download klappt.) Dann kann man das Programm in Excel einbinden. Dazu Excel starten - es sollte genau eine neue Excel-Datei geöffnet sein - mit ALT-F11 in den VBA-Editor wechseln, dort Datei/Datei importieren ... anklicken, dann ins Verzeichnis mit der logikpuzzle.bas-Datei wechseln, diese doppelklicken. Zurück nach Excel wechseln und die Arbeitsmappe noch speichern, das war es schon. (Wenn man diese Arbeitsmappe wieder öffnet, weist Excel darauf hin: Die Arbeitsmappe, die Sie öffnen, enthält Makros.. Man muß dann Makros aktivieren anklicken, um den Logikpuzzle-Löser nutzen zu können.) Ich habe das Programm in einer Excel-Datei Logik-Puzzle und jede Aufgabe in separaten Datei gespeichert. Die zu lösende Aufgabe wählt man unterm Menüpunkt Fenster aus. Noch ALT-F8 und dort loesen ausführen. Schon versucht das Programm die Aufgabe zu lösen. Dabei kommt es vor, daß das Programm festhängt, d.h. die Aufgabe nicht lösen kann. Die ESC-Taste unterbricht das Programm. 2 Kästchen rechts und unter der Aufgabe wird während des Lösens die Rundenzahl mitgezählt, die das Programm durchlaufen hat. Ist die Aufgabe gelöst, wird die Rundenzahl und benötigte Zeit in einem Fenster angezeigt. VorbereitungUm ein Logik-Puzzle mit dem Programm zu lösen, muß man es in Excel eingeben. In Tabelle1 kommt die Aufgabe, Tabelle2 und Tabelle3 dienen fürs Zeilen- bzw. Spaltenlösen. Als erstes Formatiert man die Zellen in etwa quadratisch. (Ich setze die Spaltenbreite auf 2,57 - nicht ganz quadratisch, aber so passen zweistellige Zahlen hinein - bei unveränderter Zeilenhöhe.) Die Zahlen kommen rechts bzw. unter die Lösungsfläche, wie hier im Minibeispiel dargestellt.
In die Zelle A1 Tabelle1 gehört die Formel:
Jetzt muß man Excel dazu bringen, die Zellen entsprechend darzustellen. Dazu markiert man die Lösungsfläche in Tabelle1 (im Beispiel A1 bis T10) und benutzt man die Bedingte Formatierung. In die 1. Bedingung kommt "Zellwert ist" "gleich" "0" und unter Format... wählt man weise Schrift für Kästchen, die noch unbestimmt sind. Die 2. Bedingung ist für sicher ausgefüllte Kästchen: Zellwert ist größer als 0 und unter Format... bei Muster die Schwarze Farbe wählen. Für sicher leere Kästchen ist die 3. Bedingung zuständig mit Zelllwert ist kleiner als 0 und z.B. unter Format... beim Reiter Muster unten Muster eins der Muster (und eventuell eine Farbe dazu) wählen. (Ich benutze 6,25% grau.) Wer möchte, kann auch noch in Tabelle2 und Tabelle3 bedingte Formatierung vornehmen, um besser zu sehen, die das Programm arbeitet. |