[.NET] Zufallsprinzip - Sudoku

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von SaschaB, 12. März 2008 .

Schlagworte:
  1. 12. März 2008
    Zufallsprinzip - Sudoku

    Hey Leute,

    ich bin dabei ein projekt zu machen: und zwar sudoku.
    nehmen wir ein standard sudoku wie dieses hier:

    {bild-down: http://www.ratefux.de/raetselservice/sudoku/sudoku_schwer.gif}


    Meins ist folgendermaßen aufgebaut.. jedes einzelne 3x3 Feld hat ein eigenes 2 dimensionales feld wo ich die zahlen eingeben kann per zuweisung im quellcode.. das würde dann folgendermaßen aussehen:

    Code:
     feld(0, 0) = 1
     feld(0, 1) = 2
     feld(0, 2) = 3
     feld(1, 0) = 4
     feld(1, 1) = 5
     feld(1, 2) = 6
     feld(2, 0) = 7
     feld(2, 1) = 8
     feld(2, 2) = 9
    
    (gilt jetzt nur für das feld oben links)
    in meinem sudoku bekommt der benutzer aber die möglichkeit ein rätsel einzufügen, welches dann in einem feld gespeichert werden soll (9 2dimensionale felder)
    es werden auch auch schon so ~10rätsel vorgegeben fürs erste..

    und nun zu meiner frage:
    wie kann ich das am besten umsetzen, dass VB nach zufallsprinzip ein rätsel aufruft von mir aus.. er soll zwischen rätsel 1-15 eins aufrufen..
    man kann theoretisch den user abfragen welches man aufrufen möchte, aber das wäre schwachsinnig.. und deswegen grübel ich hier an einer besserne lösung..


    falls ich mir unklar ausgedrückt haben sollte bitte fragen.



    MfG,
    SaschaB
     
  2. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    lass dein programm eine zahl zwischen 1 und 15 wählen und rufe das sudoku auf
    oder lass jedes mal ein neues sudoku erstellen
     
  3. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    wie kann ich einem rätsel eine zahl zuweisen?

    wie kann man ein rätsel generieren ?
    wäre doch sehr umständlich oder geht das einfach?
     
  4. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    Wieso willsten du die einzelnen 3x3 Felder in mehreren Arrays speichern? Ich würd doch einfach alles in eines packen. Dann wäre das mit jedem Rätsel eine Zahl zu weisen auch nicht so schwer. Dann hättest halt 15 Arrays mit jeweils einem Sudoku drinnen.

    Ich würd dir aber auch empfehlen eins erstellen zu lassen. Sooo schwer is das auch nicht. Ich habs in ~140 Zeilen in C++ geschafft^^
    Kannst bei Wikipedia nachschauen, da sind mehrere Möglichkeiten beschrieben, wie mans generiert.
     
  5. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    Schritt 1: Nach den Regeln des Sodoku jedem Feld eine Zahl zuweisen.
    Schritt 2: Zufällig eine bestimmte Zahl an Feldern aufdecken.
    Schritt 3: Schauen ob, das Rätsel lösbar ist?
    Schritt 3.1: Wenn nich: Decke 2 neue zufällige Felder auf und gehe wieder zu Schritt 3
    Schritt 3.2: Wenn doch: FERTIG!

    Das ist das einzige Prinzip, wie man soetwas realisieren kann!

    mfg Oaf
     
  6. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    Hier mal nen passenden Link:
    Microsoft-Sudoku: Optimieren von UMPC-Anwendungen für Berührungs- und Freihandeingaben

    mfg nash
     
  7. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    vielen dank bis hier, ich werde es mal ausprobieren.

    noch eine kleine frage. gibt es eine funktion, die alle textboxen anspricht und die background color von allen ändert?
     
  8. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    nein aber du kannst ja auch alle textboxen in ein textbox-array packen und dan das array durchlaufen

    ich habe sudokus rekursiv erstellen lassen

    1also zahl reinschreiben
    2prüfen wenn lösbar spring zu 1
    wenn nicht lösche die letzte zahl
     
  9. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    okay ich habs.. muss nurnoch wissen wie ich die inhalte von einer form in eine andere form übertragen kann.. ich hoffe mir kann jemand helfn
    am besten noch ein beispiel machen^^
     
  10. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    Hab den Thread nicht gelesen, nur deinen letzten Beitrag. Also nicht gleich hauen, wenn ich was schreib, wonach du gar nicht gefragt hast

    Auf Elemente anderer Formen kannst du einfach so zugreifen:

    Formname.Elementname.WasAuchImmer = Schaf

    also zum Beispiel hast du in Form1_Load() folgendes drin:

    Code:
    Form2.TextBox1.Text = "asdf"
    Dann wird beim Laden der Form1 "asdf" in die Textbox "TextBox1" der Form2 geschrieben :]
     
  11. 12. März 2008
    AW: Zufallsprinzip - Sudoku

    vielen dank gibbon, auf dich ist immerwieder verlass udn du bist mir auch immerwieder ne bw wert .. werde ich dann mrogen ausprobieren.. so far gn8
     
  12. 13. März 2008
    AW: Zufallsprinzip - Sudoku

    hmm bin grad am knobeln.. ich möchte aus der form 'editor.vb' ein 2-dimensionales feld in die form schwierig.vb laden.. sodass es dort in eine funktion gespeichert wird, die er aber vorher noch generiert.. wie kriege ich das hin?
     
  13. 13. März 2008
    AW: Zufallsprinzip - Sudoku

    Entweder machst du in der schwierig.vb eine Public-Funktion:

    Code:
    Public Function MachIrgendwasMitDemArray(ByVal iArray() As Integer)
    ...
    End Function
    So greifst du drauf zu (der Code steht in der editor.vb):

    Code:
    blubb = schwierig.MachIrgendwasMitDemArray(bla)
    oder du deklarierst das Array in der schwierig.vb als Public:

    Code:
    Public iArray(5, 5) As Integer
    Dann greifst du von der editor.vb aus so drauf zu:

    Code:
    schwierig.iArray(x, x) = 1234
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.