package modele;

import IHM.IHMmonopoly;
import mains.monopolyConsole;

/**
 * Cette classe compagnieDistribution herite de la classe possessionPossible
 * @author Emilie Collasse, Cynthia Fong, Salma Zaghloul
 * @version 1.0
 */
public class compagnieDistribution extends possessionPossible{
	public compagnieDistribution(String nom){
		super(nom,150);
	}
	/**
	 * renvoit la valeur du loyer en fonction du nombre de compagnies possédées par le propriétaire et du résultat des dés
	 */
	public int calculLoyer(){
		int valeurDes=monopolyConsole.getValeurDes();
		System.out.println("Le résultat des dés est "+valeurDes);
		groupeProprietes groupe=plateau.getGroupe("compagnies");
		if (groupe.possedeGroupeEntier(proprietaire)){
			System.out.println("Le propriétaire possède les deux compagnies de distribution.");
			System.out.println("Le loyer est donc de 10 fois la somme des dés.");
			return ((valeurDes)*10);
		}
		else {
			System.out.println("Le loyer est 4 fois la valeur des dés.");
			return ((valeurDes)*4);
		}
	}
	/**
	 * renvoit les actions à effectuer. Ici un joueur pourra soit payer le loyer, soit acheter la case ou la faire mettre aux enchères, soit ne rien faire si il en est propriétaire
	 */
	public String actionnerCase(joueur Joueur){
		if (proprietaire==null)
			return "Vous êtes sur la case "+nom+". Vous pouvez acheter cette compagnie au prix de "+prixDepart+"€./achatPossible";
		else {
			if (!Joueur.getNom().equals(proprietaire.getNom())){
				int loyer=calculLoyer();
				return "Vous êtes sur la case "+nom+". Cette compagnie appartient à "+proprietaire.getNom()+". Vous devez payer un loyer de "+loyer+"€./payerLoyer-"+loyer;
			}
			else
				return "Vous êtes sur la case "+nom+" dont vous êtes propriétaire./NothingToDo";
		}
	}
	/**
	 * cette méthode est appelée dans la version IHM. Les dés appelés ne sont pas les mêmes que ceux appelés pour la version console
	 */
	public String actionnerCaseIHM(joueur Joueur){
		if (proprietaire==null)
			return "Vous êtes sur la case "+nom+". Vous pouvez acheter cette compagnie au prix de "+prixDepart+"€./achatPossible";
		else {
			if (!Joueur.getNom().equals(proprietaire.getNom())){
				int loyer=0;
				int valeurDes=IHMmonopoly.getValeurDes();
				groupeProprietes groupe=plateau.getGroupe("compagnies");
				if (!groupe.possedeGroupeEntier(proprietaire)){
					loyer=(valeurDes*4);
					return "Vous êtes sur la case "+nom+".\nCette compagnie appartient à "+proprietaire.getNom()+".\nLe loyer est de 4 fois la somme des dés. Vous devez payer "+loyer+"€./payerLoyer-"+loyer;
				}
				else {
					loyer=(valeurDes*10);
					return "Vous êtes sur la case "+nom+".\nCette compagnie appartient à "+proprietaire.getNom()+" qui possède les 2 compagnies de distribution.\nLe loyer est de 10 fois la somme des dés. Vous devez payer "+loyer+"€./payerLoyer-"+loyer;
				}
			}
			else
				return "Vous êtes sur la case "+nom+" dont vous êtes propriétaire./NothingToDo";
		}
	}
}
