diff --git a/MAVENProject/src/main/java/entity/Bat.java b/MAVENProject/src/main/java/entity/Bat.java index 773a7afcf6d435615acddc962de86b060df50233..eb95a76a0db96b1d62ebbbdd2b32c3175a07a3b5 100644 --- a/MAVENProject/src/main/java/entity/Bat.java +++ b/MAVENProject/src/main/java/entity/Bat.java @@ -27,8 +27,8 @@ public class Bat extends Monster{ } //oscillement selon x - if (coord.getX() < 0)direction = 1; - else if (coord.getX() >= 1000)direction = -1; + if (coordInit.getX()-coord.getX() >= 150)direction = 1; + else if (coordInit.getX()-coord.getX() <= -150)direction = -1; //actualisation des coordonnees double newX = coord.getX() + direction*vitesseMax*delta; diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 2b1eae3534e8da575bdc317e0486da1086b6cef5..02b107020e4fea80556eb90e640846031213157f 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -31,8 +31,8 @@ public class Jeu implements Game{ //Coordonees de debut du personnage - static final double zdebut = 300; - static final double xdebut = 700; + static final double zdebut = 700; + static final double xdebut = 1400; //perso static Character gameCharacter; @@ -64,7 +64,7 @@ public class Jeu implements Game{ private static List<Hearth> hearthList = new ArrayList<>(); //le sol - public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1064),1,1000000)); + public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1088),1,1000000)); public static List<Obstacle> obstacleTable = new ArrayList<>(); private static List<Monster> monsterList = new ArrayList<>(); @@ -72,9 +72,9 @@ public class Jeu implements Game{ private static List<Coffre> coffreTable = new ArrayList<>(); public final static int TILES_DEFAULT_SIZE=32; - public final static float SCALE=1.75f; - public final static int TILES_IN_WIDTH = 60; - public final static int TILES_IN_HEIGHT = 20; + public final static float SCALE=1.0f; + public final static int TILES_IN_WIDTH = 132; + public final static int TILES_IN_HEIGHT = 42; public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE); private static final LevelManager levelManager = new LevelManager(); ; diff --git a/MAVENProject/src/main/java/loaders/LoadSave.java b/MAVENProject/src/main/java/loaders/LoadSave.java index c743dc326a604aed7f9ae0c605c271995cf83fb0..1f6ff7155f27ab706b701ee673929c66e20539dd 100644 --- a/MAVENProject/src/main/java/loaders/LoadSave.java +++ b/MAVENProject/src/main/java/loaders/LoadSave.java @@ -13,9 +13,9 @@ public class LoadSave { //Association des differents sprites des blocs - public static final String LEVEL_SPRITES = "Obstacles/Map_sprites.png"; + public static final String LEVEL_SPRITES = "Obstacles/Sprites_map.png"; //Map composee de pixels - public static final String LEVEL_ONE = "Obstacles/level_one_monster.png"; + public static final String LEVEL_ONE = "Obstacles/level_one_pixels.png"; public static BufferedImage GetSpriteAtlas(String fileName) { BufferedImage img = null; @@ -60,19 +60,31 @@ public class LoadSave { value = 5; //Long bloc de 7 de longueur if (91<=value && value <= 110) - value = 25; + value = 37; //Espaces vides if (111<=value && value <= 130) - value = 12; + value = 24; //Coffres if (131<=value && value <= 150) - value = 11; + value = 12; //MOnstres à pied if (151<=value && value <= 170) - value = 13; + value = 14; //Bat if (171<=value && value <= 190) - value = 14; + value = 15; + //Boss + if (191<=value && value <= 210) + value = 16; + //Porte du boss + if (211<=value && value <= 225) + value = 13; + //Terre horizontale de 7 de longueur + if (226<=value && value <= 235) + value = 46; + //Terre verticale de 6 de hauteur + if (236<=value && value <= 245) + value = 8; //Liste des valeurs lvlData[j][i] = value; } diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java index 510e51528ec6760df1792ff1768a1b7ab983200a..2bfac8e05d091dee25885cd4c07887008e704cbb 100644 --- a/MAVENProject/src/main/java/map/LevelManager.java +++ b/MAVENProject/src/main/java/map/LevelManager.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.List; import entity.Bat; +import entity.Boss; import entity.Monster; import environnement.Coordonnees; import environnement.HitBox; @@ -27,7 +28,7 @@ public class LevelManager { private BufferedImage[] importOutsideSprites() { BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_SPRITES); - levelSprite = new BufferedImage[7]; + levelSprite = new BufferedImage[10]; //Pour les sprites de chaque bloc //longs blocs de 6 de hauteur @@ -43,7 +44,13 @@ public class LevelManager { //Coffres levelSprite[5] = img.getSubimage(3 * 32, 32, 32, 32); //Long bloc de 7 de longueur - levelSprite[6] = img.getSubimage(32, 3 * 32, 224, 32); + levelSprite[6] = img.getSubimage(32, 4 * 32, 224, 32); + //Porte du boss + levelSprite[7] = img.getSubimage(4 * 32, 32, 32, 96); + //Terre verticale de 6 de hauteur + levelSprite[8] = img.getSubimage(8 * 32, 0, 32, 192); + //Terre horizontale de 7 de longueur + levelSprite[9] = img.getSubimage(32, 5 * 32, 224, 32); /*for (int j = 0; j < 2; j++) for (int i = 0; i < 9; i++) { int index = j * 9 + i; @@ -87,8 +94,23 @@ public class LevelManager { obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+3*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 3*Jeu.TILES_SIZE))); obstacleImage.add(tabImages[4]); } + //Porte du boss + if (index==13) { + obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-3*Jeu.TILES_SIZE/2), 3*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE))); + obstacleImage.add(tabImages[7]); + } + //Terre verticale de 6 de hauteur + if (index==8) { + obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-6*Jeu.TILES_SIZE/2), 6*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE))); + obstacleImage.add(tabImages[8]); + } + //Terre horizontale de 7 de longueur + if (index==46) { + obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+7*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-1*Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 7*Jeu.TILES_SIZE))); + obstacleImage.add(tabImages[9]); + } //Long bloc de 7 de longueur - if (index==25) { + if (index==37) { obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+7*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 7*Jeu.TILES_SIZE))); obstacleImage.add(tabImages[6]); } @@ -103,13 +125,19 @@ public class LevelManager { int index = levelOne.getSpriteIndex(i, j); //Monstres à pied - if (index == 13) { + if (index == 14) { monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 5)); } //chauve-souris - if (index == 14) { + if (index == 15) { monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 3)); + System.out.println(32*i+10); + + } + //Boss + if (index == 16) { + monsterList.add(new Boss(new Coordonnees(32*i, 32*j-96/2), 500, 90, 180, 3, 50)); } } @@ -123,7 +151,7 @@ public class LevelManager { for (int i = 0; i < Jeu.TILES_IN_WIDTH; i++) { int index = levelOne.getSpriteIndex(i, j); //Coffres - if (index==11) { + if (index==12) { coffreListe.add(new Coffre(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), Jeu.TILES_SIZE, Jeu.TILES_SIZE))); } diff --git a/MAVENProject/src/main/resources/Monstres/boss_idle_L1.png b/MAVENProject/src/main/resources/Monstres/boss_idle_L1.png deleted file mode 100644 index d2f9a37e5655bab2419388e653586e67d8829b32..0000000000000000000000000000000000000000 Binary files a/MAVENProject/src/main/resources/Monstres/boss_idle_L1.png and /dev/null differ diff --git a/MAVENProject/src/main/resources/Monstres/boss_idle_L2.png b/MAVENProject/src/main/resources/Monstres/boss_idle_L2.png deleted file mode 100644 index 7ab2cb679848597b67afdd7b20d51c8982b2ac3c..0000000000000000000000000000000000000000 Binary files a/MAVENProject/src/main/resources/Monstres/boss_idle_L2.png and /dev/null differ diff --git a/MAVENProject/src/main/resources/Monstres/boss_run_L1.png b/MAVENProject/src/main/resources/Monstres/boss_run_L1.png new file mode 100644 index 0000000000000000000000000000000000000000..fedfd5003905095975df54d3f24c5d85c429e7bd Binary files /dev/null and b/MAVENProject/src/main/resources/Monstres/boss_run_L1.png differ diff --git a/MAVENProject/src/main/resources/Monstres/boss_run_L2.png b/MAVENProject/src/main/resources/Monstres/boss_run_L2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9c062aa0c4cad95d4937ce887a0825e73ca328 Binary files /dev/null and b/MAVENProject/src/main/resources/Monstres/boss_run_L2.png differ diff --git a/MAVENProject/src/main/resources/Obstacles/Sprites_map.png b/MAVENProject/src/main/resources/Obstacles/Sprites_map.png new file mode 100644 index 0000000000000000000000000000000000000000..ef68143d95419ad4fd77bdeb29d765b1b6b8621f Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/Sprites_map.png differ diff --git a/MAVENProject/src/main/resources/Obstacles/level_one_monster.png b/MAVENProject/src/main/resources/Obstacles/level_one_monster.png index 05eafc53611fc5e234a4395e7dc9a753183df2db..687a90b32a5f63fe3927c050de2e97f0c708c63b 100644 Binary files a/MAVENProject/src/main/resources/Obstacles/level_one_monster.png and b/MAVENProject/src/main/resources/Obstacles/level_one_monster.png differ diff --git a/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png b/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png new file mode 100644 index 0000000000000000000000000000000000000000..33cbe413eb0787386723dd35682db6b24e0f4cdb Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png differ