Ich habe auf der Seite Java/TicTacToe ? ZUM-Wiki
einen möglichkeit gefunden, in BlueJ tic tac toe zu programmieren und es in der Konsoloe auszugeben.
Ich hab zwei Klassen gemacht, in einer der code:
in der anderen der code
die Klassen wurden automatisch verknüpft, aber jetzt weiß ich nicht wie ich Tic Tac Toe öffnen soll?
Wenn ich das Spielfeld erstelle, dann weiß ich nicht, welche Methode ich ausführen soll, abgesehn davon hab ich alle ausprobiert und keine geht.
einen möglichkeit gefunden, in BlueJ tic tac toe zu programmieren und es in der Konsoloe auszugeben.
Ich hab zwei Klassen gemacht, in einer der code:
Java:
import java.io.*; // wird von der Eingabe benötigt
public class Spielfeld {
//Eigenschaften
private Kaestchen[][] feld;
private static BufferedReader in; // Eingabe
//Konstruktor
public Spielfeld() {
feld = new Kaestchen[3][3];
for (int i=0;i<3;i++){// senkrecht
for (int j=0;j<3;j++){// waagerecht
feld[j][i]=new Kaestchen();
}
}
// Vorbereitung für die Eingabe
in = new BufferedReader(new InputStreamReader(System.in));
}
//Methoden
public void setzeSpielstein(int x, int y, String stein){
feld[x][y].setzeStein(stein);
}
public void gibSpielAus(){
System.out.println("\n 012");
for (int i=0;i<3;i++){
System.out.print(i+" ");
for (int j=0;j<3;j++){
System.out.print(feld[j][i].getZeichen());
}
System.out.println(); // Zeilenumbruch nach 3 Kaestchen
}
}
public void spieleEineRunde(){
// unguenstig: Starre Anzahl von Zügen, immer 10 Züge
int x,y;
for (int i=1;i<5;i++){
gibSpielAus();
System.out.print("Spieler X bitte die x-Koordinate (0-2)");
try {
x=liesInt();
}
catch(IOException e) {
x=-1;
}
System.out.print("Spieler X bitte die y-Koordinate (0-2)");
try {
y=liesInt();
}
catch(IOException e) {
y=-1;
}
setzeSpielstein(x, y, "X");
gibSpielAus();
System.out.print("Spieler O bitte die x-Koordinate (0-2)");
try {
x=liesInt();
}
catch(IOException e) {
x=-1;
}
System.out.print("Spieler O bitte die y-Koordinate (0-2)");
try {
y=liesInt();
}
catch(IOException e) {
y=-1;
}
setzeSpielstein(x, y, "O");
}
}
// Methode für die Eingabe
// Mehr hier: [url]http://www.wifo.uni-mannheim.de/Java/oop/OOPinJava/kapitel11/StandardEingabe_java.html[/url]
public int liesInt() throws IOException {
try {
return Integer.parseInt(in.readLine());
}
catch(IOException e) {
return (-1);
}
}
}
in der anderen der code
Java:
public class Kaestchen {
String zeichen;
public Kaestchen() {
zeichen=" "; // Am Anfang leer
}
public void setzeStein(String pZeichen) {
if (!zeichen.equals(" ")) {System.out.println("Besetzt!");}
else {
if (pZeichen.equals("X") || pZeichen.equals("O")) {zeichen=pZeichen;}
else System.out.println("Ungueltige Eingabe, bitte X oder O waehlen!");
}
}
public String getZeichen(){
return zeichen;
}
}public class Kaestchen {
String zeichen;
public Kaestchen() {
zeichen=" "; // Am Anfang leer
}
public void setzeStein(String pZeichen) {
if (!zeichen.equals(" ")) {System.out.println("Besetzt!");}
else {
if (pZeichen.equals("X") || pZeichen.equals("O")) {zeichen=pZeichen;}
else System.out.println("Ungueltige Eingabe, bitte X oder O waehlen!");
}
}
public String getZeichen(){
return zeichen;
}
}
die Klassen wurden automatisch verknüpft, aber jetzt weiß ich nicht wie ich Tic Tac Toe öffnen soll?
Wenn ich das Spielfeld erstelle, dann weiß ich nicht, welche Methode ich ausführen soll, abgesehn davon hab ich alle ausprobiert und keine geht.