package com.rzg.zombieland.server.meta; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import com.rzg.zombieland.comunes.comunicacion.pojo.POJOResultadoRonda; import com.rzg.zombieland.server.sesion.Jugador; /** * Modela el resultado de una ronda. * @author nicolas * */ public class ResultadoRonda { private Map<Jugador, Integer> puntos; /** * Crea un resultado de partida vac�o. Por defecto todos los jugadores tienen cero puntos. */ public ResultadoRonda(Collection<? extends Jugador> jugadores) { puntos = new HashMap<Jugador, Integer>(); for (Jugador jugador : jugadores) puntos.put(jugador, 0); } /** * Sube el puntaje de un jugador por el n�mero dado. * @param jugador * @param puntaje */ public void addPuntaje(Jugador jugador, int puntaje) { synchronized (puntos) { puntos.put(jugador, puntos.get(jugador) + puntaje); } } public POJOResultadoRonda getPojo() { synchronized (puntos) { Map<String, Integer> mapaPojo = new HashMap<String, Integer>(); for (Entry<Jugador, Integer> entry : puntos.entrySet()) mapaPojo.put(entry.getKey().getNombre(), entry.getValue()); return new POJOResultadoRonda(mapaPojo); } } }