Skip to content
Snippets Groups Projects
Commit b5f74874 authored by rosier8u's avatar rosier8u
Browse files

V1

parent 8a921986
No related merge requests found
Showing
with 222 additions and 0 deletions
package modele;
public abstract class Arme { public abstract class Arme {
protected int degat; protected int degat;
protected String nom; protected String nom;
...@@ -9,6 +11,10 @@ public abstract class Arme { ...@@ -9,6 +11,10 @@ public abstract class Arme {
this.poids = poids; this.poids = poids;
} }
public void augmenterDegat(int augmentation){
this.degat += augmentation;
}
public void setNom(String nom) { public void setNom(String nom) {
this.nom = nom; this.nom = nom;
} }
......
package modele;
public class BaguetteMagique extends Arme{ public class BaguetteMagique extends Arme{
private int soin; private int soin;
......
package modele;
public class BatonDeSorcier extends Arme{ public class BatonDeSorcier extends Arme{
private String pouvoir; private String pouvoir;
......
package modele;
public class DegatVisiteur implements VisiteurPers{
@Override
public void visiterGuerrier(Guerrier guerrier) {
guerrier.getArme().augmenterDegat(10);
}
@Override
public void visiterRoi(Roi roi) {
roi.getArme().augmenterDegat(10);
}
@Override
public void visiterSorcier(Sorcier sorcier) {
sorcier.getArme().augmenterDegat(10);
}
@Override
public void visiterGuerisseur(Guerisseur guerisseur) {
guerisseur.getArme().augmenterDegat(10);
}
}
package modele;
public class Epee extends Arme{ public class Epee extends Arme{
private int longueur; private int longueur;
......
package modele;
public class Guerisseur extends Personnage{ public class Guerisseur extends Personnage{
private int sagesse; private int sagesse;
...@@ -13,4 +15,8 @@ public class Guerisseur extends Personnage{ ...@@ -13,4 +15,8 @@ public class Guerisseur extends Personnage{
public int getSagesse() { public int getSagesse() {
return sagesse; return sagesse;
} }
public void accepter(VisiteurPers visiteur) {
visiteur.visiterGuerisseur(this);
}
} }
package modele;
public class Guerrier extends Personnage{ public class Guerrier extends Personnage{
private int force; private int force;
...@@ -13,4 +15,8 @@ public class Guerrier extends Personnage{ ...@@ -13,4 +15,8 @@ public class Guerrier extends Personnage{
public int getForce() { public int getForce() {
return force; return force;
} }
public void accepter(VisiteurPers visiteur) {
visiteur.visiterGuerrier(this);
}
} }
package modele;
public class NiveauVisiteur implements VisiteurPers{
@Override
public void visiterGuerrier(Guerrier guerrier) {
guerrier.augmenterNiveau(1);
}
@Override
public void visiterRoi(Roi roi) {
roi.augmenterNiveau(1);
}
@Override
public void visiterSorcier(Sorcier sorcier) {
sorcier.augmenterNiveau(1);
}
@Override
public void visiterGuerisseur(Guerisseur guerisseur) {
guerisseur.augmenterNiveau(1);
}
}
package modele;
public abstract class Personnage { public abstract class Personnage {
protected int pointsDeVie; protected int pointsDeVie;
protected int niveau; protected int niveau;
...@@ -11,6 +13,10 @@ public abstract class Personnage { ...@@ -11,6 +13,10 @@ public abstract class Personnage {
this.arme = arme; this.arme = arme;
} }
public void augmenterNiveau(int augmentation){
this.niveau += augmentation;
}
public void setNom(String nom) { public void setNom(String nom) {
this.nom = nom; this.nom = nom;
} }
...@@ -42,4 +48,6 @@ public abstract class Personnage { ...@@ -42,4 +48,6 @@ public abstract class Personnage {
public Arme getArme() { public Arme getArme() {
return arme; return arme;
} }
public abstract void accepter(VisiteurPers visiteur);
} }
package modele;
public class Roi extends Personnage{ public class Roi extends Personnage{
private int force; private int force;
private String royaume; private String royaume;
...@@ -23,4 +25,8 @@ public class Roi extends Personnage{ ...@@ -23,4 +25,8 @@ public class Roi extends Personnage{
public String getRoyaume() { public String getRoyaume() {
return royaume; return royaume;
} }
public void accepter(VisiteurPers visiteur) {
visiteur.visiterRoi(this);
}
} }
package modele;
public class Sorcier extends Personnage{ public class Sorcier extends Personnage{
private int intelligence; private int intelligence;
...@@ -13,4 +15,8 @@ public class Sorcier extends Personnage{ ...@@ -13,4 +15,8 @@ public class Sorcier extends Personnage{
public int getIntelligence() { public int getIntelligence() {
return intelligence; return intelligence;
} }
public void accepter(VisiteurPers visiteur) {
visiteur.visiterSorcier(this);
}
} }
package modele;
public interface VisiteurPers {
void visiterGuerrier(Guerrier guerrier);
void visiterRoi(Roi roi);
void visiterSorcier(Sorcier sorcier);
void visiterGuerisseur(Guerisseur guerisseur);
}
package tests;
import modele.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class DegatVisiteurTest {
private DegatVisiteur degatVisiteur;
private Epee epee;
private BaguetteMagique baguetteMagique;
private BatonDeSorcier batonDeSorcier;
private Roi roi;
private Guerrier guerrier;
private Guerisseur guerisseur;
private Sorcier sorcier;
@BeforeEach
void setUp() {
degatVisiteur = new DegatVisiteur();
epee = new Epee(20, "epee", 2.0, 10);
baguetteMagique = new BaguetteMagique(10, "baguette", 1.0,10);
batonDeSorcier = new BatonDeSorcier(15, "baton", 1.5, "pouvoir");
roi = new Roi(100, 1, "roi", epee, 20, "royaume");
guerrier = new Guerrier(80, 1, "guerrier", epee, 30);
guerisseur = new Guerisseur(50, 1, "gueisseur", baguetteMagique, 40);
sorcier = new Sorcier(40, 1, "sorcier", batonDeSorcier, 20);
}
@Test
void testVisiterGuerrier() {
int degat_avant = guerrier.getArme().getDegat();
guerrier.accepter(degatVisiteur);
int degat_apres = guerrier.getArme().getDegat();
assertNotEquals(degat_avant, degat_apres);
}
@Test
void testVisiterRoi() {
int degat_avant = roi.getArme().getDegat();
roi.accepter(degatVisiteur);
int degat_apres = roi.getArme().getDegat();
assertNotEquals(degat_avant, degat_apres);
}
@Test
void testVisiterSorcier() {
int degat_avant = sorcier.getArme().getDegat();
sorcier.accepter(degatVisiteur);
int degat_apres = sorcier.getArme().getDegat();
assertNotEquals(degat_avant, degat_apres);
}
@Test
void testVisiterGuerisseur() {
int degat_avant = guerisseur.getArme().getDegat();
guerisseur.accepter(degatVisiteur);
int degat_apres = guerisseur.getArme().getDegat();
assertNotEquals(degat_avant, degat_apres);
}
}
\ No newline at end of file
package tests;
import modele.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class NiveauVisiteurTest {
private NiveauVisiteur niveauVisiteur;
private Epee epee;
private BaguetteMagique baguetteMagique;
private BatonDeSorcier batonDeSorcier;
private Roi roi;
private Guerrier guerrier;
private Guerisseur guerisseur;
private Sorcier sorcier;
@BeforeEach
void setUp() {
niveauVisiteur = new NiveauVisiteur();
epee = new Epee(20, "epee", 2.0, 10);
baguetteMagique = new BaguetteMagique(10, "baguette", 1.0,10);
batonDeSorcier = new BatonDeSorcier(15, "baton", 1.5, "pouvoir");
roi = new Roi(100, 1, "roi", epee, 20, "royaume");
guerrier = new Guerrier(80, 1, "guerrier", epee, 30);
guerisseur = new Guerisseur(50, 1, "gueisseur", baguetteMagique, 40);
sorcier = new Sorcier(40, 1, "sorcier", batonDeSorcier, 20);
}
@Test
void visiterGuerrier() {
int niveau_avant = guerrier.getNiveau();
guerrier.accepter(niveauVisiteur);
int niveau_apres = guerrier.getNiveau();
assertNotEquals(niveau_avant, niveau_apres);
}
@Test
void visiterRoi() {
int niveau_avant = roi.getNiveau();
roi.accepter(niveauVisiteur);
int niveau_apres = roi.getNiveau();
assertNotEquals(niveau_avant, niveau_apres);
}
@Test
void visiterSorcier() {
int niveau_avant = sorcier.getNiveau();
sorcier.accepter(niveauVisiteur);
int niveau_apres = sorcier.getNiveau();
assertNotEquals(niveau_avant, niveau_apres);
}
@Test
void visiterGuerisseur() {
int niveau_avant = guerisseur.getNiveau();
guerisseur.accepter(niveauVisiteur);
int niveau_apres = guerisseur.getNiveau();
assertNotEquals(niveau_avant, niveau_apres);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment