Checking for corruption, just after bidding, before game starts.

This commit is contained in:
marcins78@gmail.com
2013-01-21 21:27:51 +00:00
parent f76f8bc3d7
commit d7d1c61d60
2 changed files with 40 additions and 3 deletions

View File

@@ -6,14 +6,14 @@ import com.gempukku.lotro.logic.decisions.IntegerAwaitingDecision;
import com.gempukku.lotro.logic.timing.PlayerOrderFeedback;
import com.gempukku.lotro.logic.timing.processes.GameProcess;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
public class BiddingGameProcess implements GameProcess {
private Set<String> _players;
private PlayerOrderFeedback _playerOrderFeedback;
private Map<String, Integer> _bids = new HashMap<String, Integer>();
private Map<String, Integer> _bids = new LinkedHashMap<String, Integer>();
public BiddingGameProcess(Set<String> players, PlayerOrderFeedback playerOrderFeedback) {
_players = players;
@@ -46,6 +46,6 @@ public class BiddingGameProcess implements GameProcess {
@Override
public GameProcess getNextProcess() {
return new ChooseSeatingOrderGameProcess(_bids, _playerOrderFeedback);
return new CheckForCorruptionGameProcess(_bids, _playerOrderFeedback);
}
}

View File

@@ -0,0 +1,37 @@
package com.gempukku.lotro.logic.timing.processes.pregame;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.timing.PlayerOrderFeedback;
import com.gempukku.lotro.logic.timing.processes.GameProcess;
import java.util.Map;
public class CheckForCorruptionGameProcess implements GameProcess {
private Map<String, Integer> _bids;
private PlayerOrderFeedback _playerOrderFeedback;
public CheckForCorruptionGameProcess(Map<String, Integer> bids, PlayerOrderFeedback playerOrderFeedback) {
_bids = bids;
_playerOrderFeedback = playerOrderFeedback;
}
@Override
public void process(LotroGame game) {
for (Map.Entry<String, Integer> playerBid : _bids.entrySet()) {
String player = playerBid.getKey();
int bid = playerBid.getValue();
game.getGameState().startPlayerTurn(player);
int ringBearerResistance = game.getModifiersQuerying().getResistance(game.getGameState(), game.getGameState().getRingBearer(player));
if (ringBearerResistance<=bid) {
game.playerLost(player, "Corrupted before game started");
break;
}
}
}
@Override
public GameProcess getNextProcess() {
return new ChooseSeatingOrderGameProcess(_bids, _playerOrderFeedback);
}
}