From b5996b3a08438d8359d210268f43c423a0d73e13 Mon Sep 17 00:00:00 2001
From: Azurlors <florianrichard2001@gmail.com>
Date: Tue, 3 Jan 2023 18:20:58 +0100
Subject: [PATCH] =?UTF-8?q?mise=20=C3=A0=20jour=20gameplay?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/java/engine/MenuPanel.java       |  24 ++++++++++++++++++
 .../src/main/java/entity/Character.java       |   2 +-
 MAVENProject/src/main/java/jeu/Jeu.java       |  14 +++++-----
 .../src/main/java/map/LevelManager.java       |  11 ++++----
 MAVENProject/src/main/java/start/Main.java    |  13 ++++++++--
 .../main/resources/Obstacles/level_one.png    | Bin 865 -> 0 bytes
 .../resources/Obstacles/level_one_monster.png | Bin 950 -> 0 bytes
 7 files changed, 49 insertions(+), 15 deletions(-)
 delete mode 100644 MAVENProject/src/main/resources/Obstacles/level_one.png
 delete mode 100644 MAVENProject/src/main/resources/Obstacles/level_one_monster.png

diff --git a/MAVENProject/src/main/java/engine/MenuPanel.java b/MAVENProject/src/main/java/engine/MenuPanel.java
index c58f073..c8e0d28 100644
--- a/MAVENProject/src/main/java/engine/MenuPanel.java
+++ b/MAVENProject/src/main/java/engine/MenuPanel.java
@@ -134,4 +134,28 @@ public class MenuPanel {
         }
         f.getContentPane().remove(gameFin);
     }
+    public void menufinVicory(){
+        resetCharacter();
+        gameFin= new Panel(new FlowLayout(FlowLayout.CENTER));
+        button3 = new JButton("Ecran debut");
+        JLabel label = new JLabel("Victory");
+        label.setFont(new Font("Arial", Font.BOLD, 24));
+        label.setForeground(Color.RED);
+        gameFin.add(label);
+        gameFin.add(button3,BorderLayout.CENTER);
+        button3.addActionListener(e -> retourdebut = true);
+        f.getContentPane().add(gameFin);
+        f.setContentPane(gameFin);
+        f.pack();
+        f.setVisible(true);
+        f.getContentPane().setFocusable(true);
+        while(!isRetourdebut()){
+            try {
+                Thread.sleep(1);
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        f.getContentPane().remove(gameFin);
+    }
 }
diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index d5b593b..3300ffc 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -35,7 +35,7 @@ public class Character extends Entity{
     //private BufferedImage sprite;
 
     public Character(Coordonnees c, double vitesseMax, double m, double impSaut){
-        super(c,vitesseMax,30,60,1); // comme tous les entities ont une hitbox, j'ai factorise
+        super(c,vitesseMax,30,60,5); // comme tous les entities ont une hitbox, j'ai factorise
         this.masse = m;
         this.impulsionSaut = impSaut;
         this.tableCommande = new HashMap<>();
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index 0dd4ca9..2ff2e45 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -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();
@@ -209,7 +209,7 @@ public class Jeu implements Game{
 
     @Override
     public boolean isFinished() {
-        if(gameCharacter.death()){
+        if(gameCharacter.death() || getMonsterList().get(getMonsterList().size()-1).death()){
             return true;
         }
         // le jeu n'est jamais fini
diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java
index 29ab7ae..c2f29b0 100644
--- a/MAVENProject/src/main/java/map/LevelManager.java
+++ b/MAVENProject/src/main/java/map/LevelManager.java
@@ -25,7 +25,7 @@ public class LevelManager {
 
 	public LevelManager() {
 		importOutsideSprites();
-		levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+		levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_ONE));
 		//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
 	}
 
@@ -113,8 +113,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)));
+					//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)));
 					obstacleImage.add(tabImages[7]);
 				}
 				//Terre verticale de 6 de hauteur
@@ -178,17 +179,17 @@ public class LevelManager {
 
 				//Monstres à pied
 				if (index == 45) {
-					monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 5));
+					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");
 				}
 				//chauve-souris
 				if (index == 46) {
-					monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 3));
+					monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 1));
 					System.out.println("oui");
 				}
 				//Boss
 				if (index == 47) {
-					monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 50));
+					monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 30));
 					indexBoss = monsterList.size()-1;
 				}
 			}
diff --git a/MAVENProject/src/main/java/start/Main.java b/MAVENProject/src/main/java/start/Main.java
index 50e8811..617b07b 100644
--- a/MAVENProject/src/main/java/start/Main.java
+++ b/MAVENProject/src/main/java/start/Main.java
@@ -8,6 +8,8 @@ import engine.GameEngineGraphical;
 import jeu.Controller;
 import jeu.Jeu;
 
+import static jeu.Jeu.*;
+
 
 /**
  * lancement du moteur avec le jeu
@@ -43,8 +45,15 @@ public class Main {
 
 			mp3 = new MP3("failsound.wav");
 			mp3.displayMusic();
-			menu.menufin();
-			mp3.stopMusic();
+			if(getGameCharacter().death() ){
+				menu.menufin();
+				mp3.stopMusic();
+			}
+			if (getMonsterList().get(getMonsterList().size()-1).death()){
+				menu.menufinVicory();
+				mp3.stopMusic();
+			}
+
 		}
 
 	}
diff --git a/MAVENProject/src/main/resources/Obstacles/level_one.png b/MAVENProject/src/main/resources/Obstacles/level_one.png
deleted file mode 100644
index c49e4961d7aa642ae414162ba3970fb29ce2052f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 865
zcmV-n1D^beP)<h;3K|Lk000e1NJLTq002Ay000yS1^@s6(F0y700001b5ch_0Itp)
z=>Px&8%ab#R9HuiSUYapKoA|4a+?@AKokg8s?>Jw;JC1I0Q&}!VV}T3=o{F5AUF0M
ztdv2jFbM42K($mdAi2`M;k?<UDuUeK%)IyJt%}RlNnI2oQVaYFsil_geRyuahJoRI
zJIQ+v<KsGHeY0kFjO}^a=P)h4*XL>1$1!GKedgk7b<)kK!)7>vOpY7CLe02c!n_1w
zz!(@FNCzDA;RmT#-PQ!h>otp5VRBHDx$pw3N_NDmZmaZavX-yszvO&=*rFz8$iNFX
z*{vR{P39sJ&1bznR9I&kv)jY_?m(v61QF%SXPLkI9)m<QB`M=m45?(Omqe?Gf;4V{
z8O6XTq_=P;ndaQn^oaos(Gd**Q+bn6O`k4c6b~W*CZkEHcORdoGx=EEcjA{BZ-k0a
zh8F-6=Zhjz3<4$!X*MS6O(0|{=0TS$4pDwjy@{B46%IvJ95!N;Y*!kV)yrC@<56r~
z$@bvE(pT@88=}C7piC?6R2m^oMAK79kK3mA4i+jzkk50Z02fzJ`9*A7@*t`y(laC;
zm-KsMB#3sH05T9o`n;a3<+^EoUk>54I*Cpn&O@$xUdzFFZ|BB%>&oatvK?!OWL#a3
zGEdV}Ir@Dc1Ttql45T$AhS<90`<Wb7i(bDSCMx-=dZx%XEuQ5B4*Re)VoF2;D{K;!
zbU*qd*9BrZ!x<jRnS8ov60HT#Gex!!V=E&3LA6Z6jASX#VS+4zKCB*Y)2zRmY-IoM
zUT0m25lX9c(xz!KKv>2Wl`#g%%BO|!@mo__G&Vj`5Ph!kzyOkN$@E*&PH>E&gP)W>
zO_r^DTfh}^*o6n%s=XeXs%mT^EVo~}iZ(E6ep(?p1<0C(NcFstgYih;!;=)#RlU1e
z%2|6G!!D!8*xM2u`p>_OOy7=dMu$K#$$vs{Vos8m3d3#EN=dR*AI1&1(q^iMaS*{U
zVR~qSxeCT!`!se^R~WC5#s1}+`V5^((gwyOKa{6(Jdcf@tD^r;#bY^><BNsdmOtd`
r_JgciWgTWMF>Zc6<d>Z5$xrzYNo%q2o5W*h00000NkvXXu0mjfD^ZXJ

diff --git a/MAVENProject/src/main/resources/Obstacles/level_one_monster.png b/MAVENProject/src/main/resources/Obstacles/level_one_monster.png
deleted file mode 100644
index 687a90b32a5f63fe3927c050de2e97f0c708c63b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 950
zcmV;n14;aeP)<h;3K|Lk000e1NJLTq002Ay000yS1^@s6(F0y700001b5ch_0Itp)
z=>Px&a7jc#R9HuqSUqynP!L{~P8(-900D#D(b}|7z>Kk&i7yb}0B4dD@MCUZE@01K
zCkzzO#*{#16N5QH)Do3qBt1*J+HWPJ!t*3Oy|?>)yWj4!cN+MS=Mhmv>E*`pZ9I&B
zBZ{(dJ~17MIba>WW<KT<-M)Nc@><T}dnp_Ed^b*P2G6~-z~8!B?l1r%**NjoqbSNj
z;hW`S0Fd)_XW$fi5-e+9F)L?SGP%pgrG^%wW4{s7>%n(Ae$h_e<ljmla0IzIfUykp
z$k}hrarS72RTy)8c-Zp|z;n0Ga&tqiJGI0v?j&DTIj_PJe9I%Q!pS@(i9F1(bRb7j
zB5j4MLfy(wWi(%3YKnp#IIN;lr3}&T40F_h&g73$OD<b|dbpgX!TY~LSRtZ(O};ND
zfD0rS-PB>AY)Y9eB?L;Ym<LR9(y;;quR*9|$80fU40F+vp_Ld^V5w1`(^b&R%F=3c
zL(RjQ5+t0fR>_fJjP{j+XWOjybz2ICRWVj&04O<U7}QVB0MBhpU2$02IfT{T5;>2H
zmMszrX-gp$K(@kLxov?S1JQXjqpx55bWsJaNBfPx^lI>f2CnpNCu)@jcI8gu_Gz^V
z>Hc9Y>t;%u4NJ7}(wQ|JXqBr4&@Y>@NKT|c0%Fp#q#~vw$5fdiTD1Dqi8tI{atQ?~
zcE%1x-jM8)CRQnBbr{gB@{@=CRt3_^!y^JKyiS>R5~9ypuWs95<^TEUh@PEHlHMCf
znbaLarRAi~<M*`qoaPQbR7fDI9j@roR0)(Js163~_4VD54u0(k=eaHjhE+YZnhiyS
zWP7;@sb!TYtCp%X0Xf0GJs<U{H=GCpR3DCV7&jiES+8)?>XWgeS_cNeJWH!ZEKI8@
zV^4_>RBuzIOUsX28%4qDcbGLDnM{@f1R4e+%9LMehjk{GGCzL1a3x7T7p<jrc!(YQ
z`6s02?X-J}ueiHf2fggRSoH55%xHb>XJOW;&*&=fRhI^}z-m7&;1YXgv<`e&ig<=_
zJ9VeEvtTfxGXDSoVy0?uc}p9YyX+9cnO6~Ko#f>DUj6h|G#IuErA3wybY7jmIilWh
zS{cDAx1GcDSaeP%G#)MJZ2W+N^<Lrcq-q<AXYAt-Pw8FvqbS+kCl_?_shimOvhj`n
Y0bgUc@&-$?wg3PC07*qoM6N<$g4bNSBLDyZ

-- 
GitLab