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

95 lines
2.8 KiB
Java

/**
* Klasse: Game
*
* Diese Klasse beinhaltet die Logik für das Spiel.
*
* Klasse Language und Gamefield wird im Konstruktor initialisiert
*/
public class Game {
private Gamefield gamefield;
Language language;
private int player1 = 1;
private int player2 = 2;
private int playerPlaying = 1;
private boolean gameFinished = false;
public Game() {
gamefield = new Gamefield();
language = new Language("de");
}
/**
* Methode: placeField
*
* Spieler setzt sein Symbol in das gewünschte Feld.
* Die Methode überprüft auch, ob der Spieler gewonnen hat.
* Wenn der Spieler gewonnen hat, dann wird
*
* @param field vom Spieler markiertes Feld
*/
public void placeField(int field) {
if (gameFinished) {
// Fehler aufrufen, dass das Spiel zuende ist.
}
if (field > 9 || field < 1) {
// Fehler aufrufen von Klasse Sprache
return;
}
gamefield.setField(field, player1);
// Hier überprüfen, ob der Spieler gewonnen hat
switchPlayer();
}
/**
* Methode: switchPlayer
*
* Diese Methode wechselt den Spieler. Dieser wird von
* Methode placeField aufgerufen
*/
public void switchPlayer() {
if (playerPlaying == 1) {
playerPlaying = player2;
} else {
playerPlaying = player1;
}
}
public void changeLanguage(String language) {
this.language.setOutputLanguage(language);
}
public boolean checkForWin() {
if((gamefield.getField(1) == gamefield.getField(2)) && (gamefield.getField(3) == gamefield.getField(1))){
return true;
}
else if((gamefield.getField(4) == gamefield.getField(5)) && (gamefield.getField(6) == gamefield.getField(4))){
return true;
}
else if((gamefield.getField(7) == gamefield.getField(8)) && (gamefield.getField(9) == gamefield.getField(7))){
return true;
}
else if((gamefield.getField(1) == gamefield.getField(4)) && (gamefield.getField(7) == gamefield.getField(1))){
return true;
}
else if((gamefield.getField(2) == gamefield.getField(5)) && (gamefield.getField(8) == gamefield.getField(2))){
return true;
}
else if((gamefield.getField(3) == gamefield.getField(6)) && (gamefield.getField(9) == gamefield.getField(3))){
return true;
}
else if((gamefield.getField(1) == gamefield.getField(5)) && (gamefield.getField(9) == gamefield.getField(1))){
return true;
}
else if((gamefield.getField(3) == gamefield.getField(5)) && (gamefield.getField(7) == gamefield.getField(3))){
return true;
}
return false;
}
}