![]() |
Turm von Hanoi
Liste der Anhänge anzeigen (Anzahl: 1)
:hi:
Ich wurde darauf angesprochen, den Source des Programms ![]() Ich habe leider keine Zeit, ihn ausreichend zu kommentieren, ein paar Kommentare von damals stehen drin, ich hoffe, es ist einigermaßen verständlich. Da ich nur ungern Fremdkomponenten benutze, enthält das Projekt massig Images und Labels (damals wollte ich unbedingt ein "nicht standard"-Design machen, keine Ahnung warum... Ich veröffentliche den Code rein zu Lernzwecken. :stupid: |
Re: Turm von Hanoi
Perfekt Programmiert.
Alle Achtung! :-D Mega nett von dir den Code Rauszugeben. Zitat:
|
Re: Turm von Hanoi
Also auch nochmal von mir herzlichen Dank für den Code!!!
:dp: Nur leider kann ich deine Laufvariablen und das Verschieben der einzelnen Steine nicht richtig nachvollziehn. Mir ist unklar wie die Steine von einem zum anderen Stapel gezogen bzw .da es ja Image sind "gebeamt" werden. :gruebel: Wäre super nett, falls mir jemand auf die Sprünge helfen könnte! :roteyes: MfG Mobby Vielleicht komme ich dann ja weiter bei meinem eigenen Programm und bin auch voll "on Fire" ;) :firejump: |
Re: Turm von Hanoi
Hallo Matze,
absolut beeindruckende Lösung!!! Ich habe mir das ´ne ganze Weile angesehen und einige sehr erstaunliche Lösungen gefunden. Allerdings ein größeres Projekt auf die Art zu realisieren wäre aber wohl doch sehr aufwändig ;-( Als I-Punkt könnten die Steine vielleicht direkt bewegt (in Form einer Parabel gehoben und auf dem neuen Stapel abgelegt) werden... Stahli |
Re: Turm von Hanoi
Hi
oha, das Programm ist nun auch in die Jährchen gekommen und der Code auch nicht der beste. Mir ging's damals darum, einmal ein Skin-ähnliches Design zu erstellen. Ich bin prinzipiell gegen Designs, die vom eingestellten Windows-Theme abweichen, doch wie die meisten Anfänger, möchte man das mal ausprobieren. Da ich keine Fremdkomponenten nutzen wollte, habe ich die VCL dafür wirklich missbraucht. *g* Unbenannte Komponenten und ähnliches. Also so sollte man das eigentlich nicht machen, sondern es ist eine kleine Demo, was theoretisch mit den Standardkomponenen möglich wäre. Auf den Trick mit dem transparenten Labels war ich damals besonders stolz. :mrgreen: Zitat:
Code:
Diese Prozedur ist rekursiv, ruft sich also selbst wieder auf. Das Nachvollziehen ist bei rekursiven Aufrufen nicht immer leicht, das gebe ich zu, aber wenn man sich konzentriert und einmal verstanden hat, wie eine Rekursion abläuft, ist es gar nicht mal so kompliziert. :)
procedure TForm1.Verschieben(n: integer; s, z, h: integer);
@stahli: Schön, dass es dir gefällt! Zitat:
|
Re: Turm von Hanoi
Zitat:
![]() |
Re: Turm von Hanoi
BTW:
![]() |
Re: Turm von Hanoi
also von der problematik des turms von hanoi versteh ich alles...ich hab auch schon zieg seiten gefunden wo man es selbst spielen kann...mein problem ist nur diese rekrusive(haben wir gerade in der schule) zu verstehn. ich mein das mit dem aufrufen in sich selbst ist mir klar und dass es bei großen prozessen schneller geht und hier eigentlich die iterative einfacher ;) aber der lehrer hätte es gern so also machen wir das...und um einen geeigneten algorhytmus zu finden ist uns matze's werk ins auge gesprungen :cyclops: und wir(noch zwei andere personen aus meinem basiskurs informatik) versuchen nun eine für uns geeignete art zu finden dieses problem selbst zu lösen...wobei wir schon bugs gefunden haben :spin2:
uns fehlt einfach der ansatz um die ganze sache aufzuziehn...und die visualisierung fanden wir auf den ersten blick überladen ;) aber man gewöhnt sich dran wenn man es 2h lang versucht nachzuvollziehn :corky: mfg mobby |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz