
import java.io.*;
import java.util.Random;
import java.util.Scanner;

public class Vetements {
	

	private Type type;
	
	private Couleur couleur;

	
	public Vetements MeteoPluie() {
        Type typePluie[]= {Type.Anorak, Type.Manteau,Type.Pantalon}; //vetements que l'app recommande par temps de pluie
        Random random = new Random();
        Type vetementPluie= typePluie[random.nextInt(typePluie.length)]; //choisi vetement aleatoire dans typePluie
        return new Vetements(vetementPluie,Couleur.getCouleurAlea());
    }
	
	public Vetements MeteoSoleil() {
        Type typeSoleil[]= {Type.Shorts, Type.TShirt,Type.Tunique}; //vetements que l'app recommande par beau temps
        Random random = new Random();
        Type vetementPluie= typeSoleil[random.nextInt(typeSoleil.length)]; //choisi vetement aleatoire dans typeSoleil
        return new Vetements(vetementPluie,Couleur.getCouleurAlea());
    }
	
	public enum Couleur {  // liste des couleurs  
	    rouge, vert, bleu, turquoise, violet, noir, blanc,jaune,marron,kaki, orange ;
		
	    public static Couleur getCouleurAlea() {
	        Random random = new Random();
	        return values()[random.nextInt(values().length)];
	    }
	}
	
	public enum Type {  // //Le type de vêtement = vêtement d'été, d'automne, manches longues ...
	    Veste, TShirt, Polo, Pantalon, Shorts, Chaussettes, Chemise, Manteau, Jeans,Débardeur,Pull,Anorak, Sweat, Tunique, Robe;
		
		 public static Type getTypeAlea() {
		        Random random = new Random();
		        return values()[random.nextInt(values().length)];
		    }
	}
	

	Vetements(Type type,Couleur couleur){
		
		this.type=type;
		this.couleur=couleur;
	}
	
	
	public String toString(){
		
		return this.type+", couleur: "+this.couleur;
	}
	

	public static void VetementsMeteo() {
		
		//vêtements en fonction de la météo
		Vetements newVetement=new Vetements(Type.getTypeAlea(),Couleur.getCouleurAlea());
		Random rand=new Random();
		int i=rand.nextInt(2);
		
		if(i!=0) {
			
			System.out.println("Vêtement aléatoire par temps de pluie: "+newVetement.MeteoPluie().toString());
		} else {
			System.out.println("Vêtement aléatoire par beau temps: "+newVetement.MeteoSoleil().toString());
			
			
		}
	}
	
	public static void VetementsAlea() {
		
		Vetements vetementAlea=new Vetements(Type.getTypeAlea(),Couleur.getCouleurAlea());
		
		System.out.println("\nVêtement aléatoire - "+vetementAlea.toString()+"\n");
	}
	
	public static void catalogue() {
		
		System.out.println("\n");
		Vetements t_shirt=new Vetements(Type.TShirt,Couleur.blanc);
		Vetements veste=new Vetements(Type.Veste,Couleur.marron);
		
		System.out.println(t_shirt.toString());
		System.out.println(veste.toString());
	}





	public static void main(String args[]) {
		
		System.out.println("Bienvenue sur EasyWear! Trouvons ensemble l'habit de vos rêves ...\n");
		int i=0;
		Scanner sc=new Scanner(System.in);;
		
		 while(i!=-1) {
			 
			 System.out.println("\n Je souhaite :");
			System.out.println("\n1- Un vêtement aléatoire \n");
			System.out.println("2- Un vêtement en fonction de la météo \n");
			System.out.println("3- Voir le catalogue du moment \n");
			System.out.println("(-1 pour quitter) \n");
			 
			i = sc.nextInt();
	   
	    	  switch (i) {
	            case 1:  VetementsAlea();break;
	            case 2:  VetementsMeteo();break;
	            case 3:  catalogue();break;
	            default: break;
	        }
	       
	    	  
	     }
		 
		 System.out.println("\nAu revoir et à bientôt! \n");
		 sc.close();
		  
		 
}

}

