Autor Beitrag
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Di 17.02.15 12:53 
Mit dem Programm lassen sich Kendokus generieren, angeregt durch user profile iconHorst-Dieter und user profile iconMathematiker.
Hier noch einmal die Regeln: www.janko.at/Raetsel/Kendoku/Regeln.htm
Meine Version benutzt einen Permutationsalgorithmus zum Erzeugen.
user defined image
Die Bereiche werden in Koordinaten im Memo angezeigt, kann bei Bedarf gespeichert werden.
Insgesamt sind 28 Muster implementiert, 1 bis 4 Elemente groß.
Wenn keine Einzelfelder gewünscht sind kann die Erzeugung länger dauern, Abbruch mit <esc>.
Beim Spielen wird ein Wert mit linker bzw. rechter Maustaste erhöht bzw. verringert.
Richtige Zahlen können markiert angezeigt werden.
Das Kendoku kann auch als Bitmap gespeichert werden, zum ausdrucken bzw. weiterverarbeiten.
Abgespeicherte Kendokus liegen nur in Koordinaten vor.
Korrekte Muster kann das Programm lösen. Dies wird per brute force über Permutationen ausgeführt.
Kann etwas länger dauern, ein Versuchszähler wird angezeigt , Abbruch mit <esc>.
Eigene Kendokus können selbst konstruiert werden
user defined image
Aufgaben gibts hier: www.janko.at/Raetsel/Kendoku/index.htm
Viel Spaß beim Testen
Gruß Fiete

Edit1: Prozedur EndeTest geändert
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)


Zuletzt bearbeitet von Fiete am Di 17.02.15 17:57, insgesamt 2-mal bearbeitet

Für diesen Beitrag haben gedankt: Mathematiker
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Di 17.02.15 14:59 
Hallo,

Ich habe das Originalprogramm ausprobiert.
bei Dieter3_5x5.txt erscheint bei der Eingabe der 5, durch Mausklicks, oben links in der Ecke, das Kendoku ist gelöst??? Liegt das an Linux-Wine oder ist das so gewünscht?

Gruß Horst
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Di 17.02.15 15:13 
Moin Horst_H,
Zitat:
Ich habe das Originalprogramm ausprobiert.
bei Dieter3_5x5.txt erscheint bei der Eingabe der 5, durch Mausklicks, oben links in der Ecke, das Kendoku ist gelöst??? Liegt das an Linux-Wine oder ist das so gewünscht?

passiert bei mir nicht. Delphi6 pro und W7

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Di 17.02.15 16:03 
Hallo,

unter Win7 und immer noch die Original-Echse:
Ich habe scheinbar 6 mal geklickt...
KendokuDieter3_5x5

Gruß Horst
EDIT:
Ich habe nach dem Laden auf Kendoku spielen gedrückt und nicht auf lösen .....
Einloggen, um Attachments anzusehen!
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Di 17.02.15 17:51 
Moin Horst_H,
konnte den Fehler reproduzieren,
in der Prozedur EndeTest war der Wurm :oops:
alt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TKendoku.EndeTest;
  var x,y:Integer;
      OK:Boolean;
  begin
   OK:=True;
   for y:=1 to Feldbreite do
    for x:=1 to Feldbreite do
     OK:=OK and (Feld[x,y].Inhalt=Loesung[x,y].Inhalt);
    if OK then
     begin
      Ausgabe.Enabled:=False;
      BlauesFeld;
      MusterZeichnen;
      MessageDlg('Du hast das Kendoku gelöst!',mtInformation,[mbOk],0);
      Spielen:=False;
      CheckBoxKE.Checked:=False;
     end
   end;

neu
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TKendoku.EndeTest;
  var x,y:Integer;
      OK:Boolean;
  begin
   OK:=True;
   for y:=1 to Feldbreite do
    for x:=1 to Feldbreite do
     OK:=OK and (Feld[x,y].Inhalt=Loesung[x,y].Inhalt) and (Loesung[x,y].Inhalt>0);
    if OK then
     begin
      Ausgabe.Enabled:=False;
      BlauesFeld;
      MusterZeichnen;
      MessageDlg('Du hast das Kendoku gelöst!',mtInformation,[mbOk],0);
      Spielen:=False;
      CheckBoxKE.Checked:=False;
     end
   end;

Das Array Loesung wird nach dem Laden auf Null gesetzt, menschliches Versagen.
Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Di 17.02.15 17:57 
Hallo,

wozu sind denn DAU's sonst gut ;-)

Gruß Horst