163 lines
6.1 KiB
Java
163 lines
6.1 KiB
Java
/**
|
|
*
|
|
* Diese Klasse instanziert ein Objekt des Types Sprache. Dieses Objekt erlaubt
|
|
* Sprachausgaben in 3 verschiedenen Sprachen nämlich:
|
|
* 1. Deutsch (de) 2. Englisch (en) 3. Vietnamesisch (vn)
|
|
* Die Sprachen werden mit den Sprachkürzel (siehe Klammer) identifiziert.
|
|
*
|
|
* Die Sprachausgaben helfen dem Nutzer bei der Orientierung und geben den Spielfortschritt an.
|
|
* Die Defaultsprache ist deutsch
|
|
*
|
|
*/
|
|
|
|
public class Language {
|
|
|
|
//Enthält gewählte Sprache als Kürzel.
|
|
private String outputLanguage = "de";
|
|
|
|
//Gibt mögliche Sprachen vor.
|
|
private String germanShortCut = "de";
|
|
private String englishShortCut = "en";
|
|
private String vietnameseShortCut = "vn";
|
|
|
|
public Language(String outputLanguage) {
|
|
if(checkForValidLanguage(outputLanguage)) {
|
|
this.outputLanguage=outputLanguage;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Methode: setOutputLanguage
|
|
* Diese Methode setzt das Datenfeld neu, falls es sich um eine Valide Sprache handelt.
|
|
* Sie informiert den Nutzer entsprechend.
|
|
* @param outputLanguage beinhaltet den Sprachkürzel, welche neu gewählt werden sollte.
|
|
*/
|
|
public void setOutputLanguage(String outputLanguage) {
|
|
if(checkForValidLanguage(outputLanguage)) {
|
|
this.outputLanguage=outputLanguage;
|
|
System.out.println(checkLanguage("Sprache auf Deutsch geändert","Language changed to english","Đã thay đổi ngôn ngữ sang tiếng Việt"));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Methode: checkForValidLanguage
|
|
* Diese Methode prüft ob es sich um eine Valide Sprache handelt.
|
|
* Falls nicht Valide wird der Nutzer zusätzlich über eine entsprechende Konsolenausgabe informiert.
|
|
* @param outputLanguage Enthält den Sprachkürzel, auf welche die Sprachausgabe gesetzt werden sollte.
|
|
* @return boolean True falls Sprachkürzel valide andernfalls false
|
|
*/
|
|
private boolean checkForValidLanguage(String outputLanguage) {
|
|
if(outputLanguage.equals(germanShortCut)||outputLanguage.equals(englishShortCut)||outputLanguage.equals(vietnameseShortCut)) {
|
|
return true;
|
|
}
|
|
System.out.println(checkLanguage(
|
|
"Diese Sprache ist nicht zulässig",
|
|
"This Language is not valid",
|
|
"Ngôn ngữ này không được phép"));
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Methode: outputGameStartedText
|
|
* Diese Methode gibt den Text für den SpielStart aus.
|
|
*/
|
|
public void outputGameStartedText() {
|
|
System.out.println(checkLanguage(
|
|
"Spiel hat gestartet. Möge der Bessere gewinnen!",
|
|
"Game has started. May the best win!",
|
|
"Trò chơi đã bắt đầu. Chúc cho chiến thắng tốt nhất!"
|
|
));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputMove
|
|
* Diese Methode gibt die Anzahl Spielzüge aus, die im Spiel bereits gemacht worden sind und
|
|
* welcher Spieler den Zug macht
|
|
*/
|
|
public void outputMoveText(int move, int player) {
|
|
System.out.println(checkLanguage(
|
|
"Spiezug: " + move + ", Spieler " + player + " spielt.",
|
|
"Move: " + move + ", Player " + player + " plays",
|
|
"Di chuyển: " + move + ", Người " + player + " chơi"
|
|
));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputWinnerText
|
|
* Diese Methode gibt den Gewinnertext über eine Konsolenausgabe aus.
|
|
* @param player beinhaltet den Integer, welcher den Spieler representiert.
|
|
*/
|
|
public void outputWinnerText(int player) {
|
|
System.out.println(checkLanguage(
|
|
"Spieler "+player+" hat gewonnen! Gut gespiel!",
|
|
"Player "+player+" won! Well played genius!",
|
|
"Người chơi "+player+" đã thắng. Làm tốt!"));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputGameOverText
|
|
* Diese Methode gibt den Text aus, wenn das Spiel zu ende ist.
|
|
*/
|
|
public void outputGameOverText(){
|
|
System.out.println(checkLanguage(
|
|
"Das Spiel ist zu ende!",
|
|
"The Game has finished!",
|
|
"Trò chơi kết thúc rồi!"));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputTieText
|
|
* Diese Methode gibt den Text aus, falls es Unentschieden ist.
|
|
*/
|
|
public void outputTieText(){
|
|
System.out.println(checkLanguage(
|
|
"Wir haben keinen Gewinner. Es ist unentschieden",
|
|
"We have no Winner. It's a tie",
|
|
"Chúng tôi không có người chiến thắng."));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputNextPlayerText
|
|
* Diese Methode informiert den Nutzer über den Spieler, welcher am Zug ist.
|
|
* @param nextPlayer beinhaltet den Integer, welcher den Spieler representiert.
|
|
*/
|
|
public void outputNextPlayerText(int nextPlayer){
|
|
System.out.println(checkLanguage(
|
|
"Du bist dran "+ nextPlayer,
|
|
"It's your turn "+nextPlayer,
|
|
"Đến lượt bạn "+nextPlayer));
|
|
}
|
|
|
|
/**
|
|
* Methode: outputWrongFieldSelected
|
|
* Diese Methode informiert den Nutzer über eine Konsolenausgabe, falls ein falsches Feld ausgewählt wird.
|
|
*/
|
|
public void outputWrongFieldSelected(){
|
|
System.out.println(checkLanguage(
|
|
"Dieses Feld ist nicht zulässig",
|
|
"This Field is not valid",
|
|
"Trường này không được phép"));
|
|
}
|
|
|
|
/**
|
|
* Methode: checkLanguage
|
|
* Diese Methode prüft auf welchen Wert das Datenfeld gesetzt ist und gibt die entsprechende Aussage zurück.
|
|
* @param de Enthält die Deutschsprachige Aussage.
|
|
* @param en Enthält die Englischsprachige Aussage.
|
|
* @param vn Enthält die Vietnamesischsprachige Aussage.
|
|
* @return Gibt die Aussage zurück, welche dem Datenfeld outputLanguage entspricht.
|
|
*/
|
|
private String checkLanguage(String de,String en, String vn){
|
|
String result = "";
|
|
if(outputLanguage.equals(germanShortCut)){
|
|
result = de;
|
|
}else if(outputLanguage.equals(englishShortCut)){
|
|
result = en;
|
|
}else if(outputLanguage.equals(vietnameseShortCut)){
|
|
result = vn;
|
|
}
|
|
return result;
|
|
}
|
|
}
|