game-client

Play TicTacToe and Reversi
Log | Files | Refs

PlayerManager.java (1512B)


      1 package nl.isygameclient.models;
      2 
      3 import java.util.ArrayList;
      4 import java.util.List;
      5 import java.util.Objects;
      6 
      7 public class PlayerManager {
      8 	protected int	startingPlayerIndex;
      9 	protected int	currentPlayerIndex;
     10 	protected final List<Player> players;
     11 
     12 	public PlayerManager(int startingPlayerIndex, List<Player> players) {
     13 		this.startingPlayerIndex = startingPlayerIndex;
     14 		this.currentPlayerIndex	 = startingPlayerIndex;
     15 		this.players			 = players;
     16 	}
     17 
     18 	public void restart() {
     19 		currentPlayerIndex = startingPlayerIndex;
     20 	}
     21 
     22 	public void nextPlayer() {
     23 		currentPlayerIndex += 1;
     24 		if (currentPlayerIndex >= players.size()) {
     25 			currentPlayerIndex = 0;
     26 		}
     27 	}
     28 	public void previousPlayer() {
     29 		currentPlayerIndex -= 1;
     30 		if (currentPlayerIndex < 0) {
     31 			currentPlayerIndex = players.size() - 1;
     32 		}
     33 	}
     34 
     35 	public boolean isCurrentPlayer(Player player) {
     36 		return Objects.equals(player, getCurrentPlayer());
     37 	}
     38 
     39 	public Player getCurrentPlayer() {
     40 		return players.get(currentPlayerIndex);
     41 	}
     42 
     43 	public Player getStartingPlayer() {
     44 		return players.get(startingPlayerIndex);
     45 	}
     46 
     47 	public List<Player> getPlayers() {
     48 		return players;
     49 	}
     50 
     51 	public int getStartingPlayerIndex() {
     52 		return startingPlayerIndex;
     53 	}
     54 
     55 	public int getCurrentPlayerIndex() {
     56 		return currentPlayerIndex;
     57 	}
     58 
     59 	public void setStartingPlayerIndex(int startingPlayerIndex) {
     60 		this.startingPlayerIndex = startingPlayerIndex;
     61 	}
     62 
     63 	public void setCurrentPlayerIndex(int currentPlayerIndex) {
     64 		this.currentPlayerIndex = currentPlayerIndex;
     65 	}
     66 }