Sudoku-Algorithmus

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Klip

Betreff: Sudoku-Algorithmus

BeitragMi, Mai 03, 2006 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag zusammen.

Viele aus meinem Bekanntenkreis lieben Sudoku. Da dachte ich mir, ich schreibe ein kleines Sudokuprogramm für zwischendurch.

Es soll Sudoku-Zahlenrätsel erstellen, die man dann per Klick lösen kann. Nach reichlicher Überlegung ist mir leider nicht in den Sinn gekommen, wie ich einen Algorithmus zur Erstellung eines solchen Rätsels aufsetzen soll.

Das ist mein Ansatz:
Code: [AUSKLAPPEN]

Function MakeLevel()

   For x = 10 To 405 Step 45
      For y = 10 To 405 Step 45
         map(x,y) = Rnd(1,9)   ; give any value                                    
         Text x,y,map(x,y)
         Rect x,y,40,40,0
      Next
   Next

End Function


Das klappt soweit. Wie man allerdings sehen kann, werden bisher nur zufällige Zahlen überall hingemalt. Ich dachte, ich könnte vielleicht prüfen, ob es waagerecht und senkrecht diese Zahl schon gibt. Wenn ja, soll sie geändert werden, wenn nein, kann sie so stehen bleiben.

Nur irgendwie habe ich gerade einen Hänger, wie ich das machen soll. Sollte ich zweimal eine komplette For-Schleife durchlaufen lassen?

Im ersten Durchlauf trage ich zufällige Werte ein, im zweiten beginne ich oben links und verändere die Zahlen in den Kästen? Nein, kann nicht klappen. Also muss ich der Reihe nach gehen.

Aber wie? Hat wer einen Tipp?
 

ke^kx

BeitragMi, Mai 03, 2006 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde es so machen, dass ich ein paar Zahlen, soweit es geht in Zufällige Felder eintrage. Dabei überprüfst du immer, in welche Felder es noch möglich ist welche Zahlen einzutragen und suchst dann eine von ihnen aus.

Dann hast du zwar noch keine Schwierigkeistabstufung, es funktioniert aber trotzdem gut^^

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Iguan

BeitragMi, Mai 03, 2006 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
dies könnte dir dabei helfen:

http://www.kompf.de/sudoku/algo.html

Iguan

BeitragMi, Mai 03, 2006 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
du könntest den code posten, wenns du's hingekriegt hast...? bin gespannt!

Klip

BeitragMi, Mai 03, 2006 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat mir schon einmal geholfen. Werde mich gleich noch einmal daransetzen.

Danke, ihr beiden.


Wenn ich eine Lösung gefunden habe, kommt die hier rein oder ins Archiv, versprochen =)

Digi_

BeitragDo, Mai 04, 2006 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Dies könnte dir auch helfen: http://de.wikipedia.org/wiki/S...er_Sudokus

Kryan

BeitragDo, Mai 04, 2006 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab den webseitenbetreiber von kompf.de mal um den code gebeten...mal sehen ob er ihn rausrückt Very Happy
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Gerhard

BeitragDo, Mai 04, 2006 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder schau mal im Code-Archiv unter Sudoku-Rätsel-Lösungs-Programm.

Clonker

BeitragDo, Mai 04, 2006 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe heute einen Sudoku Generator und Löser geschrieben.
Das Ergebnis gibt es im Codearchiv:
https://www.blitzforum.de/foru...hp?t=17857
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.

Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group