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

Première séance de TP1

parent e3d31172
package fr;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class ClassMainTest {
public static void main(String[] args){
}
}
package fr.insarouen.asi.prog.asiaventure;
public enum EtatDuJeu {
ECHEC, ENCOURS, SUCCES;
}
package fr.insarouen.asi.prog.asiaventure;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
public class Monde {
private String nom;
private Entite[] tabEntites;
//constructeur
public Monde(String nomDuMonde){
this.nom = nomDuMonde;
this.tabEntites = new Entite[1];
}
//methodes
public String getNom(){
return this.nom;
}
public Entite getEntite(String nomEntite){
int i = 0;
boolean trouve = false;
while (!trouve && i < this.tabEntites.length){
if (this.tabEntites[i].getNom().equals(nomEntite)){
trouve = true;
}
i++;
}
return this.tabEntites[i-1];
}
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;
}
}
public String toString(){
String res = "";
res = res + this.getNom();
for (int i = 0; i < this.tabEntites.length; i++){
res = res + '\n' + this.tabEntites[i].getNom();
}
return res;
}
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());
//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());
}
}
package fr.insarouen.asi.prog.asiaventure.elements;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class Entite {
private String nom;
private Monde monde;
//constructeur
public Entite(String nom, Monde monde){
this.nom = nom;
this.monde = monde;
monde.ajouter(this);
}
//methodes
public String getNom(){
return this.nom;
}
public Monde getMonde(){
return this.monde;
}
public String toString(){
return String.format("Nom : %s, Monde : %s", this.getNom(), this.getMonde() );
}
public boolean equals(Object o){
if (o == this){
return true;
}
if (o == null || this.getClass() != o.getClass()){
return false;
}
return this.getNom().equals( ((Entite)o).getNom() ) && this.getMonde().equals( ((Entite)o).getMonde());
}
public int hashCode() {
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);
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));
}
}
package fr.insarouen.asi.prog.asiaventure.elements;
public enum Etat {
CASSE, DEVEROUILLE, FERME, OUVERT, VEROUILLE;
}
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 {
//constructeur
public Objet(String nom, Monde monde){
super(nom, monde);
}
//methodes
public boolean estDeplacable(){
return false;
}
public static void main (String[] args){
Monde m = new Monde("monde 1");
Objet obj = new Objet("objet 1", m);
System.out.println(obj.estDeplacable());
}
}
package fr.insarouen.asi.prog.asiaventure.elements.objets;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class PiedDeBiche extends Objet {
//constructeur
public PiedDeBiche(String nom, Monde monde){
super(nom, monde);
}
//methodes
public boolean estDeplacable(){
return true;
}
public static void main (String[] args){
Monde m = new Monde("monde 1");
PiedDeBiche pdb = new PiedDeBiche("PDB1", m);
System.out.println(pdb.estDeplacable());
}
}
package fr.insarouen.asi.prog.asiaventure.elements.structure;
import fr.insarouen.asi.prog.asiaventure.elements.Entite;
import fr.insarouen.asi.prog.asiaventure.Monde;
public class ElementStructurel extends Entite {
//constructeur
public ElementStructurel(String nom, Monde monde){
super(nom, monde);
}
}
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