Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Das HAus des Nikolaus (https://www.delphipraxis.net/15900-das-haus-des-nikolaus.html)

ATwardz 5. Feb 2004 23:11


Das HAus des Nikolaus
 
Liste der Anhänge anzeigen (Anzahl: 2)
Endlich habe ich mal Zeit gefunden meine Projekte zu sortieren/löschen!

Naja, dabei sind meine alten Schulprojekte wieder ans Tageslicht gekommen und da habe ich mir gedacht, da "Das Haus des Nikolaus" zum Lehrplan eines Infokurses am Gym gehört oder besser gesagt Backtracking, das ich es hier mal als open source präsentiere!


Das Programm listet alle Möglichkeiten das Haus des Nikolaus zu zeichnen auf (Bei 1 beginnend)<--sorry hatte ich voirher falsch beschrieben!
Das Programm macht keine Fehler, es sind wirklich 44 Möglichkeiten! Wer es nicht glaugt kann sie sich per Listbox-Doppelklick zeichnen lassen!




Wird gerne auch von Lehrer als Facharbeit vergeben! :coder:

Es gibt noch viele weiter schöne Beispiele die man coden kann, z.B.
das Problem der 9 Damen auf einem Schachbrett oder ein Solitär-Spiel zu coden!

Vielleicht kann es ja jemand gebrachen oder hat freude dran!

@wardz

Dax 6. Feb 2004 06:20

Re: Das HAus des Nikolaus
 
Häng's doch wegen glaichberechtigung noch mal als .ZIP an...
Bitte?

ims 6. Feb 2004 06:53

Re: Das HAus des Nikolaus
 
krass :shock: , hätte nicht gedacht, dass es soviele lösungen gibt. cooles progi, danke dir! :thuimb:

@Dax: mach doch WinRar drauf, dann spielts keine rolle :wink: ... winrar kann auch .zip-dateien erstellen...

himitsu 6. Feb 2004 09:34

Re: Das HAus des Nikolaus
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich dachte auch nicht, dass es soooo viele sind, hatte sogar den Verdacht, bei dir kommen auch die spielgelverkehrten Varianten vor. (wo bei 2 begonnen wird)

Aber mal 'ne Frage: gibt es keine Varianten, wo bei 5, oder 4 begonnen wird?

MikeS 6. Feb 2004 10:18

Re: Das HAus des Nikolaus
 
Moin zusammen!

Ich finde das Programm sehr interessant und die vielzahl an Lösungen!
Bei mir tritt jedoch folgender Fehler auf!

List index out of bounds(-1)

dies geschieht wenn ich durch doppelklick eine folge zum zeichnen
ablaufen lasse und dann auf start drücke!

vielleicht läßt sich da noch was machen!

hacker 6. Feb 2004 10:26

Re: Das HAus des Nikolaus
 
Hi!

Das programm ist toll!!Gute idee! :thuimb:
Jedoch entsteht bei mir der selbe fehler wie bei MikeS.
Das lässt sich wohl noch ändern...


Gruss Häcki :hi:

ATwardz 6. Feb 2004 10:38

Re: Das HAus des Nikolaus
 
Hi,

erstmal danke für die Blumen!

HAcker, bei mir funktioniert das Programm ohne Fehlermeldeung!
Hast du etwas am Code Verändert?

Diese Fehlermeldeung mzss mit folgender Zeile in Verbindeung stehen!

Delphi-Quellcode:
Wert:=strtoint((listbox.Items.Strings[listbox.itemindex])[ida]);
Setze mal für listbox.itemindex EINS ein und schau ob er dir die erste Lösung zeichnet!

Des weiteren sollten die Werte vor der Timeraktivierung diese Werte enthalten!
Delphi-Quellcode:
  ida:=1;
  Wert:=0;

Stell den Timer so aus 500-1000 sonst kommt der Rechner nit mehr nach!

Sag bescheid ob du weiter gekommen bist!

@wardz

MikeS 6. Feb 2004 10:41

Re: Das HAus des Nikolaus
 
@ATwardz

hast Du meinen vorherigen Beitrag auch gelesen!
Habe nichts am Code geändert und bin wie beschrieben vorgegangen!

ATwardz 6. Feb 2004 10:49

Re: Das HAus des Nikolaus
 
Hi,

Setz mal zu Anfang des Startbutton clicks!

Timer1.enabled:=false;
Resetgrafik;

Dann müsste es gehn, werde die verbesserte Version auch hochladen!

@wardz

ATwardz 6. Feb 2004 10:58

Re: Das HAus des Nikolaus
 
Zu himitsu!

Gemeint sind alle Lösungen von 1 beginnen sorry!
Natürlich sind alle spiegelverkehrten Lösungen ebenfalls möglich!

Soweit ich weiss kann man nur bei 1 und 2 anfangen aber du kannst ja die startpositionen verändern un gucken ob es ne Lösung gibt! :-D

@wardz

hacker 6. Feb 2004 11:29

Re: Das HAus des Nikolaus
 
Zitat:

Setz mal zu Anfang des Startbutton clicks!

Timer1.enabled:=false;
Resetgrafik;
jetzt gehts!
Was mir aber noch unerklärlich ist, wieso das du einen Start Button gesetzt hast...eigentlich könntest du die Ergebnisse schon von Anfang an ausgeben...es bringt ja nichts wenn man 2-mal auf Start klickt.


Gruss Häcki :hi:

ATwardz 6. Feb 2004 11:43

Re: Das HAus des Nikolaus
 
Wieso 2 mal start clicken? Du brauchst nur einaml start kicken!
Delphi-Quellcode:

procedure TForm1.BT_startClick(Sender: TObject);
begin
  Timer1.enabled:=false;
  Resetgrafik;
  Memo1.Clear;
  Zaehler:=0;
  SucheLoesung(8);
end;
so soll der Code dann aussehn, oder meinst du warum ich die komplette SucheLoesung procedure nicht einfach in das Button Ereignis gepackt habe?
Das mache ich erstens aus Übersichtlichkeitsgründen so und zweitens ist die Procedure ja private!
oder was meinst du?

@wardz

hacker 6. Feb 2004 11:59

Re: Das HAus des Nikolaus
 
Was ich meine ist, dass du denn Start Button wegnehmen könntest und die Ergebnisse im OnCreate der Form berechnen lassen könntest...es bringt ja nichts 2-mal auf den Start Button zu klicken und die Ergebnisse 2-mal zu berechnen.....


Gruss Häcki :hi:

ATwardz 6. Feb 2004 12:13

Re: Das HAus des Nikolaus
 
Ach so, ja da hast natürlich recht! :-D

Weiss auch nit ich mag Buttons :freak:

@wardz

himitsu 6. Feb 2004 12:23

Re: Das HAus des Nikolaus
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Fehler mit beim Start-Button ist beseitigt.

Alle Startpunkte werden getestet.
(OK - es funktioniert nur von Punkt 1 und 2 aus)

Global definierte, aber nur Lokal verwendete Variablen/Proceduren, wurden in den entsprechenden lokalen Bereich verschoben.

Die nicht verwendete Variable "Zaehler" wurde entfernt.

...



Wer keinen Start-Button haben möchte, der braucht nur die Prozedur für das Form1-OnCreation-Ereignis folgender Masen zu ändern. ^^
Delphi-Quellcode:
  Procedure TForm1.FormCreate(Sender: TObject);
    Begin
      BT_startClick(Sender);
    End;

[ADD]
Ach ja, wieso heißt eigendlich die ListBox "Memo1"?

und das DoppelClick-Ereignis wird jetzt auch für das OnClick-Ereignis verwendet.
Also reicht jetzt ein einfacher Click zum Anzeigen schon aus. Und beim Item-Wechsel mittels Tastatur wird es auch angezeit.

ATwardz 6. Feb 2004 15:08

Re: Das HAus des Nikolaus
 
Hi,

da das hier die Open-source Kategorie ist wäre es natürlich auch sinnvoll das Projekt zu posten anstatt nur die EXE! :cyclops:

Mir ging es eigentlich auch hauptsächlich um den Code und die Arbeitsweise des backtrackings, der rest ist hat geschmackssache ob nan nun noch n Button drückt oder nit!

:arrow: Den Fehler habe ich beseitig!

@wardz

dizzy 6. Feb 2004 15:19

Re: Das HAus des Nikolaus
 
Öhm, hatter doch! Ist, wie es dabei steht, ein SFX-Archiv. Alles drin...

Besser mal probeldownloaden vorm meckern ;)

Matze 6. Feb 2004 15:22

Re: Das HAus des Nikolaus
 
Dann mecker ich mal. :P

Bei mir öffnet sich das SFX-Archiv nicht.


@ATwardz:
Das Programm ist wirklich cool! :thumb:

ims 6. Feb 2004 15:24

Re: Das HAus des Nikolaus
 
bei mir leider auch nicht... da tut sich nix wen ich's anklick...

dizzy 7. Feb 2004 00:31

Re: Das HAus des Nikolaus
 
!?!? :gruebel: :wiejetzt:

Hatte keine Probleme beim öffnen. Ihr solltet evtl. mal gucken, WO das Verzeichnis angelegt wird!!! Ihr werdet nämlich nicht gefragt - das Teil entpack einfach dorthin, wo es liegt bzw. erzeugt dort einen neuen Ordner und packt sich dahin. Keine Dialoge, keine Erfolgsmeldung. Einfach so. Mir fiel es sofort auf, da ich es auf'm Desktop entpackt hab.

Müsster mal richtich guggen Freunde :roll: :zwinker:



gruss,
dizzy

MikeS 7. Feb 2004 08:46

Re: Das HAus des Nikolaus
 
Also wie dizzy schon geschrieben hat funktioniert einwandfrei!

Ich frage mich nur wieso du die lösungen mit zwei jetzt extra aufgeführt hast!
Sie stehen doch alle schon einmal da! Du mußt doch nur die die mit 1 beginnen von hinten
lesen!

Seniman 7. Feb 2004 11:02

Re: Das HAus des Nikolaus
 
Hallo,

ich kann euch sagen, warum man an den unteren Punkten anfangen muss, damit man das Haus des Nikolaus zeichnen kann:
Schaut euch die einzelnen Punkte (in der Graphentheorie heißen die Knoten) an und notiert zu jedem, wie viele Linien von dem jeweiligen Punkt ausgehen. Bei den beiden oberen sind das 4 bei den unteren Knoten 3.
Jetzt die clevere Überlegung: Wenn man an einem Knoten mit 4 Linien startet, dann bedeutet das, dass man den Punkt über eine der Verbindungen verlässt, irgendwann kommt man wieder an diesen Punkt, dann sind noch 2 Verbindungen übrig. Verlässt man ihn wieder ist noch eine Verbindung übrig. Dann läuft man irgendwann später nocheinmal über diese Verbindung und kommt von dem Punkt nicht mehr weg, denn es ist keine Verbindung mehr da.
Also gilt: Wenn man auf einem Knoten mit einer geraden Anzahl von Linien anfängt, dann muss man notwendigerweise auch an diesem Knoten wieder aufhören, oder es werden nicht alle Linien gezeichnet.
Bei den ungeraden Knoten ist es genau umgekehrt: Beginnt man auf einem ungeraden Knoten, dann ist diese nicht der Knoten auf dem man endet und umgekehrt.
Deswegen: Man kann ein solches Gebilde nur dann zeichnen, wenn es entweder genau 2 oder keinen ungeraden Knoten enthält. Im ersten Fall muss man bei einem der ungeraden Knoten anfangen und bei dem anderen aufhören, im zweiten Fall ist es egal.
Das ganze ist auch unter dem Namen "Sieben-Brücken-Problem" bekannt.

Grüße
Seniman

Matze 7. Feb 2004 11:06

Re: Das HAus des Nikolaus
 
@dizzy: Du hast Recht, es geht. :oops:

Ich hab es auch auf dem Desktop ausgeführ, jedoch war dieser so voll, da hab ich's gar nicht bemerkt. :angle2:

Tommy1988 8. Jun 2007 19:18

Re: Das Haus des Nikolaus
 
Liste der Anhänge anzeigen (Anzahl: 1)
Meine Version sieht so aus..


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 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-2025 by Thomas Breitkreuz