WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Türme von Hanoi mit grafischer Oberfläche

 

styxpepe
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2016, 18:08     Titel: Türme von Hanoi mit grafischer Oberfläche
  Antworten mit Zitat      
Hallo Zusammen,
ich hoffe ihr könnt mir helfen.

Ich möchte gerne Die Türme von Hanoi auf Matlab programmieren mit einer grafischen Oberfläche.

Das ist ein kleines "Spiel", bei dem man 3 Säulen hat und 2 oder mehr Scheiben von einer Säule auf eine andere verschieben soll. Dabei dürfen nur kleine auf größeren Scheiben liegen etc.

Ich habe leider zuvor noch nicht mit Matlab gearbeitet. Ich habe mir schon ein paar Gedanken gemacht wie ich das ganze angehe.

Ich habe das Skript:
Code:

% Script to do Towers of Hanoi in Matlab
num = input('Towers of Hanoi: How many disks?\n');
fprintf('\n\n');
towers(num,'a','c','b');
fprintf('\n\n')

und die Funktion:

function[] = towers(n,frompeg,topeg,auxpeg);
if (n == 1)
 fprintf('\t move disk 1 from peg %c to peg %c \n',frompeg,topeg);
 else
 towers(n-1,
 frompeg,auxpeg,topeg);
 fprintf('\t move disk %d from
 peg %c to peg %c \n',
 n,frompeg,topeg);
 towers(n-1,auxpeg,topeg,frompeg);
end;
 


wie bekomme ich hierzu eine grafische Oberfläche? In dieser möchte ich die 3 Scheiben anklicken und verschieben können. Dabei möchte ich eine Aussage bekomme ob dieser Zug möglich oder nicht möglich ist.

Danke für die Hilfe!
edit winkow: bitte code umgebung verwenden.

Turm3.gif
 Beschreibung:

Download
 Dateiname:  Turm3.gif
 Dateigröße:  3.32 KB
 Heruntergeladen:  394 mal


Zuletzt bearbeitet von styxpepe am 11.04.2016, 18:29, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 11.04.2016, 18:22     Titel:
  Antworten mit Zitat      
Zitat:
Ich habe mir schon ein paar Gedanken gemacht wie ich das ganze angehe.
und welche sind das?
welche probleme sind bei der umsetzung aufgetreten ? im fex giebt es bereits etwas mit grafischer darstellung.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
styxpepe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2016, 08:28     Titel:
  Antworten mit Zitat      
Ich komme nicht mit dem Grafischen bereich klar. Die Programmierung ist relativ simpel.
Kann mir jemand dabei helfen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.04.2016, 08:45     Titel:
  Antworten mit Zitat      
Hallo styxpepe,

Na klar kann man Dir helfen. Bitte stelle eine konkrete Frage, damit wir Dir antworten können! Wie soll es denn aussehen? Was hast Du bisher versucht? An welchem Detail scheiterst Du gerade?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
styxpepe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2016, 08:53     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort.

Ich möchte gerne:

3 Türme (Stäbe), auf dem ersten Turm sollen beim Start 3 Scheiben (Farbige Balken oder ähnliches) liegen. Diese soll man verschieben können und auf die anderen Türme verteilen können. Dabei soll immer eine Fehlermeldung angezeigt werden wenn der Zug nicht möglich ist.

Ich habe leider überhaupt keine Ahnung wie ich das ganze Umsetzen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.04.2016, 17:07     Titel:
  Antworten mit Zitat      
Hallo styxpepe,

Du kannst hier Grafiken in 2D oder 3D erzeugen, aber auch bunte Buchstaben im Command-Window ausgeben. Du kannst Buttons unter den Türmen einfügen um den Start- und Endpunkt der Bewegung vorzugeben, oder die Scheiben mit der Maus dragbar machen. Bei 3D-Grafiken wären Schatten und Texturemapping auf den Obeflächen natürlich hübsch.
Kurz: Es gibt 1000 Möglichkeiten. Da nicht klar ist, welchen aufwand Du betreiben möchtest, ist eine Antwort deswegen kaum möglich.

Schaue Dir doch einfach mal andere Implementierungen an, da gibt es im Internet ja jede Menge Beispiele.

Wenn Du wirklich "überhaupt keine Ahnung" hast, wie man das Umsetzt, wäre es vielleicht eine Überlegung wert, ob Du dies als Programmierauftrag in der entsprechenden Kategorie postest. Das könntest Du dann als Tutorial für die Erstellung von Matlab-GUIs verwenden. Das ist aber auch gleich schon ein gutes Stichwort: Suche im Netz doch mal nach "Matlab GUI tutorial".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
styxpepe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2016, 17:41     Titel:
  Antworten mit Zitat      
Ich gebe es nun auf selbst hierzu eine Lösung zu finden. Falls jemand Interesse hat diese Aufgabe zu lösen und sich eine "Kleinigkeit" dazu zu verdienen mag sich bei mir per PN melden mit Preisvorstellung.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 25.04.2016, 20:43     Titel:
  Antworten mit Zitat      
was gefällt denn an der lösung im fex nicht?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
styxpepe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2016, 18:24     Titel:
  Antworten mit Zitat      
Was meinst du? Welche Lösung im FEX?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.04.2016, 18:38     Titel:
  Antworten mit Zitat      
wie jan bereits hingeweisen hat giebt es im netz viele lösungen unter anderem giebt es auch im FEX von matlab eine grafische lösung. die meine ich. einfach hanoi im fex suchen. wenn du nicht weis was fex ist. der erste anschlag bei google unter matlab fex.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
styxpepe
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 11.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2016, 18:48     Titel:
  Antworten mit Zitat      
Okay ich habe es nun gefunden was ihr meint.
Ich möchte das ganze aber viel einfacher haben und nicht so kompliziert. Kann man davon irgendwo eine "abgespeckte Version" finden?

Mir reichen lediglich 3 scheiben aus.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.