Warnings tauchen auf, wenn man beim Einstellen Unfug macht

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@325 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Ida Massow 2011-05-30 19:08:33 +02:00
parent 498c2529bd
commit ae9ce59d36
5 changed files with 96 additions and 19 deletions

View file

@ -216,7 +216,7 @@ public class SettingsControl {
for (PlayerSettings player : settings.getPlayerList()) {
if (player.getName().isEmpty()) {
view.getSettingsPanel().setError(
ISettingsPanel.SettingsError.NO_PLAYER_NAME);
ISettingsPanel.SettingsError.NO_PLAYER_NAME_ERROR);
view.getSettingsPanel().enableStartGameButton(false);
return false;
}
@ -226,16 +226,50 @@ public class SettingsControl {
for (int j = i + 1; j < settings.getPlayerList().size(); ++j) {
if (settings.getPlayerList().get(j).getName().equals(name)) {
view.getSettingsPanel().setError(
ISettingsPanel.SettingsError.DUPLICATE_PLAYER_NAME);
view.getSettingsPanel()
.setError(
ISettingsPanel.SettingsError.DUPLICATE_PLAYER_NAME_ERROR);
view.getSettingsPanel().enableStartGameButton(false);
return false;
}
}
}
int totalStonesDealt = settings.getNumberOfStonesDealt()
* settings.getPlayerList().size();
int totalStones = settings.getHighestCard() * settings.getStoneSetNumber()
* settings.getStoneColors().size() + settings.getJokerNumber();
if (totalStones <= totalStonesDealt) {
view.getSettingsPanel().setError(
ISettingsPanel.SettingsError.NOT_ENOUGH_STONES_ERROR);
view.getSettingsPanel().enableStartGameButton(false);
return false;
}
view.getSettingsPanel().setError(ISettingsPanel.SettingsError.NO_ERROR);
view.getSettingsPanel().enableStartGameButton(true);
if (settings.getInitialMeldThreshold() >= 100) {
view.getSettingsPanel().setError(
ISettingsPanel.SettingsError.TOO_HIGH_THRESHOLD_WARNING);
return true;
}
boolean humanPlayerFound = false;
for (PlayerSettings player : settings.getPlayerList()) {
if (player.getTurnControlType() == TurnControlFactory.Type.HUMAN) {
humanPlayerFound = true;
break;
}
}
if (!humanPlayerFound) {
view.getSettingsPanel().setError(
ISettingsPanel.SettingsError.COMPUTER_PLAYERS_ONLY_WARNING);
return true;
}
return true;
}