Ich bin gerade dabei ein sehr einfaches TicTacToe Spiel zu programmieren und wenn ich eine Eingabe mache, dann ändert er das Feld nicht, obwohl ich ihm sage, dass er dem Feld einen neuen Wert zuweist. Eine Abbruchbedingung habe ich auch nicht und es wäre cool wenn mir jemand eine einfache Lösung dafür verraten würde. Hier ist der Code:
Java:
import java.io.*;
public class TicTacToe {
public static void main(String[] args){
int limit=2;
int Feld [] []= new int [limit+1][limit+1];
int spielerzaehler=0;
int i1=0;
int i2=0;
while(spielerzaehler<=8){
if(spielerzaehler%2==0){
System.out.println("Spieler 1 setze ein X :");
try {
BufferedReader in =new BufferedReader( new InputStreamReader( System.in ) );
String s1 = in.readLine();
i1 = Integer.parseInt( s1 );
System.out.println( "Der eingelesene Text lautet: " + s1 ); }
catch( IOException ex ) { System.out.println( ex.getMessage() ); }
}
if(spielerzaehler%2==1){
System.out.println("Spieler 2 setze ein O :");
try {
BufferedReader in =new BufferedReader( new InputStreamReader( System.in ) );
String s2 = in.readLine();
i2 = Integer.parseInt( s2 );
System.out.println( "Der eingelesene Text lautet: " + s2 ); }
catch( IOException ex ) { System.out.println( ex.getMessage() ); }
}
if(i1==0){
Feld[0][0]=1;
}
if(i1==1){
Feld[0][1]=1;
}
if(i1==2){
Feld[0][2]=1;
}
if(i1==3){
Feld[1][0]=1;
}
if(i1==4){
Feld[1][1]=1;
}
if(i1==5){
Feld[1][2]=1;
}
if(i1==6){
Feld[2][0]=1;
}
if(i1==7){
Feld[2][1]=1;
}
if(i1==8){
Feld[2][2]=1;
}
if(i2==0){
Feld[0][0]=2;
}
if(i2==1){
Feld[0][1]=2;
}
if(i2==2){
Feld[0][2]=2;
}
if(i2==3){
Feld[1][0]=2;
}
if(i2==4){
Feld[1][1]=2;
}
if(i2==5){
Feld[1][2]=2;
}
if(i2==6){
Feld[2][0]=2;
}
if(i2==7){
Feld[2][1]=2;
}
if(i2==8){
Feld[2][2]=2;
}
spielerzaehler++;
for (int zeile=0; zeile<=limit; zeile++){
for (int spalte=0; spalte<=limit; spalte++){
Feld [zeile][spalte]=0;
if(Feld[zeile][spalte]==0)
{
System.out.print("-");
}
if(Feld[zeile][spalte]==1)
{
System.out.print("X");
}
if(Feld[zeile][spalte]==2)
{
System.out.print("O");
}
}
System.out.println("");
}
}
}
}