Flip

Züge: 0
Wähle ein Spielfeld

Mischen!

flipdown!

flipup!

Flip 4 x 4
1 2 3 4
gelb gelb gelb gelb
gelb gelb gelb gelb
gelb gelb gelb gelb
gelb gelb gelb gelb
1 2 3 4

Lösung

Hier beschreibe ich die Techniken oder Verfahren, die man für eine menschliche Lösung braucht.

Flipdown

Klicke in der 2. Reihe dorthin, wo in der 1. Reihe ein roter Stein ist. Dann in der 3. Reihe dorthin klicken, wo in der 2. Reihe ein roter Stein ist, usw bis in die letzte Reihe. In der letzten Reihe bleiben jetzt rote Steine übrig.

Flipup

Dasselbe umgekehrt: klicke in der vorletzten Reihe dort, wo in der letzten Reihe ein Stein umgedreht werden soll. Wiederhole das bis zur 2. Reihe. Jetzt sind rote Steine in der ersten Reihe übrig.

Cleanup

Klicke nur in die erste (oder letzte) Reihe, bis dort nur noch gelbe Steine sind. Der Zustand der Nachbarreihe ist nicht von Bedeutung, hier können ein oder mehrere Felder rot sein.

Reflect

Nach dem flipdown sind in der letzten Reihe bestimmte Steine rot. Klicke nur in die 1. Reihe bis die 1. Reihe aussieht wie die letzte Reihe. Danach nochmal flipdown ausführen.

Hilfe

Das Umdrehen Reihe für Reihe erfordert viele Mausklicks bei großen Spielfeldern, weswegen es hier die Funktion flipdown gibt (siehe oben). Diese Funktion simuliert einen Mausklick (= führt einen Zug aus) in einer Reihe, wo eine Reihe darüber ein rotes Feld ist. flipup arbeitet genau umgekehrt. Ist in der letzten Reihe ein rotes Feld, klickt flipup in der vorletzten Reihe in derselben Spalte. Das auch wiederum bis zur ersten Reihe.

Das nur als Hilfe, natürlich kann man das auch manuell mit der Maus machen.

Lösungswege

Hier die Lösungen für quadratische Spielfelder mit den jeweiligen Kantenlängen:

|:repeat:| - das Verfahren wiederholen, bis das Spiel gelöst ist.

Lösung für das 10x10 Spielfeld

Das ist meiner Meinung nach am schwersten zu lösen. Bei demselben Verfahren, Reihe für Reihe umzudrehen (=flipdown), hilft es, sich klarzumachen, welche Felder oben welche Auswirkung auf die unterste Reihe haben.

Feld 3 oben geklickt (2,3,4 in der ersten Reihe sind rot), hat nach dem flipdown das Ergebnis, dass Feld 1 in der untersten Reihe gedreht ist. Folgende Tabelle ergibt sich:

Klick auf Feld Nr. Rot 1. Reihe Rot 10. Reihe (nach flipdown)
1 1,2 1,3,7,9
2 1,2,3 4,6,10
3 2,3,4 1
4 3,4,5 2,4,6,10
5 4,5,6 7,9
die folgenden Muster sind Spiegelbilder der ersten 5 Muster
6 5,6,7 2,4
7 6,7,8 1,5,7,9
8 7,8,9 10
9 8,9,10 1,4,6
10 9,10 2,4,6,8

Die 3 und 8 in der letzten Reihe tauchen nur einmal auf. Das heißt: wenn die 3 oder 8 gedreht werden muss, muss in der 1. Reihe die 1 bzw. 10 gedreht werden (rot markiert).

Damit die Lösung einfacher zu merken ist, gehe ich davon aus, dass man in dem Fall (3 oder 8 sind gedreht oder beide) Feld 1 bzw. Feld 10 der 1. Reihe dreht, oder beide, und dann flipdown durchführt. Jetzt sind rote Steine in der letzten Reihe übrig. Wir suchen die Steine der 1. Reihe, die man anklicken muss, damit genau diese roten Steine der letzten Reihe gedreht werden.

Klick auf 1.Reihe Rot 1. Reihe Rot 10. Reihe
3 2,3,4 1
2,4 1,2,4,5 2
2,4,6 1,2,4,6,7 4
3,5,7 2,3,5,7,8 5
4,6,8 3,4,6,8,9 6
5,7,9 4,5,7,9,10 7
7,9 6,7,9,10 9
8 7,8,9 10

Jetzt kann man das Schema erkennen: für ein gedrehtes Feld unten nimmt man auch dasselbe Feld oben + die 2 übernächsten Felder rechts und links (wenn noch auf dem Spielfeld). Ausnahme: für die 1 unten klick 3 oben, für die 10 unten klicke 8 oben. Dann flipdown.

Die Klicks sind in der Reihenfolge egal, und sie heben sich auf. Beispiel: unten soll 2 und 6 gedreht werden. Oben: 2+4, 4+6+8, die 4 hebt sich auf: Oben: 2+6+8 klicken. Du sparst Klicks, es ist aber mental anstrengender, als einfach die Klicks nach dem Schema auszuführen.

Zusammenfassung für das 10x10 Spielfeld

Mathematical Solution

from https://gaming.stackexchange.com/questions/11123/strategy-for-solving-lights-out-puzzle

The following solution works for every m × n grid:

Think of the given grid as a vector in a m × n dimensional vector space. Every value is either 1 (if the light is on) or 0 (if the light is off). Now you can think of every cell-push as a vector in this vector space. As you can push m x n different cells, you have m x n different vectors. If they change something in a cell, the value is 1, else 0.

It is only interesting if you have to push one button or not. No need to look at the order, no need of pushing a button more than once. So you have an equation

vector for your grid = a_1 x cellvector1 + a_2 x cellvector_2 + ... a_mn x cellvector_mn a_1, a_2, ..., a_mn is either 0 or 1.

As you have m x n variables (a_1 ... a_mn) and m x n equations (the rows of the vectors) you can solve it with Gaussian elimination.

If you are German, you might want to read Aufgabe 2, 30. Bundeswettberwerb Informatik and Lösungshinweise.