2021-10-07 17:38:50 +02:00
|
|
|
|
|
|
|
|
2021-10-07 15:45:35 +02:00
|
|
|
public class Gamefield {
|
2021-10-07 17:38:50 +02:00
|
|
|
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
|
|
|
|
2021-10-07 17:38:50 +02:00
|
|
|
/**
|
|
|
|
* Constructor of class Gamefield
|
|
|
|
*/
|
|
|
|
Gamefield() {}
|
2021-10-07 15:45:35 +02:00
|
|
|
|
2021-10-07 17:38:50 +02:00
|
|
|
/**
|
|
|
|
* Method to set a field when it is set from player
|
|
|
|
* @param field the field which should be set. (1-9)
|
|
|
|
* @param player the player who sets the field (1 or 2)
|
|
|
|
* @return true --> field is set, false --> field isn't set because it's already set or it doesn't exist.
|
|
|
|
*/
|
|
|
|
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; //if field is already set or it doesn't exist.
|
|
|
|
}
|
|
|
|
return true; //if change is done
|
2021-10-07 15:45:35 +02:00
|
|
|
}
|
|
|
|
|
2021-10-07 17:38:50 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param field the number of the requested field
|
|
|
|
* @return integer of the player, which has set the requested field (1 -> Player 1, 2 -> Player 2, -1 --> the requested field doens't exist.)
|
|
|
|
*/
|
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;
|
|
|
|
}
|
2021-10-07 17:38:50 +02:00
|
|
|
return -1; //if the requested field doesn't exist, -1 will be returned.
|
2021-10-07 15:45:35 +02:00
|
|
|
}
|
|
|
|
|
2021-10-07 17:38:50 +02:00
|
|
|
/**
|
|
|
|
* Method to print field
|
|
|
|
*/
|
2021-10-07 15:45:35 +02:00
|
|
|
public void outputField() {
|
2021-10-07 17:38:50 +02:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2021-10-07 17:38:50 +02:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param player number of player who has set the field (1 or 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 " ";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|