Commit 3e3572d7 authored by Aroubate Hamza's avatar Aroubate Hamza
Browse files

maj

parent 7fb036ac
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.*;
public class ClassMain {
public static void main (String[] args){
......@@ -19,8 +20,8 @@ public class ClassMain {
System.out.println("Test creation et ajout de 2 entites");
Entite entite1 = new Entite("nom1", monde);
Entite entite2 = new Entite("nom2", monde);
Entite entite1 = new Entite("nom1", monde){};
Entite entite2 = new Entite("nom2", monde){};
System.out.println(entite1.toString());
System.out.println(entite2.toString());
System.out.println(monde.toString());
......@@ -68,7 +69,11 @@ public class ClassMain {
System.out.println("Test Objet");
Objet objet = new Objet("objet 1", monde);
Objet objet = new Objet("objet 1", monde){
public boolean estDeplacable(){
return false;
}
};
System.out.println("deplacable ? " + objet.estDeplacable());
System.out.println("############");
......@@ -87,5 +92,32 @@ public class ClassMain {
System.out.println("deplacable ? " + es.estDeplacable());
System.out.println("############");
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;
};
};
Piece pc = new Piece(monde,"chambre");
pc.deposer(o);
pc.deposer(pb);
System.out.println("Piece : " + pc.toString());
System.out.println("############");
System.out.println("Test Retirer Piece");
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());
System.out.println("############");
}
}
......@@ -2,7 +2,7 @@ package fr.insarouen.asi.prog.asiaventure.elements;
import fr.insarouen.asi.prog.asiaventure.*;
public class Entite {
public abstract class Entite {
private String nom;
private Monde monde;
......
......@@ -3,15 +3,13 @@ package fr.insarouen.asi.prog.asiaventure.elements.objets;
import fr.insarouen.asi.prog.asiaventure.Monde;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
public class Objet extends Entite{
private String nom;
private Monde monde;
public abstract class Objet extends Entite{
public Objet(String nom, Monde monde){
super(nom,monde);
}
public boolean estDeplacable(){
return false;
}
public abstract boolean estDeplacable();
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ package fr.insarouen.asi.prog.asiaventure.elements.structure;
import fr.insarouen.asi.prog.asiaventure.Monde;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
public class ElementStructurel extends Entite{
public abstract class ElementStructurel extends Entite{
public ElementStructurel(String nom, Monde monde){
super(nom, monde);
}
......
package fr.insarouen.asi.prog.asiaventure.elements.structure;
import fr.insarouen.asi.prog.asiaventure.*;
import fr.insarouen.asi.prog.asiaventure.elements.objets.Objet;
public class Piece extends ElementStructurel{
private Objet[] tableauObjet = new Objet[0];
public Piece (Monde _monde, String _nom){
super( _nom, _monde);
}
public void deposer(Objet _objet){
Objet[] tmp = new Objet[tableauObjet.length+1];
for (int i = 0 ; i < tableauObjet.length ; i++)
tmp[i] = tableauObjet[i];
tmp[tmp.length-1] = _objet;
tableauObjet = tmp;
}
public Objet retirer(Objet _objet){
return this.retirer(_objet.getNom());
}
public Object retirer(String nomObjet){
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;
return result;
}
public String toString(){
String res = "Nom Piece :" +this.getNom()+ ";\n";
res += "Nom Monde :";
res += this.getMonde().getNom()+ ";\n";
res += "Objets :";
for (int i = 0; i<tableauObjet.length; i++)
res += " - " +tableauObjet[i].getNom() ;
return res;
}
}
\ No newline at end of file
Supports Markdown
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