package game.tournament;
import com.biotools.meerkat.Action;
import com.biotools.meerkat.Card;
import com.biotools.meerkat.GameInfo;
import com.biotools.meerkat.PlayerInfo;
import game.ExtendedGameObserver;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
public class TournamentRank implements ExtendedGameObserver {
private static final Logger log = Logger.getLogger(TournamentRank.class);
private List<PlayerInfo> rank = new ArrayList<PlayerInfo>();
public List<PlayerInfo> getRankedPlayers() {
return rank;
}
@Override
public void gameOverEvent(GameInfo gameInfo) {
if (gameInfo.getNumPlayers() == 2) {
PlayerInfo first = null;
PlayerInfo second = null;
for (int seat = 0; seat < gameInfo.getNumSeats(); seat++) {
PlayerInfo player = gameInfo.getPlayer(seat);
if (player != null) {
if (player.getBankRoll() <= 0.001) {
second = player;
} else {
first = player;
}
}
}
if (second != null) {
rank.add(second);
log.debug("Player " + second.getName() + " eliminated - " + rank.size());
rank.add(first);
log.debug("And the winner is: " + first.getName() + "!!");
}
} else {
for (int seat = 0; seat < gameInfo.getNumSeats(); seat++) {
PlayerInfo player = gameInfo.getPlayer(seat);
if (player != null && player.getBankRoll() <= 0.001) {
rank.add(player);
log.debug("Player " + player.getName() + " eliminated - " + rank.size());
}
}
}
}
@Override
public void gameStartEvent(GameInfo gameinfo) {
}
@Override
public void actionEvent(int i, Action action) {
}
@Override
public void stageEvent(int i) {
}
@Override
public void showdownEvent(int i, Card card, Card card1) {
}
@Override
public void dealHoleCardsEvent() {
}
@Override
public void winEvent(int i, double d, String s) {
}
@Override
public void gameStateChanged() {
}
@Override
public void beforeActionEvent(int pos, Action action) {
}
@Override
public void gameOverEvent() {
}
}