56 lines
1.2 KiB
Java
56 lines
1.2 KiB
Java
package j2025.FT;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
|
|
public class PlayerHandler {
|
|
|
|
private List<Player> players = new LinkedList<>();
|
|
private List<Player> ranking = new ArrayList<>();
|
|
|
|
public void addPlayer(Player player) {
|
|
players.add(player);
|
|
}
|
|
|
|
public Player getCurrentPlayer() {
|
|
return players.getFirst();
|
|
}
|
|
|
|
public void nextTurn() {
|
|
players.add(players.removeFirst());
|
|
}
|
|
|
|
public int remaining() {
|
|
return players.size();
|
|
}
|
|
|
|
public void currentPlayerWinsRound() {
|
|
Player lastPlayer = players.getLast();
|
|
lastPlayer.losesPoint();
|
|
removePlayer(lastPlayer);
|
|
}
|
|
|
|
public void previusPlayerWinsRound() {
|
|
Player currentPlayer = getCurrentPlayer();
|
|
Player lastPlayer = players.getLast();
|
|
currentPlayer.losesPoint();
|
|
removePlayer(currentPlayer);
|
|
|
|
while (players.getFirst() != lastPlayer) {
|
|
nextTurn();
|
|
}
|
|
}
|
|
|
|
private void removePlayer(Player player) {
|
|
if (player.getPoints() == 0) {
|
|
ranking.add(player);
|
|
players.remove(player);
|
|
}
|
|
}
|
|
|
|
public List<Player> getRanking() {
|
|
return ranking;
|
|
}
|
|
}
|