Commit 35db30ce authored by Chevrier Florine's avatar Chevrier Florine
Browse files

Seance 2

parent c3d1f196
package fr;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.Monde;
//import fr.insarouen.asi.prog.asiaventure.elements.Entite;
//import fr.insarouen.asi.prog.asiaventure.Monde;
public class ClassMainTest {
......
......@@ -10,7 +10,7 @@ public class Monde {
public Monde(String nomDuMonde){
this.nom = nomDuMonde;
this.tabEntites = new Entite[1];
this.tabEntites = new Entite[0];
}
//methodes
......@@ -19,29 +19,21 @@ public class Monde {
}
public Entite getEntite(String nomEntite){
int i = 0;
boolean trouve = false;
while (!trouve && i < this.tabEntites.length){
for (int i = 0; i<this.tabEntites.length; i++){
if (this.tabEntites[i].getNom().equals(nomEntite)){
trouve = true;
return this.tabEntites[i];
}
i++;
}
return this.tabEntites[i-1];
return null;
}
public void ajouter(Entite entite){
Entite[] temp = new Entite[this.tabEntites.length+1];
if (this.tabEntites[0] == null){
this.tabEntites[0] = entite;
}else{
for (int i = 0; i < this.tabEntites.length; i++){
temp[i] = this.tabEntites[i];
}
temp[this.tabEntites.length] = entite;
this.tabEntites = temp;
for (int i = 0; i < this.tabEntites.length; i++){
temp[i] = this.tabEntites[i];
}
temp[this.tabEntites.length] = entite;
this.tabEntites = temp;
}
......@@ -58,31 +50,31 @@ public class Monde {
public static void main (String[] args){
Monde m = new Monde("monde 1");
Monde m2 = new Monde("monde 2");
Entite en = new Entite("entite 1", m);
Entite en2 = new Entite("entite 2",m);
Entite en3 = new Entite("entite 3",m);
/*
System.out.println(m.getNom());
System.out.println(m2.getNom());
Entite en = new Entite("entite 1", m){
};
Entite en2 = new Entite("entite 2",m){
};
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);
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.getEntite("entite 2"));
//System.out.println(m.getEntite("entite 3"));
//System.out.println(m.toString());
}
......
......@@ -3,7 +3,7 @@ package fr.insarouen.asi.prog.asiaventure.elements;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class Entite {
public abstract class Entite {
private String nom;
private Monde monde;
......@@ -43,12 +43,15 @@ public 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");
Entite en = new Entite("entite 1", m);
Entite en2 = new Entite("entite 2",m2);
Entite en = new Entite("entite 1", m){
};
Entite en2 = new Entite("entite 2",m2){
};
System.out.println(en.toString());
System.out.println(en2.toString());
......@@ -57,7 +60,7 @@ public class Entite {
System.out.println("test faux : "+ en.equals(en2));
}
*/
......
......@@ -3,7 +3,7 @@ package fr.insarouen.asi.prog.asiaventure.elements.objets;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class Objet extends Entite {
public abstract class Objet extends Entite {
//constructeur
public Objet(String nom, Monde monde){
......@@ -11,14 +11,16 @@ public class Objet extends Entite {
}
//methodes
public boolean estDeplacable(){
return false;
}
public abstract boolean estDeplacable();
public static void main (String[] args){
Monde m = new Monde("monde 1");
Objet obj = new Objet("objet 1", m);
Objet obj = new Objet("objet 1", m){
public boolean estDeplacable(){
return false;
}
};
System.out.println(obj.estDeplacable());
}
}
......@@ -4,7 +4,7 @@ import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class ElementStructurel extends Entite {
public abstract class ElementStructurel extends Entite {
//constructeur
......
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{
private Objet[] tabObjets;
private Vivant[] tabVivants;
//constructeur
public Piece(String nom, Monde monde){
super(nom, monde);
this.tabObjets = new Objet[0];
this.tabVivants = new Vivant[0];
}
//méthodes
public void deposer(Objet obj){
Objet[] temp = new Objet[this.tabObjets.length+1];
System.arraycopy(this.tabObjets, 0, temp, 0, this.tabObjets.length);
temp[this.tabObjets.length] = obj;
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++;
}
}
this.tabObjets = temp;
return obj;
}
public Objet retirer(String nomObj){
Objet aRetirer = (Objet)this.getMonde().getEntite(nomObj);
return retirer(aRetirer);
}
public boolean contientObjet(Objet obj){
for (int i = 0; i<this.tabObjets.length; i++){
if (this.tabObjets[i].equals(obj)){
return true;
}
}
return false;
}
public boolean contientObjet(String nomObj){
Objet contenu = (Objet)this.getMonde().getEntite(nomObj);
return contientObjet(contenu);
}
public String toString(){
StringBuilder chaine = new StringBuilder();
chaine.append("Nom de la piece : ");
chaine.append(this.getNom());
chaine.append("\n Objet dans la piece : ");
for (int i = 0; i<this.tabObjets.length; i++){
chaine.append(this.tabObjets[i].getNom());
chaine.append(", ");
}
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;
}else{
System.arraycopy(this.tabVivants, 0, arg2, arg3, arg4);
}
}
*/
public static void main(String[] args){
Monde m = new Monde("monde1");
Piece piece = new Piece("nomPiece", m);
Objet obj = new Objet("canape",m){
public boolean estDeplacable(){
return false;
}
};
piece.deposer(obj);
System.out.println(String.format("testVrai : %b", piece.contientObjet("canape")));
System.out.println(piece.toString());
piece.retirer(obj);
System.out.println(String.format("testFalse : %b", piece.contientObjet("canape")));
System.out.println(piece.toString());
}
}
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;
private Objet[] tabObjets;
//constructeur
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.tabObjets = objets;
}
//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 = (Objet)this.getMonde().getEntite(nomObj);
prendre(aPrendre);
}
public void deposer(Objet obj){
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++;
}
}
this.tabObjets = temp;
this.piece.deposer(obj);
}
public void deposer(String nomObj){
Objet aDeposer = (Objet)this.getMonde().getEntite(nomObj);
deposer(aDeposer);
}
public Piece getPiece(){
return this.piece;
}
public Objet getObjet(String nomObj){ // getObjet chercher dans le sac
Objet aTrouver = (Objet)this.getMonde().getEntite(nomObj);
return aTrouver;
}
public boolean possede(Objet obj){
for (int i = 0; i<this.tabObjets.length; i++){
if (this.tabObjets[i].equals(obj)){
return true;
}
}
return false;
}
public int getPointVie(){
return this.pointVie;
}
public int getPointForce(){
return this.pointForce;
}
public boolean estMort(){
return this.pointVie<=0;
}
public String toString(){
StringBuilder chaine = new StringBuilder();
chaine.append("Nom du vivant : ");
chaine.append(this.getNom());
chaine.append("\n Objet dans le sac : ");
for (int i = 0; i<this.tabObjets.length; i++){
chaine.append(this.tabObjets[i].getNom());
chaine.append(", ");
}
return chaine.toString();
}
}
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