gruppe06-hufflepuff-projekt.../src/Gamefield.java

132 lines
3.7 KiB
Java
Raw Normal View History

/**
* Klasse um den Zustand der Felder 1-9 zu speichern und zu verändern, sowie das Spielfeld auszugeben.
*/
2021-10-07 15:45:35 +02:00
public class Gamefield {
/**
* Int Werte für die Felder 1-9 (0 --> noch nicht gesetzt, 1 --> gesetzt von Spieler 1, 2 --> gesetzt von Spieler 2)
*/
private int field1 = 0, field2 = 0, field3 = 0, field4 = 0, field5 = 0, field6 = 0, field7 = 0, field8 = 0, field9 = 0;
2021-10-07 15:45:35 +02:00
/**
* Methode um ein Fled zu setzen.
* @param field das Feld welches gesetzt werden soll (1-9)
* @param player der Spieler der das Feld setzt (1 oder 2)
* @return true --> das feld wurde gesetzt, false --> das feld wurde nicht gesetzt,das es nicht existiert oder bereits gsetzt war.
*/
public boolean setField(int field, int player) {
if(field == 1 && field1 == 0) {
field1 = player;
}
else if(field == 2 && field2 == 0) {
field2 = player;
}
else if(field == 3 && field3 == 0) {
field3 = player;
}
else if(field == 4 && field4 == 0) {
field4 = player;
}
else if(field == 5 && field5 == 0) {
field5 = player;
}
else if(field == 6 && field6 == 0) {
field6 = player;
}
else if(field == 7 && field7 == 0) {
field7 = player;
}
else if(field == 8 && field8 == 0) {
field8 = player;
}
else if(field == 9 && field9 == 0) {
field9 = player;
}
else {
return false; //Wenn das Feld nicht existiert oder bereits gesetzt wurde.
}
return true; //Wenn das Feld gesetzt wurde.
2021-10-07 15:45:35 +02:00
}
2021-10-08 10:35:54 +02:00
/**
* Methode um die Anzahl der bereits gesetzten Felder zu ermitteln.
* @return die Anzahl der gesetzten Felder.
*/
public int countSetFields() {
int count = 0;
int field = 1;
while (field <= 9) {
if(getField(field) != 0) {
count ++;
}
field ++;
}
return count;
}
/**
* Methode um ein Feld abzufragen.
* @param field die Nummer des Feldes
* @return Der Spieler der das Feld gesetzt hat oder 0 wenn es noch nicht gesetz wurde
*/
2021-10-07 15:45:35 +02:00
public int getField(int field) {
if(field == 1) {
return field1;
}
else if(field == 2) {
return field2;
}
else if(field == 3) {
return field3;
}
else if(field == 4) {
return field4;
}
else if(field == 5) {
return field5;
}
else if(field == 6) {
return field6;
}
else if(field == 7) {
return field7;
}
else if(field == 8) {
return field8;
}
else if(field == 9) {
return field9;
}
return -1; //wenn das feld nicht existiert
2021-10-07 15:45:35 +02:00
}
/**
* Methode um das Spielfeld auszugeben.
*/
2021-10-07 15:45:35 +02:00
public void outputField() {
System.out.println(getSymbol(field1) + "|" + getSymbol(field2) + "|" + getSymbol(field3));
System.out.println("-----");
System.out.println(getSymbol(field4) + "|" + getSymbol(field5) + "|" + getSymbol(field6));
System.out.println("-----");
System.out.println(getSymbol(field7) + "|" + getSymbol(field8) + "|" + getSymbol(field9));
2021-10-07 15:45:35 +02:00
}
/**
*
* @param player Der Spieler der das Feld gesetzt hat. (1 oder 2)
* @return the Symbol of the player who has set the field (X or O)
*/
2021-10-07 15:45:35 +02:00
private String getSymbol(int player) {
if(player == 1) {
return "X";
}
else if(player == 2) {
return "O";
}
else {
return " ";
}
}
}