Klassen Sudoku-Spiel Werte werden nicht gesetzt

crownicon

Mitglied
Hallo alle zusammen,

Ich soll ein Sudoku-Spiel Programmieren. Es liest aus einem Beispiel.txt die Zahlen ein und soll dann den Spieler spielen lassen. Ich lass euch einfach den Code mal hier vielleicht sieht ja jemand meinen Fehler :)
Java:
import java.util.*;
import java.io.*;
public class TestSudoku {
  public static void main(String[] args) throws IOException {
    Sudoku test = new Sudoku("beispiel.txt");                         
   
    Scanner in=new Scanner(System.in);
    boolean solved=false;  
   
    do{
      test.print();
      System.out.println("Zeile:");
      int tempzeile=in.nextInt();
      byte zeile=(byte)tempzeile;
     
     
      System.out.println("Spalte:");
      int tempspalte=in.nextInt();
      byte spalte=(byte)tempspalte;
     
      System.out.println("Wert:");
      int tempwert=in.nextInt();
      byte wert= (byte)tempwert;
     
      char pruef=test.setze(zeile,spalte,wert);
     
      switch (pruef) {
        case 'p'  :  System.out.println("Bitte Nur Zeilen oder Spalten zwischen 1 und 9!");
       
        break;
        case 'w' :  System.out.println("Bitte nur Werte zwischen 1 und 9!");
        break;
        case 'z': System.out.println("Die Zeile enthält schon den eingegebenen wert!");
        break;
        case 's': System.out.println("Die Spalte enthält den eingegebenen Wert schon!");
        break;
        case 'f': System.out.println("Juhuu Gelöst!");solved=true;
        break;
        case 'l':
        break;
        default:
       
      } // end of switch
      System.out.println("Wollen sie ihre eingabe widerrufen?j für ja n für nein");
      char widerruf=in.next().charAt(0);
      if (widerruf=='j'){
        test.widerrufen();
      }//end of if
     
    }while(!solved);
   
   
        }//main
    }//class
TestSudoku.java
Java:
import java.util.*;
import java.io.*;
public class Sudoku {
  private byte[][] spielfeld;
    private byte temp;
    private byte momentaneZeile;
    private byte momentaneSpalte;
    private byte momentanerWert;
  // weitere Attribute !
  public Sudoku(String file) throws IOException {
    // Initialisierung des Spielfeldes
    spielfeld = new byte[9][9];
    // Laden der Werte aus der Datei file und ...
    BufferedReader in = new BufferedReader(new FileReader(file));
   
    String temp;
    for(int i=0; i<9; i++) {
      temp = in.readLine();
      // ... speichern dieser Werte in das Spielfeld
      for(int j=0; j<9; j++) {
        if(temp.charAt(j) == '*') spielfeld[i][j] = 0;
        else {
          spielfeld[i][j] = (byte)(temp.charAt(j) - '0');
        }
      }
    }
   
  }
  public void print(){
    for (int i=0;i<9;i++) {
      System.out.println();
      if (i%3==0) {
        System.out.println("\n --- --- ---");
      }
      for (int j=0;j<9 ;j++ ) { 
       
       
        if (j%3==0){
          System.out.print("|");         
        } // end of if
        if (j!=0&&j%8==0){
          System.out.print("|");
        }
        if (spielfeld[i][j]==0){
          System.out.print("*");
        }
        else {System.out.print(spielfeld [i][j]);}
       
       
      } // end of for
     
    } // end of for
    System.out.println("\n --- --- ---");
  }
    public void widerrufen(){
    spielfeld[momentaneZeile][momentaneSpalte]=temp;
   
    }
  public char setze(byte zeile, byte spalte, byte wert) {
    if (spalte>9||spalte<1) {
      return 'p';
    } // end of if
    if (zeile>9||zeile<1) {
      return 'p';
    } // end of if
    if (wert>9||wert<1) {
      return 'w';
    } // end of if
    if (zeileok(spielfeld,zeile,wert)) {
      return 'z';
    } // end of if
    if (spalteok(spielfeld,spalte,wert)){
      return 's';
    }
    if (quadrantok(spielfeld,zeile,spalte,wert)){
      return 'q';
    }
    temp=spielfeld[zeile][spalte];
    momentaneZeile=zeile;
    momentaneSpalte=spalte;
    momentanerWert=wert;
    spielfeld[momentaneZeile][momentaneSpalte]=momentanerWert;
    for (int i=0;i<9;i++){
      for (int j=0;j<9;j++){
        if(spielfeld [i][j]==0){
          return 'l';
        }
        else{ return 'f';} 
      }
    }
    return 'f';
  }
 
 
 
  public boolean zeileok (byte [][]spiel,byte zeile,byte wert){
    for (int i=0;i<spielfeld[zeile].length ;i++ ) {
      if (spiel[zeile][i]==wert) {
        return true;
      } // end of if
    } // end of for
    return false;
  }
  public boolean spalteok(byte [][]spiel,byte spalte,byte wert){                         //Überprüfung der Spalte
      for(int i=0;i<spielfeld.length;i++){
      if (spielfeld[i][spalte]==wert){
        return true;
      }
     
      }
      return false;
  }
 
    public boolean quadrantok(byte [][]spiel,byte zeile,byte spalte,byte wert){         //Überprüfung des quadranten
    int blockZeile=(int)(zeile/3*3);
    int blockSpalte=(int)(spalte/3*3);
    for (int i=blockZeile;i<blockSpalte+3;i++){
      for (int j=blockSpalte;j<blockZeile+3;j++){
       
        if (spiel[i][j]==wert){
          return true;
         
        }
      }
     
    }
    return false;
    }
 
}
Sudoku.java

Wäre für jede Hilfe dankbar :)
 

crownicon

Mitglied
Oh sorry,
Er setzt die Werte die ich ihm auf die methode setze in der Klasse Sudoku mitgebe nicht. Soll heißen die werden nicht in den array spielfeld übernommen. und somit auch nicht über die Methode print der klasse Sudoku nicht ausgegeben. Entschuldigt meine mangelhafte Ausdrucksweise :) Bin im erklären nicht der Held :)
 

Tarrew

Top Contributor
Also ich habs mal ganz kurz getestet und bei mir übernimmt er den ersten Wert den ich getestet habe:
xrL1d.png


Hat das einen Grund, dass du ein byte-Array anstatt eines int-Arrays verwendest?
 

crownicon

Mitglied
Îch hatte meinen fehler gefunden :) er hat den wert übernommen, jedoch den array durchlaufen und die werte übernommen jedoch eine Spalte und eine zeile weiter, da die for schleifen bei 0 angefangen haben :) trotzdem danke :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
B Sudoku prüfen Java Basics - Anfänger-Themen 13
S GUI-Programmierung Sudoku-Rätsel lösen Java Basics - Anfänger-Themen 1
J Sudoku mehrere Lösungen Java Basics - Anfänger-Themen 29
J Sudoku Blocküberprüfung Java Basics - Anfänger-Themen 9
S Sudoku Checker Frage Java Basics - Anfänger-Themen 1
G Sudoku Java Basics - Anfänger-Themen 3
S Methoden Java Sudoku Solver Java Basics - Anfänger-Themen 2
A Sudoku mit Backtracking lösen Java Basics - Anfänger-Themen 3
L Sudoku Backtracking Pseudocode Java Basics - Anfänger-Themen 3
L Sudoku Löser Java Basics - Anfänger-Themen 9
V Sudoku-Solver Probleme bei der Fehlerbehandlung Java Basics - Anfänger-Themen 12
H Unterquadrate bei Sudoku füllen Java Basics - Anfänger-Themen 9
D Sudoku lösen mit Backtracking Java Basics - Anfänger-Themen 20
M Sudoku-Löser: Fragen zu Pointer und Rekursion Java Basics - Anfänger-Themen 15
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
X Sudoku Backtracking Java Basics - Anfänger-Themen 6
S Sudoku hilfe Java Basics - Anfänger-Themen 4
M Sudoku Rekursiv lösen Java Basics - Anfänger-Themen 9
N Sudoku/BLocküberprüfung Java Basics - Anfänger-Themen 24
F Sudoku Grid zeichnen Java Basics - Anfänger-Themen 2
C Frage zu Sudoku Java Basics - Anfänger-Themen 20
MEETyA NullPointer Exception - Sudoku Java Basics - Anfänger-Themen 2
J Sudoku-ähnliche Aufgabe Java Basics - Anfänger-Themen 3
G Sudoku rekursiv lösen Java Basics - Anfänger-Themen 10
Antoras Sudoku Java Basics - Anfänger-Themen 3
F sudoku generieren Java Basics - Anfänger-Themen 16
B Sudoku! Java Basics - Anfänger-Themen 26
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
I Threads Spiel gol Java Basics - Anfänger-Themen 6
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
enesss tictactoe spiel Java Basics - Anfänger-Themen 5
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
Kennewick Basketball Spiel Ergebnisse Java Basics - Anfänger-Themen 11
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
R Hangman-Spiel-zufälliges Wort ermitteln Java Basics - Anfänger-Themen 4
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
I Simples Risiko-Spiel Java Basics - Anfänger-Themen 5
Hallolu Pong-Spiel: Schläger schneller werden lassen Java Basics - Anfänger-Themen 9
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
G Ufo Spiel programmieren Java Basics - Anfänger-Themen 13
C Java Spiel Java Basics - Anfänger-Themen 3
J Spiel programmieren Java Basics - Anfänger-Themen 16
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
B Memory Spiel Java Basics - Anfänger-Themen 29
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
A Breakout-Spiel , Ball mit Platten abprallen lassen Java Basics - Anfänger-Themen 1
S Spiel programmieren mit Java Java Basics - Anfänger-Themen 11
Olis Erste Schritte Simples Memory Spiel möglich? Java Basics - Anfänger-Themen 1
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
C Rekursives Backtracking beim Spiel Peg Java Basics - Anfänger-Themen 22
M Spiel programmieren Java Basics - Anfänger-Themen 16
Spencer Reid Feedback zu kleinem Spiel Java Basics - Anfänger-Themen 4
kokojamboo92 Spiel programmieren Java Basics - Anfänger-Themen 1
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
I Spiel Java Basics - Anfänger-Themen 34
H ein einfaches Tic Tac Toe Spiel Java Basics - Anfänger-Themen 1
I Spiel programmieren. Java Basics - Anfänger-Themen 16
B Hilfe bei Escape - Spiel Java Basics - Anfänger-Themen 6
S Java-Spiel Java Basics - Anfänger-Themen 2
M Nim-Spiel geht in den negativen Bereich Java Basics - Anfänger-Themen 1
K Klassen Registrierungsseite für ein Spiel Java Basics - Anfänger-Themen 6
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 2
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
Mxxxt Mosaik Spiel - Steuerpanel wird nicht angezeigt Java Basics - Anfänger-Themen 5
M Erste Schritte Zufallszahl Spiel Problem Java Basics - Anfänger-Themen 7
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
H Spiel Kniffel: Gesamtes Array untersuchen. Java Basics - Anfänger-Themen 15
Tacofan Hangman als fertiges Spiel Java Basics - Anfänger-Themen 7
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
W Tic Tac Toe Spiel ohne Arrays Java Basics - Anfänger-Themen 7
S Im objektorientiertem "Spiel" kämpfen Java Basics - Anfänger-Themen 3
I Klassen Umsetzungsfrage zu Spiel "Zuul" Java Basics - Anfänger-Themen 3
F Mastermind Spiel Java Basics - Anfänger-Themen 9
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
F Game-Engine für textbasierendes Spiel: Architektur? Java Basics - Anfänger-Themen 9
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
J Java Spiel Zufallsauswahl für Zugbeginn Java Basics - Anfänger-Themen 3
J Frage Antwort Spiel - Wie Zeitcountdown realisieren? Java Basics - Anfänger-Themen 2
L Erste Schritte Spiel: Glückliches Sieben Java Basics - Anfänger-Themen 3
T Hangman spiel Java Basics - Anfänger-Themen 5
J 2 Pc's - Spiel gegeneinander ?! Java Basics - Anfänger-Themen 3
V Spiel Programmieren Java Basics - Anfänger-Themen 9
P 2D-Spiel und Bildschirmgröße Java Basics - Anfänger-Themen 2
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
T Blöcke für ein Jump and Run Spiel Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben