Jetzt ist mein Solver auch endlich fertig und unter https://github.com/64erGrufti/pupu_solver abrufbar.
Das Programm ist komplett in Python geschrieben. Für Windows und Linux gibt es binaries.
Es handelt sich um ein Kommandozeilentool.
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
Jetzt ist mein Solver auch endlich fertig und unter https://github.com/64erGrufti/pupu_solver abrufbar.
Das Programm ist komplett in Python geschrieben. Für Windows und Linux gibt es binaries.
Es handelt sich um ein Kommandozeilentool.
Funktioniert nicht auf anhieb bei mir.
pygame habe ich nachinstalliert.
Funktioniert nicht auf anhieb bei mir.
pygame habe ich nachinstalliert.
Code
- python pupu_solver.py puzzle
- pygame 2.6.1 (SDL 2.28.4, Python 3.7.0)
- Hello from the pygame community. https://www.pygame.org/contribute.html
- Traceback (most recent call last):
- File "pupu_solver.py", line 289, in <module>
- def get_best_solution(solutions: list[list]) -> list:
- TypeError: 'type' object is not subscriptable
Kein Wunder. puzzle ist ja bestimmt auch keine vorhandene Datei. Die heißt ja auch puzzle.txt.
Ja, müsste ich noch eine Prüfung rein machen, ob die Datei auch existiert.
Kein Wunder. puzzle ist ja bestimmt auch keine vorhandene Datei. Die heißt ja auch puzzle.txt.
Ja, müsste ich noch eine Prüfung rein machen, ob die Datei auch existiert.
Korrekt, da habe ich nicht aufgepasst. Aber auch mit der puzzle.txt funktioniert es nicht.
EDIT: Ist meine Python Version 3.7 ausreichend?
Display MoreKein Wunder. puzzle ist ja bestimmt auch keine vorhandene Datei. Die heißt ja auch puzzle.txt.
Ja, müsste ich noch eine Prüfung rein machen, ob die Datei auch existiert.
Korrekt, da habe ich nicht aufgepasst. Aber auch mit der puzzle.txt funktioniert es nicht.
Code
- python pupu_solver.py puzzle.txt
- pygame 2.6.1 (SDL 2.28.4, Python 3.7.0)
- Hello from the pygame community. https://www.pygame.org/contribute.html
- Traceback (most recent call last):
- File "pupu_solver.py", line 289, in <module>
- def get_best_solution(solutions: list[list]) -> list:
- TypeError: 'type' object is not subscriptable
EDIT: Ist meine Python Version 3.7 ausreichend?
Ist das die puzzle.txt von mir?
Display MoreDisplay MoreKein Wunder. puzzle ist ja bestimmt auch keine vorhandene Datei. Die heißt ja auch puzzle.txt.
Ja, müsste ich noch eine Prüfung rein machen, ob die Datei auch existiert.
Korrekt, da habe ich nicht aufgepasst. Aber auch mit der puzzle.txt funktioniert es nicht.
Code
- python pupu_solver.py puzzle.txt
- pygame 2.6.1 (SDL 2.28.4, Python 3.7.0)
- Hello from the pygame community. https://www.pygame.org/contribute.html
- Traceback (most recent call last):
- File "pupu_solver.py", line 289, in <module>
- def get_best_solution(solutions: list[list]) -> list:
- TypeError: 'type' object is not subscriptable
EDIT: Ist meine Python Version 3.7 ausreichend?
Ist das die puzzle.txt von mir?
Ja, die Originale aus der Zip-Datei
Display MoreDisplay MoreDisplay MoreKein Wunder. puzzle ist ja bestimmt auch keine vorhandene Datei. Die heißt ja auch puzzle.txt.
Ja, müsste ich noch eine Prüfung rein machen, ob die Datei auch existiert.
Korrekt, da habe ich nicht aufgepasst. Aber auch mit der puzzle.txt funktioniert es nicht.
Code
- python pupu_solver.py puzzle.txt
- pygame 2.6.1 (SDL 2.28.4, Python 3.7.0)
- Hello from the pygame community. https://www.pygame.org/contribute.html
- Traceback (most recent call last):
- File "pupu_solver.py", line 289, in <module>
- def get_best_solution(solutions: list[list]) -> list:
- TypeError: 'type' object is not subscriptable
EDIT: Ist meine Python Version 3.7 ausreichend?
Ist das die puzzle.txt von mir?
Ja, die Originale aus der Zip-Datei
Hm, dann scheint da tatsächlich irgendwas in Python 3.7 nicht zu passen. Hab aber im Moment keine Ahnung was das sein könnte. Ich habe 3.9.7 und 3.11.4 verwendet (ich meine es wäre ncoh eine dritte 3.9 gewesen).
Ich mache mal ein Update
EDIT:
Mit der Version 3.11 hat es geklappt. Dachte erst es kommt nicht, nur schwarzer Bildschirm, aber nach ein paar Sekunden kamm dann die Auflösung und ich konnte schön mit den Cursortasten durch die Lösung springen!
Ich mache mal ein Update
EDIT:
Mit der Version 3.11 hat es geklappt. Dachte erst es kommt nicht, nur schwarzer Bildschirm, aber nach ein paar Sekunden kamm dann die Auflösung und ich konnte schön mit den Cursortasten durch die Lösung springen!
Muss ich mal bei Gelegenheit schauen, was da in 3.7 nicht geht.
Aber vorher muss ich nochmal schauen, ich glaube es gibt da noch ein Problem, wenn eine Mauer nicht am Rand ist. Dann dürten die Teile durch die Mauer fallen.
Übrigens: Nicht wundern, die Binaries die ich angekündigt hatte, sind wieder weg. Ich hatte einen Fehler gemacht und musste das Repository neu aufsetzen. Jetzt lassen sich die Binaries nicht mehr hoch laden. Aber vielleicht merkt Github, dass die schon mal hoch geladen urden (wenn auch wieder gelöscht) und verweigert es deshalb. Dann sollte sich das mit dem nächsten Release lösen. Github ist noch neu für mich.
Edit: Ja der befürchtete Bug war drin. Ist gefixt.
Jetzt ist mein Solver auch endlich fertig und unter https://github.com/64erGrufti/pupu_solver abrufbar.
Wow, 64erGrufti, dein Solver ist einfach genial! Es ist fantastisch zu sehen, wie PUPU jetzt von Computern gelöst wird 🤖 - definitiv ein Schritt in die Zukunft. Vielen Dank für dein großartiges Engagement und deinen Beitrag zur PUPU-Community!
Jetzt ist mein Solver auch endlich fertig und unter https://github.com/64erGrufti/pupu_solver abrufbar.
Wow, 64erGrufti, dein Solver ist einfach genial! Es ist fantastisch zu sehen, wie PUPU jetzt von Computern gelöst wird 🤖 - definitiv ein Schritt in die Zukunft. Vielen Dank für dein großartiges Engagement und deinen Beitrag zur PUPU-Community!
Das Automatisieren von Vorgängen fand ich schon immer ein interessantes Thema. Und durch die Lösungen zu den AdventOfCode-Aufgaben, die ich hier erwähnt hatte, habe ich auch schon viel zur Lösung von solchen Problemen gelernt.
Ich habe heute übrigens zufällig die Mailadresse von ihm gefunden und werde ihn dann mal kontaktieren. Ich fände es sehr interessant, ob er eine effektivere Lösung findet. Darin ist er ja echt gut. Natürlich muss er sich dem Problem noch annehmen.
Der Solver hat ein Update erfahren und unterstützt nun direkt die SEQ-Dateien der PUPU-Diskette.
Ich habe den Solver gerade von der Github-Seite runtergeladen und wollte loslösen lassen.
Pygame ist installiert. Ich verwende Linux Lite (eine Ubuntu-Variante). Fehlt mir eventuell noch was zum Löseglück?
Fehlt mir eventuell noch was zum Löseglück?
Laut einem Kollegen, wohl eine neuere Version von Python3.
Ich habe die Version 3.8.10, aber "Typannotationen mit generischen Typen wie list[int] wurden erst ab Python 3.9 stabil und richtig unterstützt."
Typannotationen mit generischen Typen wie list[int] wurden erst ab Python 3.9 stabil und richtig unterstützt."
Ah, das könnte natürlich sein. Theoretisch braucht man die ja gar nicht, ich schreibe sie aber gerne rein, da mir die IDE dann automatisch die passenden Methoden und Eigenschaften anbietet.
Ich weiß gar nicht, ob es eine Möglichkeit gitbt, die automatisiert zu löschen.
So, nachdem ich gefühlte 300 Stunden auf Python 3.13 geupdated habe, bekomme ich nun keinen Fehler mehr, sondern ein schwarzes Fenster!
Ich blicke quasi in ein schwarzes Loch!
Ich blicke quasi in ein schwarzes Loch!
Er rechnet, das ist schon OK. Du kannst mit dem Parameter -d auch "zuschauen", was er macht. Das verlangsamt den Prozess natürlich.
Aber mein Rechner ist nun auch schon bestimmt seit ner Stunde an GoDot 's Level. Es gibt scheinbar doch etwas viele Möglichkeiten. Bei meinen Tests war das alles etwas schneller.
Ich kenne mich mit Threading leider nicht aus. Damit ließe sich bestimmt was machen. Bei mir nutzt er gerade mal 6% CPU. Da ginge noch was.
Ich blicke quasi in ein schwarzes Loch!
Er rechnet, das ist schon OK. Du kannst mit dem Parameter -d auch "zuschauen", was er macht.
Ah! Danke! Dann klappt es ja doch. Wenn ich zugucke sehe ich nun auch was!
Ich lasse dein Programm seit 15 Minuten rechnen. Nur der Lüfter rödelt .. wäre nicht schlecht, wenn du beim berechnen so alle 1000 Durchläufe vielleicht selbige ausgibst, damit man sieht, dass er was macht und wie weit er ist.
In der Zeit habe ich das Level kopfmässig inzwischen gelöst.
Ich lasse dein Programm seit 15 Minuten rechnen. Nur der Lüfter rödelt .. wäre nicht schlecht, wenn du beim berechnen so alle 1000 Durchläufe vielleicht selbige ausgibst, damit man sieht, dass er was macht und wie weit er ist.
In der Zeit habe ich das Level kopfmässig inzwischen gelöst.
Gehr mir auch so, wie ich ja schon geschrieben habe. Ich habe vielleicht 5 Minuten für das Level gebraucht. Mein Rechner rechnet jetzt schon etwa 2 Stunden.
Ja, so ab und zu was anzeigen, das ließe sich machen. Scheint das eigentliche Problem aber nicht zu lösen. Ich glaube, da muss Threading oder Multiprocessing dran.
Wie gesagt, bei mir 6% CPU-Nutzung. Ja, der Lüfter läuft zwar auch, aber 6% ist schon recht dürftig. Den Rest muss man da auch noch irgendwie nutzen.