diff --git a/MAVENProject/src/main/java/loaders/LoadSave.java b/MAVENProject/src/main/java/loaders/LoadSave.java new file mode 100644 index 0000000000000000000000000000000000000000..db474d285e1ae208fdeab321879b6f413ad1b5e6 --- /dev/null +++ b/MAVENProject/src/main/java/loaders/LoadSave.java @@ -0,0 +1,52 @@ +package loaders; + +import java.awt.Color; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; + +import javax.imageio.ImageIO; + +import jeu.Jeu; + +public class LoadSave { + + + + public static final String LEVEL_SPRITES = "Obstacles/Map_level_one.png"; + public static final String LEVEL_ONE = "Obstacles/level_one2.png"; + + public static BufferedImage GetSpriteAtlas(String fileName) { + BufferedImage img = null; + InputStream is = LoadSave.class.getResourceAsStream("/" + fileName); + try { + img = ImageIO.read(is); + + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return img; + } + + public static int[][] GetLevelData() { + int[][] lvlData = new int[Jeu.TILES_IN_HEIGHT][Jeu.TILES_IN_WIDTH]; + BufferedImage img = GetSpriteAtlas(LEVEL_ONE); + + for (int j = 0; j < img.getHeight(); j++) + for (int i = 0; i < img.getWidth(); i++) { + Color color = new Color(img.getRGB(i, j)); + int value = color.getRed(); + if (value >= 18) + value = 0; + lvlData[j][i] = value; + } + return lvlData; + + } +} diff --git a/MAVENProject/src/main/java/map/Level.java b/MAVENProject/src/main/java/map/Level.java new file mode 100644 index 0000000000000000000000000000000000000000..ee0a046d5a4d6c9c2cc00220c8769b193bab0081 --- /dev/null +++ b/MAVENProject/src/main/java/map/Level.java @@ -0,0 +1,19 @@ +package map; + +public class Level { + + private int[][] lvlData; + + public Level(int[][] lvlData) { + this.lvlData = lvlData; + } + + public int getSpriteIndex(int x, int y) { + return lvlData[y][x]; + } + + public int[][] getLevelData() { + return lvlData; + } + +} diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java new file mode 100644 index 0000000000000000000000000000000000000000..677b0e3baa520a606e6da66f6f208be561225783 --- /dev/null +++ b/MAVENProject/src/main/java/map/LevelManager.java @@ -0,0 +1,55 @@ +package map; + +import java.awt.Graphics; +import java.awt.image.BufferedImage; + +import environnement.Coordonnees; +import environnement.HitBox; +import jeu.Jeu; +import loaders.LoadSave; +import jeu.Painter; + +public class LevelManager { + + private Jeu jeu; + private Painter painter; + private BufferedImage[] levelSprite; + private Level levelOne; + + public LevelManager(Painter painter) { + this.painter = painter; + importOutsideSprites(); + levelOne = new Level(LoadSave.GetLevelData()); + } + + private void importOutsideSprites() { + BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_SPRITES); + levelSprite = new BufferedImage[18]; + for (int j = 0; j < 2; j++) + for (int i = 0; i < 9; i++) { + int index = j * 9 + i; + levelSprite[index] = img.getSubimage(i * 32, j * 32, 32, 32); + } + } + + public void draw() { + for (int j = 0; j < Jeu.TILES_IN_HEIGHT; j++) + for (int i = 0; i < Jeu.TILES_IN_WIDTH; i++) { + int index = levelOne.getSpriteIndex(i, j); + /*g.drawImage(levelSprite[index], Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j, Jeu.TILES_SIZE, Jeu.TILES_SIZE, null);*/ + if (index<=14) { + Jeu.obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j), Jeu.TILES_SIZE, Jeu.TILES_SIZE))); + System.out.println(jeu.getObstacleTable().size()); + } + } + } + + public void update() { + + } + + public Level getCurrentLevel() { + return levelOne; + } + +} diff --git a/MAVENProject/src/main/resources/Obstacles/Map_level_one.png b/MAVENProject/src/main/resources/Obstacles/Map_level_one.png new file mode 100644 index 0000000000000000000000000000000000000000..ff18b7e196ea16b7d3bdd341aa268f52f3d13f91 Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/Map_level_one.png differ diff --git a/MAVENProject/src/main/resources/Obstacles/level_one2.png b/MAVENProject/src/main/resources/Obstacles/level_one2.png new file mode 100644 index 0000000000000000000000000000000000000000..cea31bb2c7c094fce1a6a9ac189959214952c777 Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/level_one2.png differ