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