Turm von Hanoi grafisch darstellen (JAVA)

Hallo zusammen!

Im Moment machen wir in Java mit Hilfe von einem Stack/Keller das Spiel Turm von Hanoi.

Ich habe vor, die Scheiben alle als Rechtecke darzustellen. Allerdings weiß ich eben nur nicht, wie, denn bei jedem Methodenaufruf muss die Scheibe ja von STapel 1 zu Stapel 3 z.B. verschoben werden…

Würde mich sehr über eure Hilfe freuen!!

LG

Hi,

es gibt zwei einfache Strategien. Die erste malt das Bild im Hintergrund für jeden Schritt neu und kopiert dann die Pixmap ins Grafikfenster.

In der zweiten Strategie malst Du über das zu verschiebende Rechteck ein weißes (allg. Hintergrundfarbe) und malst es dann an der neuen Stelle neu. Wenn Du den Verschiebevorgang animieren willst, dann kannst Du genauso vorgehen. Allerdings kann es passieren, dass Malen und Übermalen so schnell hintereinander passieren, dass der Vorgang nicht mehr dargestellt wird.

Du kannst natürlich auch beides kombinieren und die Pixmap im Hintergrund immer nur lokal ändern.

Gruß, Lutz

MM danke aber wie genau funktioniert das?^^

Hallo,

ich habe mir mal ne Lösung in VBA gebastelt, dürfte aber auch analog zu verwenden gehen (kenne mich nur mit JAVA nicht aus).

als „Scheiben“ habe ich keine (grafischen) Recktecke sondern Schaltflächen benutzt; diese unterschiedlich breit und mit schönen Farben :smile:
Mit dem MouseMove-Ereignis (oder so; bin mir nicht mehr sicher) habe ich diese Schaltfläche dann an den Mauskoordinaten verschieben lassen (also wenn MausX + war wurde auch die Schaltfläche nach rechts verschoben …). Und wenn die Schaltfläche in Nähe eines entsprechenden Turmes (gezeichnete „Stange“) war wurde die Schaltfläche / Scheibe automatisch an der passenden Höhe angedockt.
Durfte die Schaltfläche nicht verschoben werden (da nicht die oberste) wurde sie wieder zurück an ihren Platz gelegt :smile:

MfG
Tobi@s