import java.util.*;

/**
 * Classe represantant un Individu
 */
public class Individu {

    /**
     * Attribut qui definie le nom.
     */
    public String nom;

    /**
     * Attribut qui permet de contenir les différent billets d'un individu.
     */
    public List<Billet> monnaie;

    /**
     * Constructeur de la classe Individu
     * 
     * @param NomIndividu le nom de l'individu
     */
    public Individu(String NomIndividu){
        nom = NomIndividu;
        monnaie = new ArrayList<Billet>(); 
    }
    /**
     * Methode pour rajouter de la monnaie a un Individu.
     * @param argent le billet qui est ajouté 
     */
    public void addMonaie(Billet argent){
        monnaie.add(argent);
    }

    /**
     * Methode renvoyant la valeur de tous les billet en possession de l'individu.
     * @return renvoie un entier correspondant.
     */
    public int getInt(){
        int somme = 0;
        for (Billet billet : this.monnaie) {
            somme += billet.getInt();
        }
        return somme;
    }

    /**
     * Methode permettant de payer un autre individu d'une certaine somme.
     * @param destinataire la personne qui recevra l'argent.
     * @param somme la valeur a donné au destinataire.
     * @return l'entier en retour change selon le resultat de la transaction :
     * 0 si la transaction est reussite; 1 si la transaction a échoué car le payeur n'a pas assez d'argent; 2 si la transaction a échoué car le destinataire n'a pas assez de monnaie; 3 si il ya eu une erreur.
     */
    public int payer(Individu destinataire, int somme){
        return 3;
    }
}