Sudoku



  • Könnte mir eventuell jemand einen kleinen Tip geben, wie man ein Sudoku-Spiel mit C programmieren könnte?

    :xmas1:

    P.S.: Aufgabe: Schreiben Sie ein Programm, mit dessen Hilfe der Nutzer Spielzustände aus Textdateien laden, anzeigen, editieren und wieder in eine Datei schreiben kann. Beachten Sie, dass die Zellen eines eingelesenen Ausgangszustandes nicht mehr editierbar sein sollen. Zusätzlich gibt es eine "Undo-Funktionalität".



  • Du brauchst ein 9x9 Array (wenn du auch andere Formate verarbeiten willst, auch größer) für die einzelnen Felder und für jedes Feld eine Marke, ob es schreibgeschützt ist (die solltest du am besten mit ins Array packen). Als nächstes mußt du eine Überprüfung einbauen, ob ein Sudoku-Feld legal ist (keine gleichen Zahlen in Zeilen, Spalten oder 3x3 Blöcken).

    Für die Undo-Funktion benötigst du eine Liste von "Änderungen" (ändere Feld (x,y) von i auf j), in die du jede Aktion des Nutzers einträgst - die kannst du bei Bedarf von hinten abrollen, um den Ursprungszustand herzustellen.



  • Das mit dem 9x9 Array habe ich auch schon.
    Nur definiere ich schon Zahlen vor oder mache ich das mit Zufallszahlen (mit rand)? Weil ich ja die Spielzustände aus einer Datei laden soll!
    Oh man und so eine Aufgabe im 1. Semester 😉



  • Wenn du Spielstände aus einer Datei laden sollst, nimm dafür fscanf() oder fgetc():

    for(x=0;x<9;++x) for(y=0;y<9;++y)
      feld[x][y]=fgetc(eingabe);
    

    (zum Speichern des Spielstandes nimmst du analog dazu fputc())



  • DaKleene schrieb:

    Oh man und so eine Aufgabe im 1. Semester 😉

    was studierste denn?
    :xmas2:



  • Medieninformatik


Anmelden zum Antworten