Commit 72a8b4ca authored by Aroubate Hamza's avatar Aroubate Hamza
Browse files

fin TP2

parent deeec8bc
......@@ -2,7 +2,7 @@ import fr.insarouen.asi.prog.asiaventure.*;
import fr.insarouen.asi.prog.asiaventure.elements.*;
import fr.insarouen.asi.prog.asiaventure.elements.objets.*;
import fr.insarouen.asi.prog.asiaventure.elements.structure.*;
import fr.insarouen.asi.prog.asiaventure.elements.vivants.*;
public class ClassMain {
public static void main (String[] args){
System.out.println("############");
......@@ -120,16 +120,66 @@ public class ClassMain {
System.out.println("############");
System.out.println("Test Retirer Piece");
System.out.println("Test Contient Objet");
Objet objetRetourne = pc.retirer(o);
System.out.println("identiques ?" + objetRetourne.equals(o));
System.out.println("Piece : " + pc.toString());
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()));
objetRetourne = pc.retirer(pb.getNom());
System.out.println("identiques ?" + objetRetourne.equals(pb));
System.out.println("Piece : " + pc.toString());
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("############");
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("Test get Objet");
System.out.println("est identiques ? " + v.getObjet(o.getNom()).equals(o));
System.out.println("############");
System.out.println("Test possede Objet");
System.out.println("il possede l'objet ? " + v.possede(o));
System.out.println("############");
System.out.println("Test get pointvie");
System.out.println("PointVie = 10 ? : " + (v.getPointVie() == 10));
System.out.println("############");
System.out.println("Test estMort");
System.out.println("est mort ? : " + (v.getPointVie() == 0));
System.out.println("############");
}
}
//javac -classpath ./classes -sourcepath ./src -d ./classes ./src/ClassMain.java
\ No newline at end of file
......@@ -10,9 +10,89 @@ public abstract class Vivant extends Entite {
private int pointVie;
private int pointForce;
private Piece piece;
private Objet[] objets = new Objet[0];
private Objet[] tableauObjet = new Objet[0];
public Vivant(String nom, Monde monde, int pointVie, int pointForce, Piece piece, Objet... objets){
super(nom, monde);
this.pointVie = pointVie;
this.pointForce = pointForce;
this.piece = piece;
this.tableauObjet = objets;
}
public void prendre(Objet obj){
prendre(obj.getNom());
}
public void prendre( String nom){
Objet[] tmp = new Objet[tableauObjet.length + 1];
for (int i = 0; i < tableauObjet.length; i++)
tmp[i] = tableauObjet[i];
tmp[tableauObjet.length] = piece.retirer(nom);
tableauObjet = tmp;
}
public void deposer(String nom){
int k = 0;
Objet[] tmp = new Objet[tableauObjet.length - 1];
for (int i = 0; i < tableauObjet.length; i++)
if (!tableauObjet[i].getNom().equals(nom)){
tmp[k] = tableauObjet[i];
k++;
}
else
piece.deposer(tableauObjet[i]);
tableauObjet = tmp;
}
public void deposer(Objet obj){
deposer(obj.getNom());
}
public Piece getPiece(){
return piece;
}
public Objet[] getObjets(){
return tableauObjet;
}
public Objet getObjet(String nom){
for(int i = 0; i < tableauObjet.length; i++){
if (tableauObjet[i].getNom().equals(nom))
return tableauObjet[i];
}
return null;
}
public boolean possede(Objet obj){
for (int i = 0; i < tableauObjet.length; i++){
if (tableauObjet[i].equals(obj))
return true;
}
return false;
}
public int getPointVie(){
return pointVie;
}
public int getPointForce(){
return pointForce;
}
public boolean estMort(){
return (getPointVie() == 0);
}
public String toString(){
StringBuilder str = new StringBuilder("VIVANT les objets : ");
for (int i = 0; i< tableauObjet.length; i++){
str.append(" - ");
str.append(tableauObjet[i].getNom());
}
return str.toString();
}
}
......@@ -18,11 +18,8 @@ public class Piece extends ElementStructurel{
tmp[tmp.length-1] = _objet;
tableauObjet = tmp;
}
public Objet retirer(Objet _objet){
return this.retirer(_objet.getNom());
}
public Object retirer(String nomObjet){
public Objet retirer(String nomObjet){
int k = 0;
Objet result = null;
Objet[] tmp = new Objet[tableauObjet.length-1];
......@@ -37,6 +34,10 @@ public class Piece extends ElementStructurel{
return result;
}
public Objet retirer(Objet _objet){
return this.retirer(_objet.getNom());
}
public boolean contientObjet(Objet obj) {
return contientObjet(obj.getNom());
}
......@@ -53,7 +54,7 @@ public class Piece extends ElementStructurel{
}
public String toString(){
String res = "Nom Piece :" +this.getNom()+ ";\n";
String res = "PIECE Nom Piece :" +this.getNom()+ ";\n";
res += "Nom Monde :";
res += this.getMonde().getNom()+ ";\n";
res += "Objets :";
......@@ -61,4 +62,6 @@ public class Piece extends ElementStructurel{
res += " - " +tableauObjet[i].getNom() ;
return res;
}
}
\ No newline at end of file
}
//javac -classpath ./classes -sourcepath ./src -d ./classes ./src/fr/insarouen/asi/prog/asiaventure/elements/structure/Piece.java
\ No newline at end of file
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