Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Daniele Lucas
ItiAdventure
Commits
3d50573a
Commit
3d50573a
authored
Feb 22, 2021
by
Aroubate Hamza
Browse files
Tp3
parent
71c3bb5f
Changes
8
Hide whitespace changes
Inline
Side-by-side
ITIAdventure/src/ClassMain.java
View file @
3d50573a
...
...
@@ -6,202 +6,201 @@ import fr.insarouen.asi.prog.asiaventure.elements.vivants.*;
public
class
ClassMain
{
public
static
void
main
(
String
[]
args
){
try
{
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"##TestMain##"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"##TestMain##"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test creation monde"
);
System
.
out
.
println
(
"Test creation monde"
);
Monde
monde
=
new
Monde
(
"nouveauMonde"
);
System
.
out
.
println
(
monde
.
toString
());
Monde
monde
=
new
Monde
(
"nouveauMonde"
);
System
.
out
.
println
(
monde
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
Entite
entite1
=
new
Entite
(
"nom1"
,
monde
){};
Entite
entite2
=
new
Entite
(
"nom2"
,
monde
){};
System
.
out
.
println
(
"Test creation et ajout de 2 entites"
);
Entite
entite1
=
new
Entite
(
"nom1"
,
monde
){};
Entite
entite2
=
new
Entite
(
"nom2"
,
monde
){};
System
.
out
.
println
(
"Test creation et ajout de 2 entites"
);
System
.
out
.
println
(
entite1
.
toString
());
System
.
out
.
println
(
entite2
.
toString
());
System
.
out
.
println
(
monde
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
entite1
.
toString
());
System
.
out
.
println
(
entite2
.
toString
());
System
.
out
.
println
(
monde
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test entite equals & hashcode"
);
System
.
out
.
println
(
"Test entite equals & hashcode"
);
System
.
out
.
println
(
"entite1 = entite1 ? "
+
entite1
.
equals
(
entite1
));
System
.
out
.
println
(
"entite1 = entite2 ? "
+
entite1
.
equals
(
entite2
));
System
.
out
.
println
(
"hashcode entite1: "
+
entite1
.
hashCode
());
System
.
out
.
println
(
"hashcode entite2: "
+
entite2
.
hashCode
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"entite1 = entite1 ? "
+
entite1
.
equals
(
entite1
));
System
.
out
.
println
(
"entite1 = entite2 ? "
+
entite1
.
equals
(
entite2
));
System
.
out
.
println
(
"hashcode entite1: "
+
entite1
.
hashCode
());
System
.
out
.
println
(
"hashcode entite2: "
+
entite2
.
hashCode
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Monde.getEntite"
);
System
.
out
.
println
(
"Test Monde.getEntite"
);
Entite
entite3
=
monde
.
getEntite
(
"nom1"
);
System
.
out
.
println
(
entite3
.
toString
());
System
.
out
.
println
(
"Entite trouve == entite1 ? "
+
entite3
.
equals
(
entite1
));
System
.
out
.
println
(
"hashcode entite1: "
+
entite1
.
hashCode
());
System
.
out
.
println
(
"hashcode trouve: "
+
entite3
.
hashCode
());
Entite
entite3
=
monde
.
getEntite
(
"nom1"
);
System
.
out
.
println
(
entite3
.
toString
());
System
.
out
.
println
(
"Entite trouve == entite1 ? "
+
entite3
.
equals
(
entite1
));
System
.
out
.
println
(
"hashcode entite1: "
+
entite1
.
hashCode
());
System
.
out
.
println
(
"hashcode trouve: "
+
entite3
.
hashCode
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Valeurs Etat"
);
for
(
Etat
c
:
Etat
.
values
()){
//cf javadoc
System
.
out
.
println
(
c
);
}
System
.
out
.
println
(
"Test Valeurs Etat"
);
for
(
Etat
c
:
Etat
.
values
()){
//cf javadoc
System
.
out
.
println
(
c
);
}
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Valeurs EtatDuJeu"
);
System
.
out
.
println
(
"Test Valeurs EtatDuJeu"
);
for
(
EtatDuJeu
c
:
EtatDuJeu
.
values
()){
//cf javadoc
System
.
out
.
println
(
c
);
}
for
(
EtatDuJeu
c
:
EtatDuJeu
.
values
()){
//cf javadoc
System
.
out
.
println
(
c
);
}
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Objet"
);
System
.
out
.
println
(
"Test Objet"
);
Objet
objet
=
new
Objet
(
"objet 1"
,
monde
){
public
boolean
estDeplacable
(){
return
false
;
}
};
System
.
out
.
println
(
"deplacable ? "
+
objet
.
estDeplacable
());
Objet
objet
=
new
Objet
(
"objet 1"
,
monde
){
public
boolean
estDeplacable
(){
return
false
;
}
};
System
.
out
.
println
(
"deplacable ? "
+
objet
.
estDeplacable
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Pied De Biche"
);
System
.
out
.
println
(
"Test Pied De Biche"
);
PiedDeBiche
pdb
=
new
PiedDeBiche
(
"Super Pied de Biche"
,
monde
);
System
.
out
.
println
(
"deplacable ? "
+
pdb
.
estDeplacable
());
PiedDeBiche
pdb
=
new
PiedDeBiche
(
"Super Pied de Biche"
,
monde
);
System
.
out
.
println
(
"deplacable ? "
+
pdb
.
estDeplacable
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Element Structurel"
);
System
.
out
.
println
(
"Test Element Structurel"
);
PiedDeBiche
es
=
new
PiedDeBiche
(
"Element Structurel"
,
monde
);
System
.
out
.
println
(
"deplacable ? "
+
es
.
estDeplacable
());
PiedDeBiche
es
=
new
PiedDeBiche
(
"Element Structurel"
,
monde
);
System
.
out
.
println
(
"deplacable ? "
+
es
.
estDeplacable
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test deposer Piece"
);
System
.
out
.
println
(
"Test deposer Piece"
);
PiedDeBiche
pb
=
new
PiedDeBiche
(
"mon pied de biche prefere"
,
monde
);
Objet
o
=
new
Objet
(
"gitare"
,
monde
){
public
boolean
estDeplacable
(){
return
true
;
};
PiedDeBiche
pb
=
new
PiedDeBiche
(
"mon pied de biche prefere"
,
monde
);
Objet
o
=
new
Objet
(
"gitare"
,
monde
){
public
boolean
estDeplacable
(){
return
true
;
};
Piece
pc
=
new
Piece
(
monde
,
"chambre"
);
pc
.
deposer
(
o
);
pc
.
deposer
(
pb
);
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
};
Piece
pc
=
new
Piece
(
monde
,
"chambre"
);
pc
.
deposer
(
o
);
pc
.
deposer
(
pb
);
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Retirer Piece"
);
System
.
out
.
println
(
"Test Retirer Piece"
);
Objet
objetRetourne
=
pc
.
retirer
(
o
);
System
.
out
.
println
(
"identiques ?"
+
objetRetourne
.
equals
(
o
));
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
Objet
objetRetourne
=
pc
.
retirer
(
o
);
System
.
out
.
println
(
"identiques ?"
+
objetRetourne
.
equals
(
o
));
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
objetRetourne
=
pc
.
retirer
(
pb
.
getNom
());
System
.
out
.
println
(
"identiques ?"
+
objetRetourne
.
equals
(
pb
));
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
objetRetourne
=
pc
.
retirer
(
pb
.
getNom
());
System
.
out
.
println
(
"identiques ?"
+
objetRetourne
.
equals
(
pb
));
System
.
out
.
println
(
"Piece : "
+
pc
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Contient Objet"
);
System
.
out
.
println
(
"Test Contient Objet"
);
pc
.
deposer
(
o
);
System
.
out
.
println
(
"Objet dans Pièce ? "
+
pc
.
contientObjet
(
o
));
pc
.
retirer
(
o
);
System
.
out
.
println
(
"Objet dans Pièce ? "
+
pc
.
contientObjet
(
o
.
getNom
()));
pc
.
deposer
(
o
);
System
.
out
.
println
(
"Objet dans Pièce ? "
+
pc
.
contientObjet
(
o
));
pc
.
retirer
(
o
);
System
.
out
.
println
(
"Objet dans Pièce ? "
+
pc
.
contientObjet
(
o
.
getNom
()));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test Prendre Objet"
);
Vivant
v
=
new
Vivant
(
"chambre"
,
monde
,
10
,
9
,
pc
,
o
){};
Objet
obj1
=
new
Objet
(
"banane"
,
monde
){
public
boolean
estDeplacable
(){
return
true
;
}
};
pc
.
deposer
(
obj1
);
v
.
prendre
(
obj1
);
System
.
out
.
println
(
v
.
toString
());
pc
.
deposer
(
o
);
v
.
prendre
(
o
.
getNom
());
System
.
out
.
println
(
v
.
toString
());
System
.
out
.
println
(
"Test Prendre Objet"
);
System
.
out
.
println
(
"############"
);
Vivant
v
=
new
Vivant
(
"chambre"
,
monde
,
10
,
9
,
pc
,
o
){};
Objet
obj1
=
new
Objet
(
"banane"
,
monde
){
public
boolean
estDeplacable
(){
return
true
;
}
};
pc
.
deposer
(
obj1
);
v
.
prendre
(
obj1
);
System
.
out
.
println
(
v
.
toString
());
pc
.
deposer
(
o
);
v
.
prendre
(
o
.
getNom
());
System
.
out
.
println
(
v
.
toString
());
System
.
out
.
println
(
"Test deposer Objet"
);
v
.
deposer
(
obj1
);
System
.
out
.
println
(
pc
.
toString
());
v
.
prendre
(
obj1
);
System
.
out
.
println
(
pc
.
toString
());
v
.
deposer
(
obj1
.
getNom
());
System
.
out
.
println
(
pc
.
toString
());
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test deposer Objet"
);
v
.
deposer
(
obj1
);
System
.
out
.
println
(
pc
.
toString
());
v
.
prendre
(
obj1
);
System
.
out
.
println
(
pc
.
toString
());
v
.
deposer
(
obj1
.
getNom
());
System
.
out
.
println
(
pc
.
toString
());
System
.
out
.
println
(
"Test get Objet"
);
System
.
out
.
println
(
"est identiques ? "
+
v
.
getObjet
(
o
.
getNom
()).
equals
(
o
));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test get Objet"
);
System
.
out
.
println
(
"est identiques ? "
+
v
.
getObjet
(
o
.
getNom
()).
equals
(
o
));
System
.
out
.
println
(
"Test possede Objet"
);
System
.
out
.
println
(
"il possede l'objet ? "
+
v
.
possede
(
o
));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test possede Objet"
);
System
.
out
.
println
(
"il possede l'objet ? "
+
v
.
possede
(
o
));
System
.
out
.
println
(
"Test get pointvie"
);
System
.
out
.
println
(
"PointVie = 10 ? : "
+
(
v
.
getPointVie
()
==
10
));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test get pointvie"
);
System
.
out
.
println
(
"PointVie = 10 ? : "
+
(
v
.
getPointVie
()
==
10
));
System
.
out
.
println
(
"Test estMort"
);
System
.
out
.
println
(
"est mort ? : "
+
(
v
.
getPointVie
()
==
0
));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"Test estMort"
);
System
.
out
.
println
(
"est mort ? : "
+
(
v
.
getPointVie
()
==
0
));
System
.
out
.
println
(
"
Test des Vivants dans Pièces
"
);
System
.
out
.
println
(
"
############
"
);
Vivant
v1
=
new
Vivant
(
"vivant"
,
monde
,
10
,
9
,
pc
,
o
){};
Piece
p
=
new
Piece
(
monde
,
"salon"
);
p
.
entrer
(
v1
);
System
.
out
.
println
(
p
.
toString
());
p
.
sortir
(
v1
);
System
.
out
.
println
(
p
.
toString
());
System
.
out
.
println
(
"Test des Vivants dans Pièces"
);
System
.
out
.
println
(
"############"
);
Vivant
v1
=
new
Vivant
(
"vivant"
,
monde
,
10
,
9
,
pc
,
o
){};
Piece
p
=
new
Piece
(
monde
,
"salon"
);
p
.
entrer
(
v1
);
System
.
out
.
println
(
p
.
toString
());
p
.
sortir
(
v1
);
System
.
out
.
println
(
p
.
toString
());
System
.
out
.
println
(
"Test contient vivant"
);
p
.
entrer
(
v1
);
System
.
out
.
println
(
"il contient vivant ? "
+
p
.
contientVivant
(
v1
));
System
.
out
.
println
(
"############"
);
System
.
out
.
println
(
"
############
"
);
System
.
out
.
println
(
"
Test contient vivant
"
);
}
p
.
entrer
(
v1
);
System
.
out
.
println
(
"il contient vivant ? "
+
p
.
contientVivant
(
v1
));
System
.
out
.
println
(
"############"
);
catch
(
NomDEntiteDejaUtiliseDansLeMondeException
e
){
System
.
err
.
println
(
e
);
}
...
...
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/Monde.java
View file @
3d50573a
...
...
@@ -9,13 +9,27 @@ public class Monde {
private
String
nom
;
private
Entite
[]
tableauEntites
=
new
Entite
[
0
];
/**
* Constructeur de Monde
* @param nom nom du monde
*/
public
Monde
(
String
nom
){
this
.
nom
=
nom
;
}
/**
* GetNom Getter du nom du monde
* @return nom du monde
*/
public
String
getNom
(){
return
this
.
nom
;
}
/**
* GetEntite cherche une entite par son nom
* @param nom nom de l'entite a rechercher
* @return Entite cherche
*/
public
Entite
getEntite
(
String
nom
){
boolean
trouve
=
false
;
int
i
=
0
;
...
...
@@ -32,6 +46,12 @@ public class Monde {
return
null
;
}
/**
* Ajouter ajoute une entite dans le monde
* @param nouvelleEntite l'entite a rechercher
* @throws NomDEntiteDejaUtiliseDansLeMondeException
* @throws EntiteDejaDansUnAutreMondeException
*/
public
void
ajouter
(
Entite
nouvelleEntite
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
,
EntiteDejaDansUnAutreMondeException
{
...
...
@@ -53,6 +73,10 @@ public class Monde {
tableauEntites
=
tmp
;
}
/**
* toString créer un String décrivant le monde
* @return le String de description
*/
public
String
toString
(){
String
resultat
;
resultat
=
" Nom : "
+
this
.
getNom
()
+
";\n"
;
...
...
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/Entite.java
View file @
3d50573a
...
...
@@ -10,7 +10,13 @@ public abstract class Entite {
private
String
nom
;
private
Monde
monde
;
public
Entite
(
String
nom
,
Monde
monde
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
/**
* Constructeur de l'entite
* @param nom nom de l'entite
* @param monde monde de l'entite
* @throws NomDEntiteDejaUtiliseDansLeMondeException
*/
public
Entite
(
String
nom
,
Monde
monde
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
this
.
nom
=
nom
;
if
(
monde
.
getEntite
(
nom
)
!=
null
){
...
...
@@ -23,12 +29,26 @@ public abstract class Entite {
}
/**
* getNom Getter du nom de l'entite
* @return nom de l'entite
*/
public
String
getNom
(){
return
this
.
nom
;
}
/**
* getMonde Getter du monde de l'entite
* @return monde de l'entite
*/
public
Monde
getMonde
(){
return
this
.
monde
;
}
/**
* equals Compare deux Object (!= Objet)
* @return un boolean true/false en fonction de la similarité
*/
public
boolean
equals
(
Object
o
){
if
(
o
==
null
||
o
.
getClass
()!=
this
.
getClass
()){
return
false
;
...
...
@@ -37,6 +57,10 @@ public abstract class Entite {
return
nom
.
equals
(
e
.
nom
)
&&
monde
.
equals
(
e
.
monde
);
}
/**
* toString créer un String décrivant l'entite
* @return le String de description
*/
public
String
toString
(){
return
"Nom : "
+
this
.
nom
;
}
...
...
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/objets/Objet.java
View file @
3d50573a
...
...
@@ -9,11 +9,21 @@ import fr.insarouen.asi.prog.asiaventure.elements.structure.*;
public
abstract
class
Objet
extends
Entite
{
/**
* Constructeur de l'objet
* @param nom nom de l'objet
* @param monde monde de l'objet
* @throws NomDEntiteDejaUtiliseDansLeMondeException
*/
public
Objet
(
String
nom
,
Monde
monde
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
super
(
nom
,
monde
);
}
/**
* estDeplacable méthode a redéfinir pour chaque objet
* @return boolean indiquant si l'objet est deplacable ou non
*/
public
abstract
boolean
estDeplacable
();
...
...
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/objets/PiedDeBiche.java
View file @
3d50573a
...
...
@@ -8,11 +8,21 @@ import fr.insarouen.asi.prog.asiaventure.elements.vivants.*;
import
fr.insarouen.asi.prog.asiaventure.elements.structure.*
;
public
class
PiedDeBiche
extends
Objet
{
/**
* Constructeur de l'objet pied de biche
* @param monde monde de l'objet
* @throws EntiteDejaDansUnAutreMondeException
*/
public
PiedDeBiche
(
String
nom
,
Monde
monde
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
super
(
nom
,
monde
);
}
/**
* estDeplacable redefinition de la méthode abstraite de Objet
* @return true pour deplacable, false sinon
*/
public
boolean
estDeplacable
(){
return
true
;
}
...
...
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/structure/ElementStructurel.java
View file @
3d50573a
...
...
@@ -8,11 +8,14 @@ import fr.insarouen.asi.prog.asiaventure.elements.vivants.*;
import
fr.insarouen.asi.prog.asiaventure.elements.structure.*
;
public
abstract
class
ElementStructurel
extends
Entite
{
/**
* Constructeur de l'element structurel de base
* @param nom nom de l'element
* @param monde monde de l'element
* @throws NomDEntiteDejaUtiliseDansLeMondeException
*/
public
ElementStructurel
(
String
nom
,
Monde
monde
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
if
(
monde
.
getEntite
(
nom
)
!=
null
){
throw
}
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
super
(
nom
,
monde
);
}
}
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/structure/Piece.java
View file @
3d50573a
...
...
@@ -14,11 +14,21 @@ public class Piece extends ElementStructurel {
private
Objet
[]
tableauObjet
=
new
Objet
[
0
];
private
Vivant
[]
vivants
=
new
Vivant
[
0
];
/**
* Constructeur de la piece
* @param nom nom de la piece
* @param monde monde de la piece
* @throws NomDEntiteDejaUtiliseDansLeMondeException
*/
public
Piece
(
Monde
_monde
,
String
_nom
)
throws
NomDEntiteDejaUtiliseDansLeMondeException
{
super
(
_nom
,
_monde
);
}
/**
* deposer depose un objet dans la piece
* @param obj objet a deposer
*/
public
void
deposer
(
Objet
_objet
){
Objet
[]
tmp
=
new
Objet
[
tableauObjet
.
length
+
1
];
for
(
int
i
=
0
;
i
<
tableauObjet
.
length
;
i
++)
...
...
@@ -28,31 +38,62 @@ public class Piece extends ElementStructurel {
tableauObjet
=
tmp
;
}
public
Objet
retirer
(
String
nomObjet
)
throws
ObjetAbsentDeLaPieceException
,
ObjetNonDeplacableException
{
/**
* retirer retire un objet dans la piece par son nom
* @param nom nom de l'objet a retirer de la piece
* @return objet retire
* @throws ObjetNonDeplacableException
* @throws ObjetAbsentDeLaPieceException
*/
public
Objet
retirer
(
String
nomObjet
)
throws
ObjetAbsentDeLaPieceException
,
ObjetNonDeplacableException
{
int
k
=
0
;
Objet
result
=
null
;
Objet
[]
tmp
=
new
Objet
[
tableauObjet
.
length
-
1
];
for
(
int
i
=
0
;
i
<
tableauObjet
.
length
;
i
++)
if
(!
tableauObjet
[
i
].
getNom
().
equals
(
nomObjet
)){
tmp
[
k
]=
tableauObjet
[
i
];
k
++;
}
else
result
=
tableauObjet
[
i
];
tableauObjet
=
tmp
;
if
(!
obj
.
estDeplacable
())
throw
new
ObjetNonDeplacableException
();
else
if
(
contientObjet
(
obj
)){
for
(
int
i
=
0
;
i
<
tableauObjet
.
length
;
i
++)
if
(!
tableauObjet
[
i
].
getNom
().
equals
(
nomObjet
)){
tmp
[
k
]=
tableauObjet
[
i
];
k
++;
}
else
result
=
tableauObjet
[
i
];
tableauObjet
=
tmp
;
}
else
{
throw
new
ObjetAbsentDeLaPieceException
();
}
return
result
;
}
public
Objet
retirer
(
Objet
_objet
)
throws
ObjetAbsentDeLaPieceException
,
ObjetNonDeplacableException
{
return
this
.
retirer
(
_objet
.
getNom
());
/**
* retirer retire un objet dans la piece
* @param obj objet a retirer de la piece
* @return objet retire
* @throws ObjetNonDeplacableException
* @throws ObjetAbsentDeLaPieceException
*/
public
Objet
retirer
(
Objet
_objet
)
throws
ObjetAbsentDeLaPieceException
,
ObjetNonDeplacableException
{