diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java index 662e00f5ba3d41ce5db68c68eeb3fc998a282f46..349c804079828ec750f7d033c478200d99a5d187 100644 --- a/MAVENProject/src/main/java/entity/Character.java +++ b/MAVENProject/src/main/java/entity/Character.java @@ -102,7 +102,7 @@ public class Character extends Entity{ break; } } - + //on gere les collisions laterales et celle du haut for (int i=0;i<collisionsPresentes.size();i++){ diff --git a/MAVENProject/src/main/java/entity/Monster.java b/MAVENProject/src/main/java/entity/Monster.java index 0bc4a47e70c4e38789a5dafddb941925b5fca534..003a23a572cb9c53f5aa872c8abfe9e5bebcd4bb 100644 --- a/MAVENProject/src/main/java/entity/Monster.java +++ b/MAVENProject/src/main/java/entity/Monster.java @@ -108,7 +108,7 @@ public class Monster extends Entity{ public void attaque(){//isAttacking > 0 pour dire que si il est entrain d'attaquer, il finit son attaque if ((Math.abs(this.coord.getX()-getGameCharacter().coord.getX()) <= 2+entityWIDTH/2+getGameCharacter().entityWIDTH/2 && Math.abs(this.coord.getZ()-getGameCharacter().coord.getZ()) <= entityHEIGHT && characInFrontOf()) || isAttacking > 0){ //n'attaque que si perso pas invincible //si il n'est pas immobile il s'arrete - if (isAttacking <= 50){ + if (isAttacking >= 50){ isAttacking++; } //sinon on cree l'attaque diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java index 79f951ebd833c38110276ac0dac5c7407d64f7e9..61bb1ed9bf06de66cc14184ec5c49bbf61b8503b 100644 --- a/MAVENProject/src/main/java/jeu/Painter.java +++ b/MAVENProject/src/main/java/jeu/Painter.java @@ -109,6 +109,8 @@ public class Painter implements GamePainter{ crayon.drawImage(new ImageIcon(beginPath+"heart.png").getImage(), (int)hd.getX()-xCam-20, (int)hd.getZ()-zCam, null,null); } } + + private void drawObstacleBis(Graphics2D crayon, Obstacle obstacle, BufferedImage bufferedImage){ ObstacleLoader loader = new ObstacleLoader(obstacle,bufferedImage); HitBox hitBox = loader.getObstacle().getHitbox(); diff --git a/MAVENProject/src/test/java/entity/CharacterTest.java b/MAVENProject/src/test/java/entity/CharacterTest.java new file mode 100644 index 0000000000000000000000000000000000000000..33c6065985663b52e769085cd7eaf00e2d32607f --- /dev/null +++ b/MAVENProject/src/test/java/entity/CharacterTest.java @@ -0,0 +1,72 @@ +package entity; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.BeforeClass; +import org.junit.Test; + +import environnement.Coordonnees; +import environnement.HitBox; +import jeu.Jeu; +import map.Coffre; +import map.Obstacle; + +public class CharacterTest { + + Character character; + Obstacle obstacleTest; + Monster monster; + Coffre coffreTest; + + @BeforeClass + public void generateParameters(){ + character = new Character(new Coordonnees(2,3), 100, 1, 50000); + obstacleTest = new Obstacle(new HitBox(new Coordonnees(10, 30),50,60)); + monster = new Monster(new Coordonnees(20, 3), 100, 50, 60, 1, 1); + Jeu.getMonsterList().add(monster); + coffreTest = new Coffre(new HitBox(new Coordonnees(10, 30),50,60)); + character.tableCommande.put("CommandX",(double) 1000); + character.tableCommande.put("CommandZ",(double) 1000000); + character.tableCommande.put("CommandAttack", (double) 1); + } + @Test + public void testAttaque() { + character.attaque(); + assertTrue("monstre mort", monster.death()); + } + + @Test + public void testCollisionGestion() { + assertTrue("y a collision avec l obstacle", HitBox.collision(character.hitBox, obstacleTest.getHitbox())); + character.collisionGestion(); + assertFalse("y a plus collision", HitBox.collision(character.hitBox, obstacleTest.getHitbox())); + } + + @Test + public void testDeplacements() { + double x = character.getCoord().getX(); + double z = character.getCoord().getZ(); + character.deplacements(); + assertNotEquals(x, character.getCoord().getX()); + assertNotEquals(z, character.getCoord().getZ()); + } + + + @Test + public void testKeyGestion() { + assertTrue("il a pas de cle", character.key==0); + + character.keyGestion(); + assertTrue("il a une cle", character.key==1); + } + + @Test + public void testResetCommand() { + assertFalse("commandes non nulles", character.tableCommande.get("CommandX")==0 && character.tableCommande.get("CommandZ")==0 && character.tableCommande.get("CommandAttack")==0); + character.resetCommand(); + assertTrue("commandes non nulles", character.tableCommande.get("CommandX")==0 && character.tableCommande.get("CommandZ")==0 && character.tableCommande.get("CommandAttack")==0); + + } +}