Hallo 
ich habe mir den Rat aus dem anderen Thread zu herzen genommen und zu Beginn ein TicTacToe erstellt für zweiSpieler(Computer folgt)... das hat auch super geklappt, dennoch beschäftigt mich vor allem die Frage als Anfänger "Ist das auch eine empfohlene Lösung" (z.B. kann man mit einer Tabelle in HTML ein Layout machen, gut ist das allerdings nicht) oder auch "Geht das nicht einfacher/schneller/effizienter/übersichtlicher usw"?
Aus diesem Grund stelle ich meinen Code hier rein und würde mich über Kommentare dazu freuen. Egal ob "Ich würde es genauso machen", "Folgendes ist eine bessere Variante", "Nicht besser, aber eine interessante Alternativlösung" oder aber auch "Du solltest folgendes wegen gängiger Konventionen ändenr (z.B. variablennamen klein)"...
Ich denke das würde mir sehr helfen, da ich das Gefühl habe, dass es besser geht
Grüße Leon
ich habe mir den Rat aus dem anderen Thread zu herzen genommen und zu Beginn ein TicTacToe erstellt für zweiSpieler(Computer folgt)... das hat auch super geklappt, dennoch beschäftigt mich vor allem die Frage als Anfänger "Ist das auch eine empfohlene Lösung" (z.B. kann man mit einer Tabelle in HTML ein Layout machen, gut ist das allerdings nicht) oder auch "Geht das nicht einfacher/schneller/effizienter/übersichtlicher usw"?
Aus diesem Grund stelle ich meinen Code hier rein und würde mich über Kommentare dazu freuen. Egal ob "Ich würde es genauso machen", "Folgendes ist eine bessere Variante", "Nicht besser, aber eine interessante Alternativlösung" oder aber auch "Du solltest folgendes wegen gängiger Konventionen ändenr (z.B. variablennamen klein)"...
Ich denke das würde mir sehr helfen, da ich das Gefühl habe, dass es besser geht
Grüße Leon
Java:
import java.util.ArrayList;
public class TicTacToe
{
String turn;
char Spielfeld[][] = { {'|', ' ','|',' ','|',' ','|'}, {'|', ' ', '|', ' ', '|', ' ','|'}, {'|', ' ', '|', ' ', '|', ' ', '|'} };
ArrayList <Integer> nummer = new ArrayList<>();
boolean berechtigung = true;
public TicTacToe(){
zeigeSpielfeld();
turn = "Spieler1";
}
private void zeigeSpielfeld(){
for (int i = 0 ; i < 3; i++){
for(int j = 0 ; j < 7; j++){
System.out.print(Spielfeld[i][j]);
}
System.out.println();
}
System.out.println();
}
public void setzeMarkierung(int stelle){
if(berechtigung) {
if(!nummer.contains(stelle)){
nummer.add(stelle);
if(turn.equals("Spieler1")){
switch(stelle){
case 1: Spielfeld[0][1] = 'X'; turn = "Spieler2"; break;
case 2: Spielfeld[0][3] = 'X'; turn = "Spieler2"; break;
case 3: Spielfeld[0][5] = 'X'; turn = "Spieler2"; break;
case 4: Spielfeld[1][1] = 'X'; turn = "Spieler2"; break;
case 5: Spielfeld[1][3] = 'X'; turn = "Spieler2"; break;
case 6: Spielfeld[1][5] = 'X'; turn = "Spieler2"; break;
case 7: Spielfeld[2][1] = 'X'; turn = "Spieler2"; break;
case 8: Spielfeld[2][3] = 'X'; turn = "Spieler2"; break;
case 9: Spielfeld[2][5] = 'X'; turn = "Spieler2"; break;
default: System.out.println("Nicht im Spielfeld");
}
zeigeSpielfeld();
prüfeGewinn('X');
prüfeUnentschieden();
}
else {
switch(stelle){
case 1: Spielfeld[0][1] = 'O'; turn = "Spieler1"; break;
case 2: Spielfeld[0][3] = 'O'; turn = "Spieler1"; break;
case 3: Spielfeld[0][5] = 'O'; turn = "Spieler1"; break;
case 4: Spielfeld[1][1] = 'O'; turn = "Spieler1"; break;
case 5: Spielfeld[1][3] = 'O'; turn = "Spieler1"; break;
case 6: Spielfeld[1][5] = 'O'; turn = "Spieler1"; break;
case 7: Spielfeld[2][1] = 'O'; turn = "Spieler1"; break;
case 8: Spielfeld[2][3] = 'O'; turn = "Spieler1"; break;
case 9: Spielfeld[2][5] = 'O'; turn = "Spieler1"; break;
default: System.out.println("Nicht im Spielfeld");
}
zeigeSpielfeld();
prüfeGewinn('O');
prüfeUnentschieden();
}
}
}
}
private void prüfeGewinn(char zeichen){
if((zeichen == Spielfeld[0][1] && zeichen == Spielfeld[0][3] && zeichen == Spielfeld[0][5])||
(zeichen == Spielfeld[1][1] && zeichen == Spielfeld[1][3] && zeichen == Spielfeld[1][5])||
(zeichen == Spielfeld[2][1] && zeichen == Spielfeld[2][3] && zeichen == Spielfeld[2][5])||
(zeichen == Spielfeld[0][1] && zeichen == Spielfeld[1][1] && zeichen == Spielfeld[2][1])||
(zeichen == Spielfeld[0][3] && zeichen == Spielfeld[1][3] && zeichen == Spielfeld[2][3])||
(zeichen == Spielfeld[0][5] && zeichen == Spielfeld[1][5] && zeichen == Spielfeld[2][5])||
(zeichen == Spielfeld[0][1] && zeichen == Spielfeld[1][3] && zeichen == Spielfeld[2][5])||
(zeichen == Spielfeld[2][1] && zeichen == Spielfeld[1][3] && zeichen == Spielfeld[0][5])){
System.out.println("Du hast gewonnen");
berechtigung = false;
}
}
private void prüfeUnentschieden() {
if(nummer.size() == 9){ System.out.println("Ein Unentschieden!"); }
}
}