Hey ,
ich bin gerade dabei ein TicTacToe Programm zu schreiben. Mein Problem liegt im Moment darin, dass ich keine Lösung finde wie ich überprüfen kann ob ein Feld schon besetzt ist und dem Programm dann sage, dass es das Feld nicht ausfüllt und der Spieler die Eingabe wiederholen muss.
Schon mal Vielen Dank für jeden Tipp!
ich bin gerade dabei ein TicTacToe Programm zu schreiben. Mein Problem liegt im Moment darin, dass ich keine Lösung finde wie ich überprüfen kann ob ein Feld schon besetzt ist und dem Programm dann sage, dass es das Feld nicht ausfüllt und der Spieler die Eingabe wiederholen muss.
Schon mal Vielen Dank für jeden Tipp!
Java:
public class TicTacToe {
private static java.util.Scanner in;
public static void main(String[] args) {
int limit=2;
int Feld [] []= new int [limit+1][limit+1];
int rundenzähler=0;
int spielerX=0;
int spielerO=0;
while(rundenzähler<=8){
if(rundenzähler%2==0){
System.out.println("Spieler X setze ein X :");
in = new java.util.Scanner(System.in);
String s1 = in.nextLine();
spielerX = Integer.parseInt( s1 );
if (spielerX == 0) {
System.out.println("Spieler X hat aufgegeben!");
break;
}
if(spielerX > 9 || spielerX < 0) {
System.out.println("Nur Zahlen von 1-9");
continue;
}
}
if(rundenzähler%2==1){
System.out.println("Spieler O setze ein O :");
in = new java.util.Scanner(System.in);
String s2 = in.nextLine();
spielerO = Integer.parseInt( s2 );
if (spielerO == 0) {
System.out.println("Spieler O hat aufgegeben!");
break;
}
if(spielerO > 9 || spielerO < 0) {
System.out.println("Nur Zahlen von 1-9");
continue;
}
}
if(spielerX==1){
Feld[0][0]=2;
}
if(spielerX==2){
Feld[0][1]=2;
}
if(spielerX==3){
Feld[0][2]=2;
}
if(spielerX==4){
Feld[1][0]=2;
}
if(spielerX==5){
Feld[1][1]=2;
}
if(spielerX==6){
Feld[1][2]=2;
}
if(spielerX==7){
Feld[2][0]=2;
}
if(spielerX==8){
Feld[2][1]=2;
}
if(spielerX==9){
Feld[2][2]=2;
}
if(spielerO==1){
Feld[0][0]=3;
}
if(spielerO==2){
Feld[0][1]=3;
}
if(spielerO==3){
Feld[0][2]=3;
}
if(spielerO==4){
Feld[1][0]=3;
}
if(spielerO==5){
Feld[1][1]=3;
}
if(spielerO==6){
Feld[1][2]=3;
}
if(spielerO==7){
Feld[2][0]=3;
}
if(spielerO==8){
Feld[2][1]=3;
}
if(spielerO==9){
Feld[2][2]=3;
}
rundenzähler++;
for (int zeile=0; zeile<=limit; zeile++){
for (int spalte=0; spalte<=limit; spalte++){ //Spielfeld
if(Feld[zeile][spalte]==0)
{
System.out.print("-");
}
if(Feld[zeile][spalte]==2)
{
System.out.print("X");
}
if(Feld[zeile][spalte]==3)
{
System.out.print("O");
}
}
System.out.println("");
}
for(int i = 0; i < 3; i++) {
if(Feld[0][i]==2 && Feld [1][i]==2 && Feld[2][i]==2) { //Spalten
System.out.println("Spieler X hat gewonnen!");
rundenzähler = 10;
break;
}
if(Feld[0][i]==3 && Feld [1][i]==3 && Feld[2][i]==3) {
System.out.println("Spieler O hat gewonnen!");
rundenzähler = 10;
break;
}
}
for(int i = 0; i < 3; i++) {
if (Feld [i][0]==2 && Feld [i][1]==2 && Feld [i][2]==2) { //Zeilen
System.out.println("Spieler X hat gewonnen!");
rundenzähler =10;
break;
}
if (Feld [i][0]==3 && Feld [i][1]==3 && Feld [i][2]==3) {
System.out.println("Spieler 0 hat gewonnen!");
rundenzähler =10;
break;
}
}
if (Feld [0][0]==2 && Feld [1][1]==2 && Feld [2][2]==2) { //Diagonal
System.out.println("Spieler X hat gewonnen!");
rundenzähler =10;
break;
}
if (Feld [0][0]==3 && Feld [1][1]==3 && Feld [2][2]==3) {
System.out.println("Spieler O hat gewonnen!");
rundenzähler =10;
break;
}
if(rundenzähler==9){
System.out.println("Das Spiel ist unentschieden");
}
}
}
}