AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Aufgabe: Algorithmus eines Zauberwürfels
Thema durchsuchen
Ansicht
Themen-Optionen

Aufgabe: Algorithmus eines Zauberwürfels

Ein Thema von p0ke · begonnen am 6. Jan 2004 · letzter Beitrag vom 8. Okt 2006
 
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Aufgabe: Algorithmus eines Zauberwürfels

  Alt 8. Okt 2006, 15:01
Zitat von Corpsman:
Sobald ich den Würfel mehr Verdreht habe ist die Rechenzeit derartig explodiert das nichts mehr ging. Zusätzlich mus man ja noch speichern wie man auf die Lösung kommt. Das hat mein 1 GB RAM Speicher dannn auch noch zerlegt.
Ließe sich das Problem nicht lösen? Ideal wäre es, wenn die Drehungsfolge an der Wegnummer ablesbar wäre.

Wenn das nicht ginge/zu kompliziert wäre:

Delphi-Quellcode:
private
  FBestWay: array of Byte; // Speicherung des bisher besten Weges
  FCurrentWay: array of Byte; // Speicherung des aktuell berechneten Weges
  function AllTried(const Way: array of Byte): Boolean; // prüft, ob alles probiert wurde
  procedure CalcWay(var Way: array of Byte); // Berechnet nächsten Weg
  function Solved(var Way: array of Byte): Boolean; // geht Drehungen durch,
                                                    // bei Lösung: verkürzt Way und gibt True zurück
{...}

implementation

procedure TForm1.btnLoesen1Click(Sender: TObject);
var
  i: Byte;
begin
  SetLength(FCurrentWay, 30);
  for i := 1 to 29 do
    FCurrentWay[i] := 1;
  FCurrentWay[30] := 0;
  repeat
    CalcWay(FCurrentWay);
    if Solved(FCurrentWay) then
    begin
      SetLength(FBestWay, Length(FCurrentWay);
      FBestWay := FCurrentWay;
    end;
  until AllTried(FCurrentWay);
end;

{...}
  Mit Zitat antworten Zitat
 


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 06:00 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