package pers;

import comport.*;
/**
 * Classe-mère de tous les personnages.
 * @author Christian Mascart
 *
 */
public abstract class Personnage
{
	protected Deplacement monDeplacement = new DeplacePied();
	protected Soin monSoin = new SoinAucun();
	protected Combat monCombat = new CombatPas();
	
	public Personnage()
	{
		
	}
	
	/**
	 * Constructeur qui détermine les comportement
	 * @param pDeplacement Une méthode de déplacement
	 * @param pSoin Une méthode de soins
	 * @param pCombat Une méthode de combat
	 */
	public Personnage(Deplacement pDeplacement, Soin pSoin, Combat pCombat)
	{
		setDeplacement(pDeplacement);
		setSoin (pSoin);
		setCombat (pCombat);
	}
	
	public void setDeplacement (Deplacement pDeplacement)
	{
		this.monDeplacement = pDeplacement;
	}
	
	public void setSoin(Soin pSoin)
	{
		this.monSoin = pSoin;
	}
	
	public void setCombat (Combat pCombat)
	{
		this.monCombat = pCombat;
	}

	public void deplacer()
	{
		// TODO Auto-generated method stub
		System.out.print(this.getClass() + " ");
		monDeplacement.seDeplacer();
	}

	public void combattre()
	{
		// TODO Auto-generated method stub
		System.out.print(this.getClass() + " ");
		monCombat.combattre();
	}

	public void soigner()
	{
		// TODO Auto-generated method stub
		System.out.print(this.getClass() + " ");
		monSoin.Soigner();
	}
}
