mirror of
https://github.com/magefree/mage.git
synced 2025-12-26 05:22:02 -08:00
added cardutil method for incrementing map values
This commit is contained in:
parent
90ae244fa5
commit
e3b2ac15ba
28 changed files with 57 additions and 30 deletions
|
|
@ -10,6 +10,7 @@ import mage.constants.SubTypeSet;
|
|||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -43,7 +44,7 @@ public enum GreatestSharedCreatureTypeCount implements DynamicValue {
|
|||
.map(permanent -> permanent.getSubtype(game))
|
||||
.flatMap(Collection::stream)
|
||||
.filter(subType -> subType.getSubTypeSet() == SubTypeSet.CreatureType)
|
||||
.forEach(subType -> typeMap.compute(subType, (s, i) -> i == null ? 1 : Integer.sum(i, 1)));
|
||||
.forEach(subType -> typeMap.compute(subType, CardUtil::setOrIncrementValue));
|
||||
return changelings
|
||||
+ typeMap
|
||||
.values()
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import mage.game.Game;
|
|||
import mage.game.events.VoteEvent;
|
||||
import mage.game.events.VotedEvent;
|
||||
import mage.players.Player;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -86,7 +87,7 @@ public abstract class VoteHandler<T> {
|
|||
.stream()
|
||||
.flatMap(votesList -> votesList.getValue().stream())
|
||||
.forEach(vote -> {
|
||||
totalVotes.compute(vote, (u, i) -> i == null ? 1 : Integer.sum(i, 1));
|
||||
totalVotes.compute(vote, CardUtil::setOrIncrementValue);
|
||||
});
|
||||
|
||||
Set<T> winners = this.getMostVoted();
|
||||
|
|
@ -157,7 +158,7 @@ public abstract class VoteHandler<T> {
|
|||
.values()
|
||||
.stream()
|
||||
.flatMap(Collection::stream)
|
||||
.forEach(t -> map.compute(t, (s, i) -> i == null ? 1 : Integer.sum(i, 1)));
|
||||
.forEach(t -> map.compute(t, CardUtil::setOrIncrementValue));
|
||||
int max = map.values().stream().mapToInt(x -> x).max().orElse(0);
|
||||
return map
|
||||
.entrySet()
|
||||
|
|
|
|||
|
|
@ -1452,4 +1452,8 @@ public final class CardUtil {
|
|||
effect.apply(game, source);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static <T> int setOrIncrementValue(T u, Integer i) {
|
||||
return i == null ? 1 : Integer.sum(i, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package mage.watchers.common;
|
|||
import mage.constants.WatcherScope;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.util.CardUtil;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
|
@ -23,7 +24,7 @@ public class DiscardedCardWatcher extends Watcher {
|
|||
@Override
|
||||
public void watch(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.DISCARDED_CARD) {
|
||||
playerMap.compute(event.getPlayerId(), (u, i) -> i == null ? 1 : Integer.sum(i, 1));
|
||||
playerMap.compute(event.getPlayerId(), CardUtil::setOrIncrementValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue