-New Method checkLanguage has been implemented

-CleanCode has been updated
This commit is contained in:
Andrin Fassbind 2021-10-08 09:11:59 +02:00
parent 2bbd349988
commit 2a10ee86d1
2 changed files with 41 additions and 48 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/out

View File

@ -1,7 +1,7 @@
/** /**
* Diese Klasse instanziert ein Objekt des Types Sprache. Dieses Objekt erlaubt * Diese Klasse instanziert ein Objekt des Types Sprache. Dieses Objekt erlaubt
* Sprachausgaben in 3 verschiedenen Sprachen. * Sprachausgaben in 3 verschiedenen Sprachen.
* Die Sprachausgaben helfen dem Nutzer bei der Orientierung und geben an den Spielfortschritt an. * Die Sprachausgaben helfen dem Nutzer bei der Orientierung und geben den Spielfortschritt an.
*/ */
public class Language { public class Language {
@ -10,9 +10,9 @@ public class Language {
private String outputLanguage = "de"; private String outputLanguage = "de";
//Gibt mögliche Sprachen vor //Gibt mögliche Sprachen vor
private String germanShortCut = "de"; private final String germanShortCut = "de";
private String englishShortCut = "en"; private final String englishShortCut = "en";
private String vietnameseShortCut = "vn"; private final String vietnameseShortCut = "vn";
public Language(String outputLanguage){ public Language(String outputLanguage){
if(checkForValidLanguage(outputLanguage)){ if(checkForValidLanguage(outputLanguage)){
@ -21,85 +21,77 @@ public class Language {
} }
/** /**
* Methode: setOutputLanguage
* Diese Methode setzt das Datenfeld neu, falls es sich um eine Valide Sprache handelt. * Diese Methode setzt das Datenfeld neu, falls es sich um eine Valide Sprache handelt.
* Sie informiert den Nutzer entsprechend * Sie informiert den Nutzer entsprechend.
* @param outputLanguage * @param outputLanguage beinhaltet den Sprachkürzel, welche neu gewählt werden sollte.
*/ */
public void setOutputLanguage(String outputLanguage){ public void setOutputLanguage(String outputLanguage){
if(checkForValidLanguage(outputLanguage)){ if(checkForValidLanguage(outputLanguage)){
this.outputLanguage=outputLanguage; this.outputLanguage=outputLanguage;
if(outputLanguage.equals(germanShortCut)){ checkLanguage("Sprache auf Deutsch geändert","Language changed to english","Đã thay đổi ngôn ngữ sang tiếng Việt");
System.out.println("Sprache auf Deutsch geändert");
}else if(outputLanguage.equals(englishShortCut)){
System.out.println("Language changed to english");
}else if(outputLanguage.equals(vietnameseShortCut)){
System.out.println("Đã thay đổi ngôn ngữ sang tiếng Việt");
}
} }
} }
/** /**
* Methode: checkForValidLanguage
* Diese Methode prüft ob es sich um eine Valide Sprache handelt. * Diese Methode prüft ob es sich um eine Valide Sprache handelt.
* Gibt true zurück,wenn valide.Sonst false und entsprechende Konsolenausgabe. * Falls nicht Valide wird der Nutzer zusätzlich über eine entsprechende Konsolenausgabe informiert.
* @param outputLanguage * @param outputLanguage Enthält den Sprachkürzel, auf welche die Sprachausgabe gesetzt werden sollte.
* @return boolean * @return boolean True falls Sprachkürzel valide andernfalls false
*/ */
public boolean checkForValidLanguage(String outputLanguage){ private boolean checkForValidLanguage(String outputLanguage){
if(outputLanguage.equals(germanShortCut)||outputLanguage.equals(englishShortCut)||outputLanguage.equals(vietnameseShortCut)){ if(outputLanguage.equals(germanShortCut)||outputLanguage.equals(englishShortCut)||outputLanguage.equals(vietnameseShortCut)){
return true; return true;
} }
if(this.outputLanguage.equals(germanShortCut)){ checkLanguage("Diese Sprache ist nicht zulässig","This Language is not valid","Ngôn ngữ này không được phép");
System.out.println("Diese Sprache ist nicht zulässig");
}else if(this.outputLanguage.equals(englishShortCut)){
System.out.println("This Language is not valid");
}else if(this.outputLanguage.equals(vietnameseShortCut)) {
System.out.println("Ngôn ngữ này không được phép");
}
return false; return false;
} }
/** /**
* Diese Methode gibt den Gewinnertext aus. * Methode: outputWinnerText
* @param player * Diese Methode gibt den Gewinnertext über eine Konsolenausgabe aus.
* @param player beinhaltet den Integer, welcher den Spieler representiert.
*/ */
public void outputWinnerText(int player){ public void outputWinnerText(int player){
if(outputLanguage.equals(germanShortCut)){ checkLanguage("Spieler "+player+" hat gewonnen! Gut gespiel","Player "+player+" won! Well played genius!","Người chơi "+player+" đã thắng. Làm tốt!");
System.out.println("############### Wir haben einen Gewinner ###############");
System.out.printf("Spieler %d hat gewonnen! Gut gespielt%n",player);
}else if(outputLanguage.equals(englishShortCut)){
System.out.println("############### Winner Winner Chicken Dinner ###############");
System.out.printf("Player %d won! Well played genius%n",player);
}else if(outputLanguage.equals(vietnameseShortCut)){
System.out.println("############### Chúng ta có một người chiến thắng ###############");
System.out.printf("Người chơi %d đã thắng. Làm tốt!%n",player);
}
} }
/** /**
* Methode: outputNextPlayerText
* Diese Methode informiert den Nutzer über den Spieler, welcher am Zug ist. * Diese Methode informiert den Nutzer über den Spieler, welcher am Zug ist.
* @param nextPlayer * @param nextPlayer beinhaltet den Integer, welcher den Spieler representiert.
*/ */
public void outputNextPlayerText(int nextPlayer){ public void outputNextPlayerText(int nextPlayer){
if(outputLanguage.equals(germanShortCut)){ checkLanguage("Du bist dran "+ nextPlayer,"It's your turn "+nextPlayer,"Đến lượt bạn "+nextPlayer);
System.out.printf("Du bist dran %d%n",nextPlayer);
}else if(outputLanguage.equals(englishShortCut)){
System.out.printf("It's your turn %d%n",nextPlayer);
}else if(outputLanguage.equals(vietnameseShortCut)){
System.out.printf("Đến lượt bạn %d%n",nextPlayer);
}
} }
/** /**
* Diese Methode informiert den Nutzer falls ein falsches Feld ausgewählt wird. * Methode: outputWrongFieldSelected
* Diese Methode informiert den Nutzer über eine Konsolenausgabe, falls ein falsches Feld ausgewählt wird.
*/ */
public void outputWrongFieldSelected(){ public void outputWrongFieldSelected(){
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)){ if(outputLanguage.equals(germanShortCut)){
System.out.println("Dieses Feld ist nicht zulässig"); result = de;
}else if(outputLanguage.equals(englishShortCut)){ }else if(outputLanguage.equals(englishShortCut)){
System.out.println("This Field is not valid"); result = en;
}else if(outputLanguage.equals(vietnameseShortCut)){ }else if(outputLanguage.equals(vietnameseShortCut)){
System.out.println("Trường này không được phép"); result = vn;
} }
return result;
} }
} }