Skip to content
Snippets Groups Projects
Commit 47f8f1f3 authored by BRUGNEAUX Louis's avatar BRUGNEAUX Louis
Browse files

Porte du boss implementee

parent 36ca9c01
Branches
No related tags found
No related merge requests found
......@@ -14,8 +14,10 @@ import environnement.PositionCollision;
import jeu.Jeu;
import map.Obstacle;
import map.Coffre;
import map.LevelManager;
import static jeu.Jeu.getLevelmanager;
import static jeu.Jeu.getObstacleTable;
//import static jeu.Jeu.gameCharacter;
......@@ -27,9 +29,9 @@ public class Character extends Entity{
private final double impulsionSaut;
private double masse;
public int key;
protected Map<String,Double> tableCommande; //table des commandes du perso
private boolean breakPorte=false;
private boolean brokenPorte=false;
//private Obstacle obstacleBeneath = Jeu.sol;
//private BufferedImage sprite;
......@@ -143,17 +145,26 @@ public class Character extends Entity{
}
}
}
void keyGestion() {
for (Coffre cof : Jeu.getCoffreTable()){
if (HitBox.collision(this.getHitBox(), cof.getHitbox())){
if (cof.key) {
this.key += 1;
cof.key = false;
System.out.print("Tu as trouvé une clée!");
}
}
}
if (key==3 && brokenPorte==false){
if (HitBox.collision(this.getHitBox(),Jeu.getObstacleTable().get(getLevelmanager().getIndexPorte()).getHitbox())) {
breakPorte = true;
brokenPorte = true;
}
}
}
List<Obstacle> obstacleInVoisinage(){ //recupere la liste des obstacles presents dans le voisinage
......@@ -204,6 +215,7 @@ public class Character extends Entity{
}
public void evolveCharacter(){
breakPorte=false;
getGameCommand();
deplacements();
collisionGestion();
......@@ -228,6 +240,9 @@ public class Character extends Entity{
public double getVitesseActuZ() {
return vitesseActuZ;
}
public boolean isBreakPorte() {
return breakPorte;
}
public double getM() {
return masse;
......
......@@ -65,11 +65,11 @@ public class Jeu implements Game{
//Sol du niveau 1 :
public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000));
//public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000));
//Sol du niveau 2 :
//public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000));
public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000));
public static List<Obstacle> obstacleTable = new ArrayList<>();
private static List<Monster> monsterList = new ArrayList<>();
......@@ -80,11 +80,11 @@ public class Jeu implements Game{
public final static float SCALE=1.0f;
//Taille fenêtre niveau 1 :
public final static int TILES_IN_WIDTH = 132;
public final static int TILES_IN_HEIGHT = 46;
//public final static int TILES_IN_WIDTH = 132;
//public final static int TILES_IN_HEIGHT = 46;
//Taille fenêtre niveau 2 :
//public final static int TILES_IN_WIDTH = 152;
//public final static int TILES_IN_HEIGHT = 60;
public final static int TILES_IN_WIDTH = 152;
public final static int TILES_IN_HEIGHT = 60;
public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE);
private static final LevelManager levelManager = new LevelManager();
......@@ -194,10 +194,23 @@ public class Jeu implements Game{
//perso evolue dans le jeu (en actualisant ses coordonnees)
gameCharacter.evolveCharacter();
//monstres evoluent dans le jeu
Monster.evolveAllMonsters(monsterList);
//perso evolue dans le jeu (en actualisant ses coordonnees)
gameCharacter.evolveCharacter();
if (gameCharacter.isBreakPorte()){
obstacleTable = new ArrayList<>();
obstacleTable.add(sol);
for (Monster monster : monsterList){
monster.setCoord(new Coordonnees(monster.getCoord().getX(), monster.getCoord().getZ()-10));
}
}
Coffre.EvolveAllCoffres(coffreTable);
//kunais evoluent dans le jeu
Kunai.evolveAllKunais(kunaiList);
//coeurs healent
......
......@@ -50,7 +50,7 @@ public class Painter implements GamePainter{
assert url != null;
int placeX = -10;
String beginPath = url.toString().substring(6)+"/";
crayon.drawImage(new ImageIcon(beginPath+"background_rdm.png").getImage(), 0-xCam, 0-zCam, null, null);
crayon.drawImage(new ImageIcon(beginPath+"background.png").getImage(), 0-xCam, 0-zCam, null, null);
drawMap(crayon);
drawSol(crayon);
......
package map;
import java.awt.image.BufferedImage;
import java.util.List;
import environnement.HitBox;
import jeu.Jeu;
......@@ -18,6 +19,17 @@ public class Coffre {
image = Jeu.getLevelmanager().getImageCoffre();
}
public static void EvolveAllCoffres(List<Coffre> coffreList){
int k=0;
while (k<coffreList.size()){
if (coffreList.get(k).key){
k++;
}
else{
coffreList.remove(coffreList.get(k));
}
}
}
public HitBox getHitbox() {
return hitbox;
......
......@@ -21,11 +21,12 @@ public class LevelManager {
private Level levelOne;
private Level levelTwo;
private List<BufferedImage> obstacleImage = new ArrayList<>();
private static int indexBoss;
private int indexBoss;
private int indexPorte;
public LevelManager() {
importOutsideSprites();
levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_ONE));
levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
}
......@@ -82,6 +83,7 @@ public class LevelManager {
public List<Obstacle> generateObstacleTable() {
List<Obstacle> obstacleList = new ArrayList<>();
BufferedImage[] tabImages = importOutsideSprites();
Obstacle obstaclePorte = new Obstacle(new HitBox(new Coordonnees(1,1),1,1));
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);
......@@ -113,9 +115,9 @@ public class LevelManager {
obstacleImage.add(tabImages[4]);
}
//Porte du boss
if (index==44) {
//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-1)));
obstaclePorte = 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-1));
obstacleList.add(obstaclePorte);
obstacleImage.add(tabImages[7]);
}
//Terre verticale de 6 de hauteur
......@@ -137,7 +139,6 @@ public class LevelManager {
if (index==29) {
obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-20*Jeu.TILES_SIZE/2), 20*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
obstacleImage.add(tabImages[10]);
System.out.println(i);
}
//Specifique au niveau 2 :
......@@ -169,34 +170,32 @@ public class LevelManager {
}
}
}return obstacleList;
}indexPorte=obstacleList.indexOf(obstaclePorte);
return obstacleList;
}
public List<Monster> generateMonsterTable() {
List<Monster> monsterList = new ArrayList<>();
Boss boss = new Boss(new Coordonnees(1, 1), 1, 1, 1, 1, 1);
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);
//Monstres à pied
if (index == 45) {
monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 3));
System.out.println("ça a bien créé un monstre");
monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 5));
}
//chauve-souris
if (index == 46) {
monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 1));
System.out.println("oui");
monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 3));
}
//Boss
if (index == 47) {
boss = new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 30);
monsterList.add(boss);
monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 50));
indexBoss = monsterList.size()-1;
}
}
}
indexBoss = monsterList.indexOf(boss);
System.out.println(monsterList);
return monsterList;
}
......@@ -233,8 +232,11 @@ public class LevelManager {
return importOutsideSprites()[5];
}
public static int getIndexBoss() {
public int getIndexBoss() {
return indexBoss;
}
}
public int getIndexPorte() {
return indexPorte;
}
}
MAVENProject/src/main/resources/Obstacles/background.jpg

43 KiB

MAVENProject/src/main/resources/Obstacles/background.png

323 KiB | W: | H:

MAVENProject/src/main/resources/Obstacles/background.png

61.7 KiB | W: | H:

MAVENProject/src/main/resources/Obstacles/background.png
MAVENProject/src/main/resources/Obstacles/background.png
MAVENProject/src/main/resources/Obstacles/background.png
MAVENProject/src/main/resources/Obstacles/background.png
  • 2-up
  • Swipe
  • Onion skin
MAVENProject/src/main/resources/Obstacles/background_rdm.png

4.73 MiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment