Legespiele online lösen

Legespiele zu lösen ist ja so einfach! Man muss nur den Legespiel-Solver von Github in eine Entwicklungsumgebung importieren, eine eigene Implementierung der Klasse GameConfig erstellen, die Solver-Klasse mit der neuen Konfiguration starten und fertig! OK, ich schätze, das ist ein bisschen schwierig, wenn man nicht zufällig Software-Entwickler ist. Deshalb habe ich eine (hoffentlich) einfach zu bedienende Web-Anwendung gebaut.

Fig. 1: Was meine innere Marketing-Abteilung rüberbringen möchte 😉

Bedienungsanleitung

Es gibt sechs Schritte, die der Benutzer bei der Verwendung des Legespiel-Solvers Online durchlaufen muss:

  1. Beispiel laden: Solltet ihr zu faul sein, den Rest der Anleitung zu lesen, dann ladet einfach eines der Beispiele und findet auf eigene Faust heraus, wie alles funktioniert. Viel Glück!
  2. Bilder definieren: Ihr müsst dem Programm einige Namen für die Bilder mitteilen, die sich auf den Karten befinden. Für jedes Bild müsst ihr angeben, zu welchem Bild (oder auch mehreren Bildern) es passt. Beispiel: Bei Pippi Langstrumpf Absolut knifflig! passt der erste Teil des Pferdes (“Pferd 1”) zum zweiten Teil des Pferdes (“Pferd 2”) und umgekehrt.
  3. Dimensionen: Sagt dem Programm, wie viele Zeilen und Spalten das Legespiel hat. Normalerweise sind es drei Zeilen und drei Spalten. Daher gibt es hier aller Wahrscheinlichkeit nach nichts zu tun.
  4. Karten definieren: Für alle – in der Regel neun – Karten muss man der Anwendung sagen, welche Bilder sich auf jeder der vier Seiten befinden. Das ist etwas mühsam, aber mit der Tastatur (und Tab) geht es deutlich schneller.
  5. Berechne Lösungen: Nur ein Klick, um alle Lösungen anzuzeigen!
  6. Spiel einreichen, weil es Spaß macht zu teilen. Vielleicht wird es ja sogar im Artikel Liste von Legespielen und ihre Lösungen veröffentlicht.

Eine gute Benutzeroberfläche zu erstellen ist schwer! Vor allem, wenn man versucht, es für etwas nicht Triviales wie das Lösen eines Legespiels zu tun. Ich hoffe, ich habe die Aufgabe mit Hilfe des großartigen Vaadin Flow-Frameworks einigermaßen gemeistert. In jedem Fall würde ich mich über einen Kommentar sehr freuen. Oder noch besser: Reicht ein neues Legespiel mit Hilfe des Legespiel-Solvers Online ein!

Mehr Informationen

Download

Das Java-Programm “Legespiel-Solver”, mit dem der Legespiel-Solver Online die eigentliche Arbeit erledigt, ist freie Software und unter der freizügigen MIT-Lizenz veröffentlicht. Man kann das komplette Eclipse-Projekt bei Github herunterladen. Es gibt auch einen Artikel, der erklärt, wie der eigentliche Algorithmus funktioniert: Backtracking im Kinderzimmer – Wie man Legespiele löst. Das ist ein sehr guter Einstieg, wenn man sich für so etwas interessiert.

Ähnliche Artikel

3 Gedanken zu „Legespiele online lösen

  1. Anton Stahl

    Hallo!
    Einen ganz herzlichen Dank für das zur Verfügung stellen dieses genialen Programmes!
    Mit dem Legespiel von Uli Stein “Tierisch VERZWICKT” beschäftigt sich die Familie schon einige Zeit – leider bisher ohne Erfolg.
    Nachdem ich nun dieses Solver-Programm entdeckt und die Karten entsprechend der Anleitung und anhand eines Beispieles
    erfolgreich definiert hatte und berechnen ließ, musste ich mit “Entsetzen” feststellen, dass in nicht einmal einer Sekunde gleich
    sieben Lösungen ermittelt wurden.
    Ich habe das Spiel samt einem Lösungsfoto eingereicht.
    Mit freundlichen Grüßen
    Anton Stahl

    Antworten
    1. Anton Stahl

      PS: gibt es in der Web-Anwendung eine Möglichkeit, eine Definition/Konfiguration für sich selbst abzuspeichern?

      Antworten
      1. Andreas KeilhauerAndreas Keilhauer Beitragsautor

        Schön, dass ich helfen konnte. 🙂

        Ich habe Ihr Spiel zum Legespiel-Solver Online hinzugefügt. Es kann jetzt als Beispiel ausgewählt werden.
        Die Lösungen sind auch als HTML verfügbar: https://keilhauer.github.io/Legespiel-Solver/html-output/Uli%20Stein%20-%20Tierisch%20VERZWICKT/originalSolutions.html

        Über die Speichermöglichkeit (als XML-Datei, wie z.B. https://github.com/keilhauer/Legespiel-Solver/blob/master/src/main/resources/org/whatsoftwarecando/legespiel/xml/configs/UliSteinTierischVerzwickt.config.xml ) muss ich noch etwas nachdenken. Das würde ja nur Sinn machen, wenn man es später auch wieder laden kann. Ob ich das hinbekomme ohne eine Sicherheitslücke einzubauen? 😉

        Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.