From 90c5485fc5f56d92a6d7ae4af94899ef6a1a7182 Mon Sep 17 00:00:00 2001 From: YANNIS Date: Sat, 31 May 2025 19:49:26 +0200 Subject: [PATCH] ajout de Sprite et de TILES --- Sol.cpp | 12 +++++++++ Sol.hpp | 11 +++++++++ Sprite.hpp | 23 ++++++++++++++++++ .../bomberman_direction_bas.xcf | Bin 0 -> 3243 bytes .../bomberman_direction_droite.xcf | Bin 0 -> 3214 bytes .../bomberman_direction_gauche.xcf | Bin 0 -> 3208 bytes .../bomberman_direction_haut.xcf | Bin 0 -> 3200 bytes TILES/{ => map}/MUR.xcf | Bin TILES/{ => map}/SOL_VERT.xcf | Bin 9 files changed, 46 insertions(+) create mode 100644 Sol.cpp create mode 100644 Sol.hpp create mode 100644 Sprite.hpp create mode 100644 TILES/bomberman_blanc/bomberman_direction_bas.xcf create mode 100644 TILES/bomberman_blanc/bomberman_direction_droite.xcf create mode 100644 TILES/bomberman_blanc/bomberman_direction_gauche.xcf create mode 100644 TILES/bomberman_blanc/bomberman_direction_haut.xcf rename TILES/{ => map}/MUR.xcf (100%) rename TILES/{ => map}/SOL_VERT.xcf (100%) diff --git a/Sol.cpp b/Sol.cpp new file mode 100644 index 0000000..a9861f2 --- /dev/null +++ b/Sol.cpp @@ -0,0 +1,12 @@ +#include "Sprite.hpp" + +Sol::Sol() { + // Constructor implementation + + std::cout << "Sol created." << std::endl; +} + +Sol::~Sol() { + // Destructor implementation + std::cout << "Sol destroyed." << std::endl; +} diff --git a/Sol.hpp b/Sol.hpp new file mode 100644 index 0000000..e12c8e7 --- /dev/null +++ b/Sol.hpp @@ -0,0 +1,11 @@ +#pragma once +#include "Sprite.hpp" +#include + +class Sol: public Sprite { +public: + Sol(); + virtual ~Sol(); + + +} diff --git a/Sprite.hpp b/Sprite.hpp new file mode 100644 index 0000000..c0062b4 --- /dev/null +++ b/Sprite.hpp @@ -0,0 +1,23 @@ +#pragma once +#include +#include +#include + +class Sprite { +private: + SDL_Surface* surface = nullptr; + SDL_Texture* texture = nullptr; + float posX = 0.0f; + float posY = 0.0f; +public: + Sprite() = default; + virtual ~Sprite() = default; + + // Pure virtual function to be implemented by derived classes + virtual void draw() const = 0; + + // Function to set the position of the sprite + virtual void setPosition(float x, float y) { posX = x; posY = y; } + // Function to get the current position of the sprite + virtual void getPosition(float &x, float &y) const { x = posX; y = posY; } +}; diff --git a/TILES/bomberman_blanc/bomberman_direction_bas.xcf b/TILES/bomberman_blanc/bomberman_direction_bas.xcf new file mode 100644 index 0000000000000000000000000000000000000000..efaadeb00f75fd07342ea5dd7c20ba187ed0286a GIT binary patch literal 3243 zcmbtXO>7%g5T0FUH{N*bBx{#62&7l@;}m3josxDN<)=+k+8{zhl8PYp(5=0;SMtx+ z-V_%O&4ELNIP`>i^npV-AcaGvN>m~eQq>d6fkThn=m80&3bayNmKodYY|@`3w&6I=UmK0}_4Nl29w7bFrAwO{G*;)F+c(g%akBxibZ@237z1!rRb6U0 znx;V=U<1c39ClO$>N$Y5o3Oqzw*+t-JI_J&tL52?LIbR!m7yPQeY-jbKLWdVjyb`G zwyrrAJUX=KtZHDPB{blM15N>~o3MHJOK|^$yB~o2HLR_jTt&_tEPVRxDP8}IjhbR)PDo#iyHiL7ive~);w4itgpfS`#1sgqi~oHh@b?ge)=Ou zf;fuOg+h6HrHv_n2LZ(2@p&MRSx#gsrIJy$QKzJWa=L2hwvlC@nRbDlotd4Zk-jF? zEa`b8k*}Ir>Z2tX9IDyZiUzAyie~mm&rmL(sT3>K9?U5lYC;y9kDrZC#ZR$Zv7*~C zmOjQ}7u6ShhE?_A@#8V39zlnf_u;T**!27&*!EnnS$f7S=UH0Cd9H2K+Dc-%Y}(8$ zX9`9QIrT~|S2Ju34Ea9Xg4@ZIpr|itCBxRUx~;bpC*;Q_>!l*QYE)}xr92)_C)GGJ z%9%PvPs}Wl)4PQ?Z(uDh+nCe~xOlONqq{g?+A=`znsy>JqV8hy>3&S+3KhGO zJWab|0SgXOo_?7q|^Aoevz!&>I zEw=*RX-I`n8`EG`)ySFk@t8%qtraR(j4fA-bkY3h|o*26$eGMr%<*|3HnLo zV77hw{2v#1GUcwlgo7E&&LmG+R?*Dpv@M69PHjRRNgRFVws_i@%CWO9&s>bL)Yh3v z$E~jgulN*%p^trfA7Z*<2q^J|kIpQx1Y20Pj4GR|lr9_9l3vE14o+I-JXzBlm70h` zZ(A4TFyYA+{Khvj3iZ>=mEOvPslA5c;T|7mKKzakhkRJ};R8P0iKnNxypiqQHr=@K_8=q9nMX zF4+xr2roR0NJ=z1Ffb@ZqY;Ux_>?F=zzsegP{bgQG5;M^ zl)nBxMTv@HK=?6`Ye) zsi{gzmw*f$kmK( zb;<1p!KIS!T%ixn>a{D&2Fv2L?dR``Muv7J5xi>jD)~D0wJMoL_g2Xad7dAC^@iL1 zvXDDJ0Te%T2w>_9+8F&=V e4THNwT5GVyAsz{>OP9|!;D%6_pd0flxc>q82n@jh literal 0 HcmV?d00001 diff --git a/TILES/bomberman_blanc/bomberman_direction_droite.xcf b/TILES/bomberman_blanc/bomberman_direction_droite.xcf new file mode 100644 index 0000000000000000000000000000000000000000..546321072705fc09566dede080144d62261790b8 GIT binary patch literal 3214 zcmbtWOKcNY6uth;_%jnbaZF9CR(iM}n^v~Rp#c-+10fWsnqnnEbtM)I_ShcDpTV9` z(=N!Oi>T^?RmIYaF49G%bb*8fQX^GDtg0-!VA)++RB9Jh83bW^ug8;2_$8q)xqjz< z-<|vJdovZauCY$B%q~mWEZ`VK+K=Q$`VPs3{~nyrWs67N7=6n$&8e$bV>2_yuH|mR za|XBz6z(o{7-Im2BuRy?k;~g@{r z7zNg0a1WM1GnS14bbbfpt2X?42igbW#vEuGtggVld$<4$A-S*~FpT7%{`t>15#lJ4 z7m4chS|3yW_5tvJ;5<;lDyNFgdR=Mg$Wu`va-yZkx>90asCt#1Iy0Lm&0x<|t;-c9 zRcWaulF=5to^0z^Y6@#NYij9WFj=k?o3&;uh&5%&9%S*k#Hqw|;y5eUnz9~e*~2V; zUV6#jh$NjqawN{AgBbAQ9s*j9y~r!MzLAK zlqM4A7CuVl5>u1GaocecYdWsW71ogJ%0&ERM=ht%(0-(+RlS{8TJv&Ut10ox9K*ly z44S^!Wd?V6L9L_ph%_=fCXJ3A%ChXyvFzcokwd%mJ=;<%YD2EQN{n9OpD2xrUPbp0 zcUZA!{h3-KBWV4+QE_g9zC}b ze%g^5pAM$Nw3bpq@YTK?hwK!XB)h6OqUDw7knMOM;mzo!qG+u3)O`8lJu}pk& zJhK_+sq;~&Yw1nvH0?tFDs>m< zo)ZL*XbN7=#XkuNK7<|)0WTT>Q4}~XBnYC5Btg*?-ayum^P?eB_{0a{p-2y+{bRyz z%lBWxVYCSeTu%}9aITO`aEp(GP&gd&a%R*Y;SoBSsEkPo0-=;Kt~Dk*Q+{{~%*OLtiHnZx36CyqL6w8`!~Cy*yZF9-EqKErQD&KnkIZW{cdt e+1d-Q834}o<9^uWLq351v`-d!%^>Q1$o~g`90xN1 literal 0 HcmV?d00001 diff --git a/TILES/bomberman_blanc/bomberman_direction_gauche.xcf b/TILES/bomberman_blanc/bomberman_direction_gauche.xcf new file mode 100644 index 0000000000000000000000000000000000000000..8f2f3934158805f7e1cea621bdaf00773cefc9d4 GIT binary patch literal 3208 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 L(-BW_`cVD@Ix+#U literal 0 HcmV?d00001 diff --git a/TILES/MUR.xcf b/TILES/map/MUR.xcf similarity index 100% rename from TILES/MUR.xcf rename to TILES/map/MUR.xcf diff --git a/TILES/SOL_VERT.xcf b/TILES/map/SOL_VERT.xcf similarity index 100% rename from TILES/SOL_VERT.xcf rename to TILES/map/SOL_VERT.xcf