Commit 02748f2e authored by Dos Santos Alfama Anthony's avatar Dos Santos Alfama Anthony
Browse files

Séance 2 fin du TP

parent 35db30ce
......@@ -38,18 +38,19 @@ public class Monde {
public String toString(){
String res = "";
res = res + this.getNom();
StringBuilder chaine = new StringBuilder();
chaine.append("Nom du Monde : ");
chaine.append(this.getNom());
chaine.append("\n Entité(s) présente(s) dans le monde : \n");
for (int i = 0; i < this.tabEntites.length; i++){
res = res + '\n' + this.tabEntites[i].getNom();
chaine.append(this.tabEntites[i].getNom());
chaine.append("\n");
}
return res;
return chaine.toString();
}
public static void main (String[] args){
Monde m = new Monde("monde 1");
Monde m2 = new Monde("monde 2");
......@@ -60,21 +61,12 @@ public class Monde {
};
Entite en3 = new Entite("entite 3",m){
};
//System.out.println(m.getNom());
//System.out.println(m2.getNom());
m.ajouter(en);
m.ajouter(en2);
m.ajouter(en3);
System.out.println(m.getEntite("entite 1"));
//System.out.println(m.getEntite("entite 2"));
//System.out.println(m.getEntite("entite 3"));
//System.out.println(m.toString());
System.out.println(m.toString());
//System.out.println(m.getEntite("entite 1"));
}
......
......@@ -43,7 +43,6 @@ public abstract class Entite {
return 13 * nom.hashCode() + 17 * monde.hashCode();
}
/*
public static void main (String[] args){
Monde m = new Monde("m");
Monde m2 = new Monde("m2");
......@@ -53,18 +52,13 @@ public abstract class Entite {
};
System.out.println(en.toString());
System.out.println(en2.toString());
//System.out.println(en.toString());
//System.out.println(en2.toString());
System.out.println("test vrai : "+ en.equals(en));
System.out.println("test faux : "+ en.equals(en2));
System.out.println(String.format("test vrai : %b", en.equals(en)));
System.out.println(String.format("test faux : %b", en.equals(en2)));
}
*/
......
package fr.insarouen.asi.prog.asiaventure.elements.structure;
import fr.insarouen.asi.prog.asiaventure.elements.objets.Objet;
import fr.insarouen.asi.prog.asiaventure.elements.vivants.Vivant;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class Piece extends ElementStructurel{
......@@ -18,7 +16,7 @@ public class Piece extends ElementStructurel{
this.tabObjets = new Objet[0];
this.tabVivants = new Vivant[0];
}
//méthodes
public void deposer(Objet obj){
......@@ -28,26 +26,29 @@ public class Piece extends ElementStructurel{
this.tabObjets = temp;
}
public Objet retirer(Objet obj){ // faire l'inverse pour les retirer
Objet[] temp = new Objet[this.tabObjets.length-1];
int j = 0;
for (int i = 0; i<this.tabObjets.length; i++){
if (!this.tabObjets[i].equals(obj)){
temp[j] = this.tabObjets[i];
j++;
}
public Objet retirer(String nomObj){
Objet[] temp = new Objet[this.tabObjets.length-1];
int j = 0;
int k = 0;
for (int i = 0; i < this.tabObjets.length; i++){
if (!this.tabObjets[i].getNom().equals(nomObj)){
temp[j] = this.tabObjets[i];
j++;
}else{
k = i;
}
this.tabObjets = temp;
return obj;
}
Objet aRetirer = this.tabObjets[k];
this.tabObjets = temp;
return aRetirer;
}
public Objet retirer(String nomObj){
Objet aRetirer = (Objet)this.getMonde().getEntite(nomObj);
return retirer(aRetirer);
public Objet retirer(Objet obj){
return retirer(obj.getNom());
}
public boolean contientObjet(Objet obj){
for (int i = 0; i<this.tabObjets.length; i++){
for (int i = 0; i < this.tabObjets.length; i++){
if (this.tabObjets[i].equals(obj)){
return true;
}
......@@ -71,16 +72,46 @@ public class Piece extends ElementStructurel{
}
return chaine.toString();
}
/*
public void entrer(Vivant vivant){
Vivant[] temp = new Vivant[this.tabVivants.length+1];
if (this.tabVivants[0]==null){
this.tabVivants[0] = vivant;
System.arraycopy(this.tabVivants, 0, temp, 0, this.tabVivants.length);
temp[this.tabVivants.length] = vivant;
this.tabVivants = temp;
}
public Vivant sortir(String nomVivant){
int j = 0;
Vivant[] aSortir = new Vivant[1];
Vivant[] temp = new Vivant[this.tabVivants.length-1];
for (int i = 0; i < this.tabVivants.length; i++){
if (!this.tabVivants[i].getNom().equals(nomVivant)){
temp[j] = this.tabVivants[i];
j++;
}else{
System.arraycopy(this.tabVivants, 0, arg2, arg3, arg4);
aSortir[0] = this.tabVivants[i];
}
}
return aSortir[0];
}
public Vivant sortir(Vivant vivant){
return sortir(vivant.getNom());
}
public boolean contientVivant(String nomVivant){
for (int i = 0; i < this.tabVivants.length; i++){
if (this.tabVivants[i].getNom().equals(nomVivant)){
return true;
}
}
return false;
}
*/
public boolean contientVivant(Vivant vivant){
return contientVivant(vivant.getNom());
}
public static void main(String[] args){
Monde m = new Monde("monde1");
Piece piece = new Piece("nomPiece", m);
......
package fr.insarouen.asi.prog.asiaventure.elements.vivants;
import fr.insarouen.asi.prog.asiaventure.Monde;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.elements.objets.Objet;
import fr.insarouen.asi.prog.asiaventure.elements.structure.Piece;
public abstract class Vivant extends Entite {
private int pointVie;
private int pointForce;
private Piece piece;
......@@ -27,35 +24,34 @@ public abstract class Vivant extends Entite {
//méthode
public void prendre(Objet obj){
Objet aPrendre = this.piece.retirer(obj);
Objet[] temp = new Objet[this.tabObjets.length+1];
System.arraycopy(this.tabObjets, 0, temp, 0, this.tabObjets.length);
temp[this.tabObjets.length] = aPrendre;
this.tabObjets = temp;
public void prendre(String nomObj){
Objet aPrendre = this.piece.retirer(nomObj);
Objet[] temp = new Objet[this.tabObjets.length+1];
System.arraycopy(this.tabObjets, 0, temp, 0, this.tabObjets.length);
temp[this.tabObjets.length] = aPrendre;
this.tabObjets = temp;
}
public void prendre(String nomObj){
Objet aPrendre = (Objet)this.getMonde().getEntite(nomObj);
prendre(aPrendre);
public void prendre(Objet obj){
prendre(obj.getNom());
}
public void deposer(Objet obj){
public void deposer(String nomObj){
Objet[] temp = new Objet[this.tabObjets.length-1];
int j = 0;
for (int i = 0; i<this.tabObjets.length; i++){
if (!this.tabObjets[i].equals(obj)){
for (int i = 0; i < this.tabObjets.length; i++){
if (!this.tabObjets[i].getNom().equals(nomObj)){
temp[j] = this.tabObjets[i];
j++;
}else{
this.piece.deposer(this.tabObjets[i]);
}
}
this.tabObjets = temp;
this.piece.deposer(obj);
}
public void deposer(String nomObj){
Objet aDeposer = (Objet)this.getMonde().getEntite(nomObj);
deposer(aDeposer);
public void deposer(Objet obj){
deposer(obj.getNom());
}
public Piece getPiece(){
......@@ -99,4 +95,22 @@ public abstract class Vivant extends Entite {
}
return chaine.toString();
}
public static void main(String[] args){
Monde m = new Monde("monde1");
Piece piece = new Piece("salon", m);
Objet obj = new Objet("Pied de biche",m){
public boolean estDeplacable(){
return true;
}
};
Objet obj2 = new Objet("Pied de biche",m){
public boolean estDeplacable(){
return true;
}
};
}
}
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