Commit 4cbd2f38 authored by LucasDANIELE's avatar LucasDANIELE
Browse files

ajout des méthodes activable et tout

parent c3c6406e
......@@ -40,23 +40,45 @@ public class Coffre extends Objet implements Activable {
* @param obj L'objet à activer.
* @return Le booléen true si l'on peut l'activer sinon false.
*/
//@Override
//public boolean activableAvec(Objet obj) {}
@Override
public boolean activableAvec(Objet obj) {
return obj.getClass().equals(PiedDeBiche.class);
}
/**
* activer active le coffre.
* @throws ActivationException
*/
//@Override
//public void activer() throws ActivationException {}
@Override
public void activer() throws ActivationException {
switch(etat){
case FERME:
etat = Etat.OUVERT;
break;
case OUVERT:
etat = Etat.FERME;
break;
default:
throw new ActivationException("Le coffre ne peut pas etre activé à cause de son etat");
}
}
/**
* activerAvec permet d'activer le coffre avec un objet.
* @param obj L'objet à utiliser.
* @throws ActivationException
*/
//@Override
//public void activerAvec(Objet obj) throws ActivationException {}
@Override
public void activerAvec(Objet obj) throws ActivationException {
if(activableAvec(obj))
switch(etat){
case FERME:
etat = Etat.CASSE;
break;
default:
throw new ActivationException();
}
}
/**
* getEtat permet d'obtenir l'état de la porte.
......
......@@ -75,6 +75,7 @@ public class Serrure extends Objet implements Activable{
*/
@Override
public void activer() throws ActivationImpossibleException{
throw new ActivationImpossibleException("Une serrure ne peut pas être simplement activée");
}
/**
......@@ -87,7 +88,7 @@ public class Serrure extends Objet implements Activable{
if (activableAvec(clef))
switch (etat){
case VERROUILLE:
etat=Etat.OUVERT;
etat=Etat.VERROUILLE;
break;
case DEVERROUILLE:
etat=Etat.VERROUILLE;
......
......@@ -2,8 +2,6 @@ package fr.insarouen.asi.prog.asiaventure.elements.structure;
import fr.insarouen.asi.prog.asiaventure.NomDEntiteDejaUtiliseDansLeMondeException;
import org.graalvm.compiler.phases.verify.VerifyGetOptionsUsage;
import fr.insarouen.asi.prog.asiaventure.Monde;
import fr.insarouen.asi.prog.asiaventure.elements.Activable;
import fr.insarouen.asi.prog.asiaventure.elements.Etat;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment