AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi 6: Zwischenstand von Türme von Hanoi speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 6: Zwischenstand von Türme von Hanoi speichern

Ein Thema von scholzbaer · begonnen am 13. Dez 2005 · letzter Beitrag vom 24. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
scholzbaer

Registriert seit: 29. Okt 2005
3 Beiträge
 
#1

Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 00:10
Hallo.

Ich möchte das sogenannte Zwischenergebnis von Türme von Hanoi abspeicher, also z.B. eine scheide liegt auf Stab 1, 2 auf Stab 2 und keine auf Stab 3.

Wie kann man das denn am besten speichern ??
Gibt es eine Möglichkeit das Bild was sich dadurch ergibt irgendwie zu speichern und dieses dann auch wieda zu laden und an dieser Stelle weiter zu spielen. Da wäre doch eine Bitmap oda eine INI Datei ungeeignet dafür oder ??

Danke schon jetzt.
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 00:42
Herzlich Willkommen in der DP

Nun, Du könntest jedes mal wenn eine Scheibe auf einer Stange ist (also hingeschoben wird) einen Boolean-Wert auf true setzen, jeweils hast du dann Eigenschaften. Für Stange1 zB. 1=true,2=true würde dann zB heißen, dass du die 2 größten oder kleinsten scheiben auf der stange hast. du könntest also final abfragen, welche werte pro stange wie geseztzt sind und somit realtiv problemlos erfahren, welche scheibe wo drauf ist.
mfg zecke
  Mit Zitat antworten Zitat
scholzbaer

Registriert seit: 29. Okt 2005
3 Beiträge
 
#3

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 09:30
Danke für den Tip aber soweit hab ich auch gedacht das es gehen würde, nur leider bin ich net so das delphi genie das ich mir da den code selbst zusammmenbauen kann.

Für ne kleine Hilfe wäre ich sehr dankbar.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 09:37
Herzlich Willkommen in der DP!

Nun auf welche Art hast deine Türme programmiert? Rekursiv oder mit der Formel?

Wenn du die Formel genommen hast dann musst du nur die Nummer und die Türme mit den Feldern(Array[0..Anz_Scheiben] of Boolean, für jeden Turm)des aktuellen Zuges in ne Datei(Stream ist denke ich empfehlenswert) speichern.

Beim laden einfach die Scheiben auf die Türme verteilen und die Schleife von der angegebenen Position weiterlaufen lassen.

Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
scholzbaer

Registriert seit: 29. Okt 2005
3 Beiträge
 
#5

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 09:58
Eigentlich hab ich das Programm rekursiv umgesetzt. Hier ist der Code mit dem Algorithmus:

Delphi-Quellcode:
procedure BewegeTurm (Quelle, Hilf, Ziel : char; n : integer);
begin
   if n = 1 then {Ende der Rekursion}
   begin
      BewegeStein (Quelle, Ziel, 1);
      pause (Form1.Geschw*125);
   end
   else
   begin
      BewegeTurm (Quelle, Ziel, Hilf, n-1);
      if Not Form1.Gestartet then Exit;
      BewegeStein (Quelle, Ziel, n);
      pause (Form1.Geschw*125); { unterbrechbare Pause, besser als 'Sleep' }
      if Not Form1.Gestartet then Exit;
      BewegeTurm (Hilf, Quelle, Ziel, n-1)
   end
end;
Nun will ich wie gesagt den Zwischenstand abspeichern, hab aber absolut keine Ahnung wie.
Hab mich schon nen bissl belesen zu dem Thema aber nichts brauchbares gefunden.
Ich hatte mir überlegt den Zwischenstand als Bild zu speichern z.B. eine .bmp. Aber da stellen sich sicherlich 2 Probleme, ich denke das ich 1) nur schwer wenn überhaupt die Daten aus dem Bild kriege und 2) das ich net weiterspielen kann wenn ich die Datei dann mal wieda geladen habe.

Wäre echt froh, wenn ich mir helfen könntet. Danke

[edit=MrSpock]Delphi Tags hinzugefügt. Mfg, MrSpock[/edit]
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 13. Dez 2005, 10:25
BewegeStein ist die Scheibe verschieben oder?

davor oder danach einfach speichern von wo nach wo du die Scheibe geschoben hast zusätzlich noch das aktuelle n dann für das laden musst du vmtl. ne extra Funktion schreiben, die es behandeln kann das man ein n eingibt und ab diesem Punkt dann alles verschoben wird.

ich glaub sogar du brauchst keine neue Funktion, musst einfach BewegeTurm mit den gespeicherten Werten aufrufen

also du brauchst en Record mit:

gesamtn : integer;
aktn : integer;
von,nach,hilf : char;

dann die drei arrays:

t1,t2,t3 : array[0..gesamtn]of Boolean;(variables array mit SetLength(t1,gesamtn+1)setzt du die Länge)

dann speicherst du das ganze mit einem Filestream ab,
die Länge der array ist ja gesamtn+1, dürfte also kein Problem sein es zu speichern und dann nochmal zu laden.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
ajaxson

Registriert seit: 6. Sep 2007
14 Beiträge
 
#7

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 24. Feb 2008, 16:12
wie sieht denn die procedure BewegeStein aus?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 24. Feb 2008, 16:14
Ich denke, nach über 2 Jahren hat sich das Problem erledigt ^^.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ajaxson

Registriert seit: 6. Sep 2007
14 Beiträge
 
#9

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 24. Feb 2008, 16:23
^^ja aber ich versuch das mit den türmen ähnlich zu lösen...und irgendwie komm ich da nicht weiter...
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Delphi 6: Zwischenstand von Türme von Hanoi speichern

  Alt 24. Feb 2008, 16:38
Zitat von scholzbaer:
also z.B. eine scheide ...
*räusper*

Zitat von ajaxson:
^^ja aber ich versuch das mit den türmen ähnlich zu lösen...und irgendwie komm ich da nicht weiter...
Vielleicht hilft dir dieser Beitrag ein wenig weiter.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz