package ch.epfl.isochrone.tiledmap;
import java.awt.Color;
import java.util.ArrayList;
import java.util.List;


public final class ColorTable {

    private int duree;
    private List<Color> ListeCouleur;
    
    
    public ColorTable(int s, List<Color> lc)
    {
        duree = s;
        if(lc.isEmpty()){
            throw new IllegalArgumentException();
        }
        ListeCouleur = new ArrayList<Color>(lc);
    }
    
    public int dureeTranche()
    {
        return duree; 
    }
    
    public int nbTranche()
    {
        return ListeCouleur.size()-1;
    }
    
    public Color couleurTranche(int tranche)
    {
        if(tranche < 0 || tranche >= ListeCouleur.size())
        {
            throw new IllegalArgumentException(); 
        }
        return ListeCouleur.get(tranche); 
    }

    public Color couleurTemps(int temps)
    {
        if(temps < 0)
        {
            throw new IllegalArgumentException(); 
        }
        
        if(temps <= duree*(ListeCouleur.size() - 1))
        {
            return ListeCouleur.get(temps/duree);
        }
        else
        {
            return ListeCouleur.get(ListeCouleur.size()-1); 
        }
    }
    
    
    
}
