StartTurn panel für einen menschlichen spieler angepasst
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@447 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
4f71c5cb47
commit
a07e723242
1 changed files with 19 additions and 8 deletions
|
@ -101,11 +101,22 @@ public class RoundControl {
|
||||||
private void prepareTurn() {
|
private void prepareTurn() {
|
||||||
boolean isHuman = roundState.getActivePlayer().getPlayerSettings()
|
boolean isHuman = roundState.getActivePlayer().getPlayerSettings()
|
||||||
.getType() == HUMAN;
|
.getType() == HUMAN;
|
||||||
|
boolean oneHuman = roundState.getGameSettings().oneHuman();
|
||||||
|
|
||||||
clonedTable = (ITable) roundState.getTable().clone();
|
clonedTable = (ITable) roundState.getTable().clone();
|
||||||
clonedHand = (IHand) roundState.getActivePlayer().getHand().clone();
|
clonedHand = (IHand) roundState.getActivePlayer().getHand().clone();
|
||||||
|
|
||||||
|
if (!oneHuman) {
|
||||||
view.setBottomPanel(isHuman ? BottomPanelType.START_TURN_PANEL
|
view.setBottomPanel(isHuman ? BottomPanelType.START_TURN_PANEL
|
||||||
: BottomPanelType.COMPUTER_HAND_PANEL);
|
: BottomPanelType.COMPUTER_HAND_PANEL);
|
||||||
|
} else {
|
||||||
|
if (!isHuman) {
|
||||||
|
view.setBottomPanel(BottomPanelType.COMPUTER_HAND_PANEL);
|
||||||
|
} else {
|
||||||
|
view.setBottomPanel(BottomPanelType.HUMAN_HAND_PANEL);
|
||||||
|
startTurn();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
view.getTablePanel().setStoneSets(clonedTable.clone());
|
view.getTablePanel().setStoneSets(clonedTable.clone());
|
||||||
view.setCurrentPlayerName(roundState.getActivePlayer()
|
view.setCurrentPlayerName(roundState.getActivePlayer()
|
||||||
|
@ -138,8 +149,8 @@ public class RoundControl {
|
||||||
view.getPlayerPanel().setEndTurnMode(turnMode);
|
view.getPlayerPanel().setEndTurnMode(turnMode);
|
||||||
}
|
}
|
||||||
turnControl = TurnControlFactory.getFactory(
|
turnControl = TurnControlFactory.getFactory(
|
||||||
roundState.getActivePlayer().getPlayerSettings()
|
roundState.getActivePlayer().getPlayerSettings().getType())
|
||||||
.getType()).create();
|
.create();
|
||||||
turnControl.setup(new ITurnControl.TurnInfo(clonedTable, clonedHand,
|
turnControl.setup(new ITurnControl.TurnInfo(clonedTable, clonedHand,
|
||||||
roundState.getActivePlayer().getLaidOut(), turnMode),
|
roundState.getActivePlayer().getLaidOut(), turnMode),
|
||||||
roundState.getGameSettings(), view);
|
roundState.getGameSettings(), view);
|
||||||
|
@ -348,8 +359,8 @@ public class RoundControl {
|
||||||
.getGameSettings());
|
.getGameSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
bestScore = updateBestScore(bestScore, -stonePoints,
|
bestScore = updateBestScore(bestScore, -stonePoints, playerHand
|
||||||
playerHand.getSize());
|
.getSize());
|
||||||
|
|
||||||
points.add(-stonePoints);
|
points.add(-stonePoints);
|
||||||
pointSum += stonePoints;
|
pointSum += stonePoints;
|
||||||
|
@ -371,8 +382,8 @@ public class RoundControl {
|
||||||
private static Pair<Integer, Integer> updateBestScore(
|
private static Pair<Integer, Integer> updateBestScore(
|
||||||
Pair<Integer, Integer> bestScore, int stonePoints, int size) {
|
Pair<Integer, Integer> bestScore, int stonePoints, int size) {
|
||||||
if (bestScore.getFirst() == stonePoints) {
|
if (bestScore.getFirst() == stonePoints) {
|
||||||
return new Pair<Integer, Integer>(stonePoints, Math.min(
|
return new Pair<Integer, Integer>(stonePoints, Math.min(bestScore
|
||||||
bestScore.getSecond(), size));
|
.getSecond(), size));
|
||||||
} else if (bestScore.getFirst() < stonePoints) {
|
} else if (bestScore.getFirst() < stonePoints) {
|
||||||
return new Pair<Integer, Integer>(stonePoints, size);
|
return new Pair<Integer, Integer>(stonePoints, size);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue