Hallo!
Erstmal ein herzliches Hallo von mir, denn ich bin neu
Ich habe mich nun mithilfe einer Youtube Videoreihe in 2 Tagen so fit in Java gemacht, dass ich einfache Sachen bereits programmieren kann.
Ich habe auch bereits ein funktionierendes Tic Tac Toe Spiel entwickelt, jedoch sieht mein Code absolut schlecht aus.
Vermutlich gibt es auch bessere Lösungsmöglichkeiten für manche Probleme?
Ich habe das Spielfeld in einen Array verfrachtet und gebe es per Konsole aus.
Ich wollte nun fragen, was ich verbessern kann, um nicht wieder so einen unübersichtlichen Haufen zu bekommen.
Wenn jemand einmal drüberschauen könnte wäre ich sehr dankbar!
mfg Klaus
Erstmal ein herzliches Hallo von mir, denn ich bin neu
Ich habe mich nun mithilfe einer Youtube Videoreihe in 2 Tagen so fit in Java gemacht, dass ich einfache Sachen bereits programmieren kann.
Ich habe auch bereits ein funktionierendes Tic Tac Toe Spiel entwickelt, jedoch sieht mein Code absolut schlecht aus.
Vermutlich gibt es auch bessere Lösungsmöglichkeiten für manche Probleme?
Ich habe das Spielfeld in einen Array verfrachtet und gebe es per Konsole aus.
Ich wollte nun fragen, was ich verbessern kann, um nicht wieder so einen unübersichtlichen Haufen zu bekommen.
Wenn jemand einmal drüberschauen könnte wäre ich sehr dankbar!
Java:
import java.util.Scanner;
public class Hauptmenu {
public static void main(String[] args)
{
//Initialisierung
Scanner scanner = new Scanner(System.in);
int spielfeld[] = new int[10];
//Begruessung und Seitenwahl
System.out.println("Herzlich willkommen beim TicTacToe Spiel von Klaus Trautner!");
System.out.println("Im Folgendem koennen Sie sich mit einem Mitspieler messen!");
System.out.println("Spieler 1, Waehlen Sie nun bitte Ihre Seite:");
System.out.println("1 - X");
System.out.println("2 - O");
int auswahl;
int spieler =1;
auswahl = scanner.nextInt();
String wahl="0";
if (auswahl == 1){System.out.println("Ausgezeichnet, Spieler 1, Sie spielen mit X!");wahl = "X";System.out.println("Spieler 2 mit O!");}
if (auswahl == 2){System.out.println("Ausgezeichnet, Spieler 1, Sie spielen mit O!");wahl = "O";System.out.println("Spieler 2 mit X!");}
//Starte Zug
//Ab hier wiederholen
while(true)
{
System.out.println("");
if (spieler == 1){System.out.println("Spieler 1, Sie sind nun an der Reihe!");}
else if (spieler == 2){System.out.println("Spieler 2, Sie sind nun an der Reihe!");}
System.out.println("");
// Berechne Spielfeld
System.out.println(" A B C");
System.out.print("1 ");
for (int i = 6; i <9; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
System.out.println("");
System.out.print("2 ");
for (int i = 3; i <6; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
System.out.println("");
System.out.print("3 ");
for (int i = 0; i <3; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
//Frage nach Platzieren
System.out.println("");
System.out.println("");
System.out.println("Wohin moechten Sie Ihr " + wahl + " setzen?");
System.out.println("1 - A3 2 - B3 3 - C3");
System.out.println("4 - A2 5 - B2 6 - C2");
System.out.println("7 - A1 8 - B1 9 - C1");
//Scanne Antwort fuer zu platzierenden Stein und schreibe in steinwahlArray
int steinwahl;
steinwahl = scanner.nextInt()-1;
spielfeld[steinwahl] = auswahl;
System.out.println("");
System.out.println("----------------------------------------------------------");
System.out.println("----------------------------------------------------------");
System.out.println("----------------------------------------------------------");
System.out.println("");
//Gewinner ermitteln
int reih1=0,reih2=0,reih3=0;
int reiha=0,reihb=0,reihc=0;
int reihka=0,reihkb=0;
//Reih1...
for (int i =0; i<3;i++){
if (spielfeld[i] == auswahl){reih1 =reih1 + 1;}}
for (int i =3; i<6;i++){
if (spielfeld[i] == auswahl){reih2 =reih2 + 1;}}
for (int i =6; i<9;i++){
if (spielfeld[i] == auswahl){reih3 =reih3 + 1;}}
//Reiha...
for (int i =0; i<7;i=i+3){
if (spielfeld[i] == auswahl){reiha =reiha + 1;}}
for (int i =1; i<8;i=i+3){
if (spielfeld[i] == auswahl){reihb =reihb + 1;}}
for (int i =2; i<9;i=i+3){
if (spielfeld[i] == auswahl){reihc =reihc + 1;}}
//Reihka...
for (int i =2; i<7;i=i+2){
if (spielfeld[i] == auswahl){reihka =reihka + 1;}}
for (int i =0; i<9;i=i+4){
if (spielfeld[i] == auswahl){reihkb =reihkb + 1;}}
if (reih1 == 3 || reih2 == 3 || reih3 == 3 || reiha == 3 || reihb == 3 || reihc ==3 || reihka ==3 || reihkb ==3){
System.out.println("Spieler " + spieler + ", Sie sind der Gewinner!");
//Zeige das Gewinnfeld nochmal
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("Gewinnfeld:");
System.out.println(" A B C");
System.out.print("1 ");
for (int i = 6; i <9; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
System.out.println("");
System.out.print("2 ");
for (int i = 3; i <6; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
System.out.println("");
System.out.print("3 ");
for (int i = 0; i <3; i++)
{
if (spielfeld[i] == 0){System.out.print(". ");}
if (spielfeld[i] == 1){System.out.print("X ");}
if (spielfeld[i] == 2){System.out.print("O ");}
}
break;
}
//Wechsle Spieler und Stein
if (auswahl == 1){auswahl = 2;}
else if (auswahl == 2){auswahl = 1;}
if (spieler == 1){spieler = 2;}
else if (spieler == 2){spieler = 1;}
}
}
}
mfg Klaus