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

V1

parent 8a921986
No related branches found
No related tags found
No related merge requests found
Showing
with 222 additions and 0 deletions
package modele;
public abstract class Arme {
protected int degat;
protected String nom;
......@@ -9,6 +11,10 @@ public abstract class Arme {
this.poids = poids;
}
public void augmenterDegat(int augmentation){
this.degat += augmentation;
}
public void setNom(String nom) {
this.nom = nom;
}
......
package modele;
public class BaguetteMagique extends Arme{
private int soin;
......
package modele;
public class BatonDeSorcier extends Arme{
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{
private int longueur;
......
package modele;
public class Guerisseur extends Personnage{
private int sagesse;
......@@ -13,4 +15,8 @@ public class Guerisseur extends Personnage{
public int getSagesse() {
return sagesse;
}
public void accepter(VisiteurPers visiteur) {
visiteur.visiterGuerisseur(this);
}
}
package modele;
public class Guerrier extends Personnage{
private int force;
......@@ -13,4 +15,8 @@ public class Guerrier extends Personnage{
public int getForce() {
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 {
protected int pointsDeVie;
protected int niveau;
......@@ -11,6 +13,10 @@ public abstract class Personnage {
this.arme = arme;
}
public void augmenterNiveau(int augmentation){
this.niveau += augmentation;
}
public void setNom(String nom) {
this.nom = nom;
}
......@@ -42,4 +48,6 @@ public abstract class Personnage {
public Arme getArme() {
return arme;
}
public abstract void accepter(VisiteurPers visiteur);
}
package modele;
public class Roi extends Personnage{
private int force;
private String royaume;
......@@ -23,4 +25,8 @@ public class Roi extends Personnage{
public String getRoyaume() {
return royaume;
}
public void accepter(VisiteurPers visiteur) {
visiteur.visiterRoi(this);
}
}
package modele;
public class Sorcier extends Personnage{
private int intelligence;
......@@ -13,4 +15,8 @@ public class Sorcier extends Personnage{
public int getIntelligence() {
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