Hallo Leute.
Ich hab mal versucht, ein kleines Konsolenspiel, TickTackTou, zu schreiben.
Das Problem daran ist, dass ich nicht weiß, wie ich das problem umgehen kann, dass der Computer die bisher vorher genommenen Felder erneut nimmt. Also wenn ich bereits mit Q drauf bin, soll ers nicht mit einem X überschreiben können. <Und ja, ich weiß, dass der Code ziemlich lang ist. Ist auch erst mein erster Versuch
Ich hoffe, ihr könnt mir helfen
Ich hab mal versucht, ein kleines Konsolenspiel, TickTackTou, zu schreiben.
Java:
import java.io.*;
public class TickTackTou
{
public static void main(String[] args)
throws IOException
{
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
int spielen;
int game = 1;
while (game == 1)
{
//Tick-Tack-Toe 3x3 Felder
String feld1 = "_";
String feld2 = "_";
String feld3 = "_";
String feld4 = "_";
String feld5 = "_";
String feld6 = "_";
String feld7 = "_";
String feld8 = "_";
String feld9 = "_";
int spielingange = 1;
System.out.println("Tic-Tack-Toe.");
System.out.println("Das X ist der Computer. Das Q bist du!");
System.out.println("");
while (spielingange == 1)
{
//Felder Ausgabe
System.out.print(feld1);System.out.print(" ");
System.out.print(feld2);System.out.print(" ");
System.out.println(feld3);
System.out.print(feld4);System.out.print(" ");
System.out.print(feld5);System.out.print(" ");
System.out.println(feld6);
System.out.print(feld7);System.out.print(" ");
System.out.print(feld8);System.out.print(" ");
System.out.println(feld9);
//Felder Ausgabe Ende
//Spielzug
int gegnerzug = (int) (Math.random()*9+1);
if (gegnerzug == 1)
{
if (feld1 == "_")
{
feld1= "X";
}
if (gegnerzug == 2)
{
feld2 = "X";
}
if (gegnerzug == 3)
{
feld3 = "X";
}
if (gegnerzug == 4)
{
feld4 = "X";
}
if (gegnerzug == 5)
{
feld5 = "X";
}
if (gegnerzug == 6)
{
feld6 = "X";
}
if (gegnerzug == 7)
{
feld7 = "X";
}
if (gegnerzug == 8)
{
feld8 = "X";
}
if (gegnerzug == 9)
{
feld9 = "X";
}
String input = in.readLine();
int meinzug = Integer.parseInt(input);
if (meinzug == 2)
{
if (feld2 != "X" && feld2 != "Q")
feld2 = "Q";
}
if (meinzug == 3)
{
if (feld3 != "X" && feld3 != "Q")
feld3 = "Q";
}
if (meinzug == 4)
{
if (feld4 != "X" && feld4 != "Q")
feld4 = "Q";
}
if (meinzug == 5)
{
if (feld5 != "X" && feld5 != "Q")
feld5 = "Q";
}
if (meinzug == 6)
{
if (feld6 != "X" && feld6 != "Q")
feld6 = "Q";
}
if (meinzug == 7)
{
if (feld7 != "X" && feld7 != "Q")
feld7 = "Q";
}
if (meinzug == 8)
{
if (feld8 != "X" && feld8 != "Q")
feld8 = "Q";
}
if (meinzug == 9)
{
if (feld9 != "X" && feld9 != "Q")
feld9 = "Q";
}
//Gewonnen/Verloren Gegner
if (feld1 == "X")
{
if (feld2 == "x")
{
if (feld3 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld4 == "x")
{
if (feld5 == "x")
{
if (feld6 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld7 == "x")
{
if (feld8 == "x")
{
if (feld9 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld1 == "x")
{
if (feld4 == "x")
{
if (feld7 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld2 == "x")
{
if (feld5 == "x")
{
if (feld8 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld3 == "x")
{
if (feld6 == "x")
{
if (feld9 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld1 == "x")
{
if (feld5 == "x")
{
if (feld9 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
if (feld3 == "x")
{
if (feld5 == "x")
{
if (feld7 == "x")
{
System.out.println("Der Computer hat gewonnen");
}
}
}
//Gewonnen/Verloren Spieler
if (feld1 == "Q")
{
if (feld2 == "Q")
{
if (feld3 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld4 == "Q")
{
if (feld5 == "Q")
{
if (feld6 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld7 == "Q")
{
if (feld8 == "Q")
{
if (feld9 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld1 == "Q")
{
if (feld4 == "Q")
{
if (feld7 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld2 == "Q")
{
if (feld5 == "Q")
{
if (feld8 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld3 == "Q")
{
if (feld6 == "Q")
{
if (feld9 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld1 == "Q")
{
if (feld5 == "Q")
{
if (feld9 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
if (feld3 == "Q")
{
if (feld5 == "Q")
{
if (feld7 == "Q")
{
System.out.println("Der Spieler hat gewonnen");
}
}
}
}
}
}
}
}
Das Problem daran ist, dass ich nicht weiß, wie ich das problem umgehen kann, dass der Computer die bisher vorher genommenen Felder erneut nimmt. Also wenn ich bereits mit Q drauf bin, soll ers nicht mit einem X überschreiben können. <Und ja, ich weiß, dass der Code ziemlich lang ist. Ist auch erst mein erster Versuch
Ich hoffe, ihr könnt mir helfen