import java.util.*;

public class Roles {
	public static final int unassigned = -1;
	public static final int discarded = -2;
	public static final int monarch = 3;
	
	public static int numRoles( int numplayers ) {
		if (numplayers < 8) {
			return 8;
		} else {
			return 9;
		}
	}
	
	public static int numDiscardUp( int numplayers ) {
		switch (numplayers) {
			case 4:
				return 2;
			case 5:
				return 1;
			default:
				return 0;
		}
	}
	
	public static int numDiscardDown( int numplayers ) {
		if (numplayers == 2) {
			return 0;
		} else {
			return 1;
		}
	}
	
	public static int numDiscardTurn( int numplayers ) {
		if (numplayers == 2) {
			return 1;
		} else {
			return 0;
		}
	}
	
	public static int numRounds( int numplayers ) {
		if (numplayers == 2 || numplayers == 3) {
			return 2;
		} else {
			return 1;
		}
	}
	
	public static Vector<Integer> getAllUnassigned( int[] roles ) {
		Vector<Integer> hand = new Vector<Integer>();
		int max = roles.length;
		
		for (int i = 0; i < max; i++) {
			if (roles[ i ] == unassigned) {
				hand.add( new Integer( i ) );
			}
		}
		
		return hand;
	}
}
