From 279eb78cd28b110178b685537c06b0df169aba98 Mon Sep 17 00:00:00 2001 From: _N3m0 Date: Mon, 11 Mar 2024 12:43:20 +0100 Subject: [PATCH] huge init --- .gitignore | 1 + Makefile | 8 +++++ main.c | 69 +++++++++++++++++++++++++++++++++++ mineur | Bin 0 -> 20568 bytes ressources/mine.png | Bin 0 -> 5155 bytes ressources/mine.svg | 85 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 163 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 main.c create mode 100755 mineur create mode 100644 ressources/mine.png create mode 100644 ressources/mine.svg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4ac255c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.wakatime-project diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7688645 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +all: + gcc -Wall -Wextra -ggdb main.c -o mineur -lraylib + +run: all + ./mineur + +clean: + rm -f mineur diff --git a/main.c b/main.c new file mode 100644 index 0000000..946d00c --- /dev/null +++ b/main.c @@ -0,0 +1,69 @@ +#include "raylib.h" + +static inline int min(int a, int b) { + return a < b ? a : b; +} + +int screen_width = 500; +int screen_height = 550; + +Rectangle menu; +int grid_len = 0; +int nb_cell = 16; + +Rectangle grid = {0}; + +Image mine_image_orig = {0}; +Texture mine_texture = {0}; + +void screen_resize_handle(void) { + screen_width = GetScreenWidth(); + screen_height = GetScreenHeight(); + + menu.width = screen_width; + grid_len = min(screen_width, screen_height - menu.height); + grid = (Rectangle){(screen_width - grid_len) / 2, + screen_height - grid_len, + grid_len, grid_len}; + + Image mine_copy = ImageCopy(mine_image_orig); + ImageResize(&mine_copy, grid.width/nb_cell, grid.height/nb_cell); + mine_texture = LoadTextureFromImage(mine_copy); +} + +int main(void) { + SetConfigFlags(FLAG_WINDOW_RESIZABLE); + + menu = (Rectangle){0, 0, screen_width, screen_height - screen_width}; + mine_image_orig = LoadImage("ressources/mine.png"); + + InitWindow(screen_width, screen_height, "mineur"); + + screen_resize_handle(); + + while (!WindowShouldClose()) { + if (IsWindowResized()) + screen_resize_handle(); + + BeginDrawing(); + { + ClearBackground(RAYWHITE); + + DrawRectangleRec(menu, RED); + DrawRectangleRec(grid, GRAY); + + for (int x=0; xMA0 z?@?sM>dtg_XaCXl=$>=Fd(OG{o_F7S_r3eB@APi(uo#BmWEEQkNuD}|cyvMIHqC%| z#0F7=e3@7($|09YOqF{SL8(e7Ei(;oF zarbIjF|~{8pfR@`O7#sULZO&16bTQf zq_XxVwxY=~t~IB4Vf5KNN`tqSR~@Cj$GB)2Y91wJbAss>6$|A;B-6>uV4`LL>{hhv9k1J9?sV!Dmayg&p0nU(oB$V-6aXw z@^HQ-Qh_rMr|TuBMvvmikG!wz0#_bRedBbcM{%UjF(RbJL%ERcsZy-WH+Yml`gX<2 z+~ZLK;nj+jxzD2n!fO;O^Bo=~5MHZTnfH5?K)6G(GXJPY354^QAY|A>xoW3Av{D}R zNFv)`uUMJy&BN(FR7#}?lp;`yKq&&H2;@h=H*wnL%b4Frs1IFg5{eEL)tY1uK7=~g~{LdxGEnWhxelTv=1WV)qKKPu&iNv2!* z^bsjPL^9pNrw>W_3nbI6dwN{TpCOrUhts1{{uIe{3!na|l=qWNQwLvF|7yQMD04`s{Y(09;WLS*Cl zR0G1l1&S2@%Iqn};&D=bT2tu%kqQs4eT&HQ_kHOzzNcQl-uKjbtIv4G_u~7hxo}`= z2e#~~A;;qO3-)Inm;Pyd^S4ke#;)Gwo7ntoda>Y3|0Y%K%WS?E_|$UrYAT5A8S@}y z<0Gg$S3lWL??K@%*rY%CZhGu|X4m^5%wIx=^cL{G=GPL@Fv@vUn}K?AgAR8cbuiVjTr4mNxhC!8<+GIiu( zYTAWneVmli4N@2FLPH}!GBp*Ho9|ssE*kEDdHP2%{*OOnY(9WCPCtW7%v3FW-94Ey zr|tnXHIBk>o;!LDqvXJ|>66Q{S&^*~;+#l7ojwUhWWoIB)PqpVbRB){w?~%)JMhE1 zenpDu%C86 zwA8GCGa5BSGv=#T$wMWFz2nLg7*;>gW7<1)*0KB8Sw}yOvomD*26V}iXvX|%am&+r zmgi@TIP>SQLQH-^L=F3l`3eLKJT!bNijL8spYTo@8M6Zg8@*GGPhW}NOn6TNx<*2$ z9iOfQH1)kdB5Q=r#2Mr6Nyj}`;ZiYm9NMh) z0;LF)B2bDzDFXi+5uo*lL@1ezk0k~}$(19KSjat!y?PGdoJh3$}0;Ut{a_9x+U z2`H!8^##5(Q2L{9WV254UF+rY5hz8V6oFC%N)aeUpcH{p1WFP3zls2V|Ha>X>BlbN(+tb>jTxnCMRFe( z(Lw{I&&^Y`Ns-)lW(%~;&r7qJ_%jYN;AESlMS<+X4o5GOFb4O9nA|4#G zS(e!J}y?A_GEw~vwOUUAO81&k=)C*F}+QD{~&o=WgH{tyyUBegY5qJ zDU{l)z%{-*7j7%R4)#6!Ch{RI->)QCS!N|)UC|01VG!=D_!F^`pDX5-nUPpZRFgZ4 zVSNEbmr!fwT1>;4gnDBnC@kg19Qv+RR8Yezq-j|NHOwY?n{;0(`D*FDO7c!oO}^}g zmA-baPNR-mqmI0mSt>pYsmv(+iHw_j0J;`9 zr2%O@h|Ky86jhiqu+~E!2uN1?e#NH2&v_&!thAb3Wj}_z()wr)gr;3W4)PlC_pNs!z60Ukvq&9YI%anC2E_GqIG2x1jqqYyBci3tfO{4NGRzG8$Rj~ zYs@DIkXg>TaFRmpEhxECIsb9as_GN4I%&0&a@F(TUs3$RyTBVuWVqkdpTx>Hb_5^p zz(t_$=o<%4nzK)An6C=yW#^)Mks0;n9(}cuFAE7e zoPz61!^AGKQ?o7i?GTIc9#t6Dda~!M3}1DO!}S5NKzWYV4~Qj-9fku_bfV>!D}}Xo zA#R-3HDIo7HmkVtI-L7hBc9LoJ zyj&${9tL8*VY93O2Qj}|?Tw5bY;51yY$a=_L)e>b#MRl2I%5uQq;t@J^h@`jdS7p9 zq}fU#A!u%$v8=YD#(sX8 zvBhqO>uYnW3uKrvfmx`#Vy8G$T&O-zA;{uy zFo(_3m~;BghOk-RZ#sv~7Ta!f-OFane$#n_S!;8fmxs;OFPl||%qu3$s-K#dSlZ{A zYc1E+o16BVrp;wG-(X&$xVg4w)3AJ~-gIs;&HK!%Bj&X*d>JM!^`>cAKiBq%X}`&= z*=<($n>8OaD{nFvLA1SQF1^*Pv0OICTxxqoG4pIE&6<=sf45neGMj~^%z86=0Al+Z zK5PTsZ?08ji$rh0hzEMyY#`!Ox*ufKHA;2!EUKO6)r49$)|oCa208;`dDUE~q)Kb$ zYi5l#+D~mZt(Sb=tln)JyDjC2dB^tFZT=fOyW4wi^zZE1(bdzpQ?$jS@kHTPn2}Iy z?4qqNyql$P$I3<9Vrb#TKS=vla(i9$rWm zV0Y1q6zy?Js>*chd%b;~H??lv?iFLPWF#C51zm%~frRQwO6_8rVbImu-`Ul9leax@ zGm-2Y!h^=QwxQ87RQVnDb#C*u@8}e<0smkq8in`Kk-%tDgcF!k<+ei2*atP!yuIDq zt(wu**V^h|)355#LuqxpNDjvnDOau!G?VjhjmM)R7)S+_Wyh}V+xyyjz20sWRqXl- z&$P&|v#YaP_cI^e)!puG>*;OXiT=;njWtuLqo)l=xLx+o9}UH3-xHQ^)4Kh}*4=&n z-d)}5e39F=^w1qvJHb{C$45dd2S-x_11p1}Tjc^J)+Om&a1V-=W68wIXnZgbT^WfD zM#q97p?7QHF8UV}T}sQuo7qAodj2y|ay#Z3lw2~$4F_~KeR&DS4xZ71=NYoI06$WI z(*>PyeqM(tQzvpm%oj&IN~ZQv+J&Ei9iaTYEkR_oR!M&N`JeFvU<~X$<$Yp|{}Y(m z+W!b}^20X^o}3ix@8i;cz1ZH&o-feZ{7=f_Ik|nlto;)(2A=ZyIiB%piO&;-&#T`; zKwP3pjC)v9(SHR#2krOhI4{w~Z-Le!o;#lW zpPyeU>&-_Le{~UjJ>eE-?mY`zZU#>EKI%~jw{vR|KYc~;TY$URX&$BbDs}kdLd;QR zN&}xQ4)hG<(mMI%o4}p3#DB7gpO=8wL7$(NxZYDm^v?n3W0zkqJ)M!C2RsU8KaId= zYyVP-V?5|Wo}SYq82LF=;HQIdOH=N=en-`J`ZHTj{$n=Y#Ng(7~Yfm6Mc9_4`J|5g$G zcZ=Y5Tu@( zNL!hc&=Q$Y zz(~j+92*(g2a`O>56#pJRec|#r#!#Eqqnuo>-ToI(|&6|<}ZG)PlLYpUg6)iy=QCd zc7IPtN1u16eLG4u8NvC%zuM1sjU&zK9R;RRFToT#VXe*Zu+se5)|V|n4kSC;7Q?iflz z;Sb4)*hQPnb3Mb>aheV0W=m?DdcoFuIq#Q4PY8E%-v}nOps9qS!^~m!7fOr@cPyR? zxx=wB_h=$M8cL-0()+8kHbQ$4+oON!X4ZfLlugq5~}3ZP$C(L z$7TqAlqEvZ02yd*G@24_IzxmTtUDYBL*rMt=?sHXTt>qk8rJ93a1c&dQl{$UQWngk zhQLT<5Y@+18%@wM7VK!W3&?%8W;=11pi+E*8(j@VncD}0|Ntz(5)=tzj}n2 zM+BKA7{@umSE0X}(z*$5X_#B7)Trl^OnKcz7fW5{iC%^uEg`V|25ryOg|hsFcN;U( zI!O8U{o0=C(iz$`H=LPhKALaO^I@j0nd%qW--z;eu=c_2=k*|_TtBY|6}CSBd%U{I z^`F;^n5wt7s*Mz9w&(j|1Q>Oh>*w_+ro7$+6`9CKe)J52TzvqJkX z10xmopSwTn`!qi%Kt-m)@pBkxzP(G^F_qtNYFi?F`)5keEBW> zy+_+K?Za!;{KWM#_H8iv_4E2D(@Iv83n%ybI2jy!vQex*H@ zlvqzm7i7lYMgfgIec8%A5Ay%Tl1n})r)v}?w&UaYHDJ_#w&(wMGP#npv7DetE@ykD z@1Z2$o}W{vwEY7)OU1Aq({dQ++mCyc-gt|m3l+)bY{x(~j0xlRAMvP?!`gl?D{9L9 zX1Gq*uhkhAY+pG3sI8Qk&e!$|y^w!bJ1q3ecC1NjQH2aHzf|95g7 z3Fif$7`nnj`?ezXpI@&GK3iZ=Ac`JsU)ay9HY)pD`M?y^&wg$yVt+)RxYuesCTy2a z3%V#(Pigz3`ucSlPT+zQ4cc`TjWXz31L@&vwr}_q?~@ysJGwk0cKO0N{6Yuz|7K#ecxX z!TKg2aA>g_Zlr^60sz2q=N|xF9(@*P4N4^1`XpY6LnNZ$SHb}(6iVk(?B#?oI5J!( z?n(rfZY~J`Ksp?4tUOYxx2UN-GM<$qOTog{Z0vkHf@c&y!fQox?e5D&p8w6`?tbQy zRk7VAcB{siNL#;xCmapEo_zN)CRQ0&BSCGXQ|wli=I_P1@=j)Rai3)?XTE;QyMAk> z_CfNN=_-E050!f_{oO*a&;ARX>nB;e3JC?+i_&IZL5Ziwp`|weUnp}9#O#WpvWz=; zk%g7oE}r(atM!-yf>gFhb|)bvM3%wF(9+|rs12t$t4B#c@Z^VyqU1pHYz7!hHv0++ z)pNII^}vsSD{7C)9><*29{d>|V)~vv_Sn;7kHUS8EMd*hRVhvGlkkTQ$}`H8O0_1m*YS;wL3xw!AZ-+VslopJmC6rj$q z8#}hvD*gq^>%umzRzDt|!rd>-G(y^zg}2}R)In4YOxXXzU5=g8T@H5x46&(TeeKH= zQ)_R^7hhRq_u6VG(V>FTycJd9lp?CpBU}wEPahMLmoh#}umpXa&uC9J8{I)eXea{M z0b=JUV^*4DAq+97a1m(PQj&`^J_YJO>KIOW!m zgJ|QJ>-tDDAvtg`D}lyI&n&TrLe~+0@pyZ3y>Ib5SG_XM9)zr*0t#Rj>4KZ}+ZRB#;kua9ZXF{d6 z&xaOi_bH)o1a!XIYt<8A+SabVezqN&>t-6yQ)Ws=spZhl??u?v8~-WI5;YxU@ZeA%~-sx_}hOV0*9KH_G& z(IU2>>=Qd^nUG-GS;E5IXKSlH)L_4$u+#S ztt{p24+&ZkVSlXRk0*OP>_;y%@p&>ofb*hn^7`jRmJ5{W&{CxOGxrur6_*Nv6{pOr z=BC=WkKNlB*fRvls$*S;V|3OAcM>kr*ay-HmSD2^SeL!nk#nwF-U?k2a~WeHTuyxK zUQdSS%b0w7(oIg93H-}5s65v7I&`mc^&o|ao_v`aGi=xTl`TKQcW-BS=mA3+X6}&* zSpxm#AZQSrhG!y)F?&Fw@&fsD%*6Jr%*OMa-pC0^W;gU02|zz4d#YQ^>B&zMn R zd_V15+cV_u+6QRZNHG{?>W&L!MGdcsoKNfUvw6^xJAAx398*%>9Ln|&oiB1q=b3y6mW++oc9_x!E`F3Y=oDvoFjC_6lu(G z*2m&|jQbDo5zJcE+r!+1GdrazZ*8_>zog<%Ax|^F&dfbDtwL)IukT^T6P#Z-VTA+8 z0s2(fV?i2th|ksMgtIxNKfr`z2qOrAy2$stO3!+RYE9I=ql=|{qidCEPwd>|`Wq*D zB>h{Dk*zfr8`H?2+s;26zH)+K$>z_7Wz4R2W}eI!e1+qlQ`2&*_|V0_wHWOH7g+lG zUI-x?ewc5STHDSx@4)<$Zpc{D8mo=`dBn3QIG+(tgr2}bp6(bo8fS8i>7D7nm&LiH zzmeRN*?ponJ^LeRbH1WxB^6rA2+4H9O^A!&mDP0A_m2s%Ex1(dn$7bA^tn;+uz9sY zxGWNa?5G@f3M73#j<@YU^vkIfP8ZbaPTSh?_xuX6`x|udH$e`0qw<_%;ON8SP?o72 zXi4%NWIoLA*{y|szAS+X4rv5JA0`HRX^y7Hxu!5z}tIdA7{? z40|H10tNZ%TF9r7VZY^75@jIix#z8p3T~oA*Pg35KBy?Uwer(W`0G5LHKG$~AgMj> zs(v;e|$&81|2Nx|IJs)&}RNU;cm^(pT;}~Y4S=B(NLU<*p+G7}B+tw1!oIkQ4q~_ERZA53@MBmjUk(}Ebczb#4 zaNl{+*wK7lCpRfupOS@^bc~|nr^!yg+;*;oEXX@ULEo~IInHl}_h8N}y9$jxMdHazMNzPq zW8+qDUar!m*evaE*3PSY3f0nwCy29yK%#G6Qx&E9ZmzcTWd0`o4+l*w=bDPmK&PBu zQO6upf*^@V4w@{?yQRh2wA&2nxN;9ehhPau@-PjkkG(rk;ngs>X@2LI+<@APa6aS{ zoZPK}TV6`sbvQSbC$8@~>|uSMvOmth*pmy_00(#C$lPnu>;(}D$UfXm+PZHeD;V!_ zm1DnoQrh{Pacqmufv>teEVgTkVmlm?1hk-^r(oeMntIH>*QYwJrQ_5I+~L<|Uf93=L8$k8h zZ-#UJtUSz_pq49=LVZu$9V!Hp*(z=ia9uavK9XX5b%-fS)YKG3s(PlePLMPMnCMzN zHB&|KhKUJmRP}-tIiprLFo_`oL95EA;rfG7fh*cOfyri6y}{r0&$La5LFNSmv(p z^yq%-{j$rCZ2UU%ao+g2Xy2uek5ykp8`3IT%(hHf(ID4xmb>?Q!|q;-aexL(9}~X^ zIxpI-hBajecAgNRyyuxXxju>#@9-)}x<2)0dU$r~u_=FD?UtjZKg7f!Sv4lVot)?~XX7wbl=-po zPHCK3k6+-g#YdfHYf5N|4r@y8^(oTGa6IRSL}9$PbGvmz<^n)ky!)Cfv8f(^v7c;& zSdL*O8*fgd>mEf8RGTB;IMhnIS%+P*wM|syS(Kbe>yPA@`+aJj*QY+R%g-+8Y~{rr z{fGI;&z5bou$q6EcaKytt3Up~{knrP)|t_S^!Y#}TqpCvWOnNM-6hr83AEYLoRE)> z*9ir~-aMSHT>Vlq@fp0B%_b^Vy3}rng3Tq^ECW_-Cju>fV0%FEX4>SHnWNqFf=XpO#4e*+y+n`|v-L!VlRrTQ}4q zKr^qS2C0lA-Ku5vm#^y)dl#RK%<(VEW!r}xSAd-bzm6VkWAS1mDsq-C$!|=g;S}Wv zfA0n5Ivi=SKP{nHsV?E#b~S7^R)uI;p~>$ZnL2jhxyHX1A&7*q!-ynJ)Pe%P0 zjpP4CBPYYZCwFkS?saxT%fHaAv2O^hu@SC9Ans{Nem6lQ_RQ00I!CL8Ev6fY6;MBW zjH2#Qm?<)rbr7WRMcJ0+?$;go=V1XKJRi0)L=Fc6ykXi3>K0)1&|3kV%mDx|VD4^h zrl3xZMa+0m;4@45-S&^yo?mycDfgzrC0I6txzlHhb{`&Qcel`c?lLNUZ`fI`2M(R= zev1mzz08s+XpwwtVMhvp4z+d>nzR_4<$YL+LwWIJe zp|>)_I7vwGB+E(SNNC!w{LhoTOxT73$FTH)JW0A={feAI+rTJ^?hyFuJ}cc$AIcmv z7wwiS6`kjit{b>+J1l#k*FBdlS6}l^sip~|Tjks4wO|7dUMgCn)HQSp_7g}?T?0oy zYj6k0ADre+d0hC%Ml{~S5H~OF@o6-_k_tkD9;2yu`TW6b_M)m9Gp^xFAieJIz;aJY z6QBPCu&IKQ!MY@>oL+jHNVlPH^@|G2YPy^Y9PRRu#fSP$JXniH6|ABND^s?7%EP1f z@#;t|_(--xC7m4#o0&*0auS9D^l^M9GASoL`6p2bKt7gorD9dk~W)Ir1smaD7U7C&|0Q?9o*7{OsFJRw?GHn z?R;>M1>zTg7|mYlr44vz)D5{HHd)}8116BZ0{_~W#QI%S(*>?pQQVt(*F9p0oadt{ zN13!d7Mr#gE?f%@Q@M%tUjGb^!0bPCKJVLgKme0AS?aBOZ4o&`5Luu-ppNY~z!$@W z?6^uw6HE-2=a&Z#s>w?RAcfKd)EEW~L;cn-+xK0kjL?h?0dhVd0;H>?V?SBREggfn zz*_Lgy~Iv2iGOS=(tuUtl^bKn4+zPG{wYJpMmq3@UbpiFF<779O?1(z?vI$8z}~<* zOZ8kP@;nXPxzw+ zwCehm)Ms3X=HttfB_n4xLPJ^A8qh$pB-^e&-nW~=Dt#rz>jqTRhYe_g`Z%Se6P|0$ zWABDV(ute)KF{Z8hLjKI1Bi-^7DX9B`MI^y2cn-M4G@Od@f~h`xjulGW5DemR%w@j z*z2{c{{h(jIYX_*pRl46-H8)JmE zWUmDp9rJPyxUEHzA#@^=uhf4K@0+_`tk*qdXtPBB28v+&ZVmqWEmUP`{)VpDWt03~ zJpZCRY7xv73vmlcoQ=wBi^#srRZj&KTy8GGgXJ)|oAT8n@k;Q*Dk#`%*_LKX%!$+% z@+Wn0vDV3fs?YdncP4$l@{58dPIY{*q}VnWHMhb=@K$uZIeez)Z1&a%2cI%At_y$P z8Fur+#4ey%wf?n2L0SGmFqvEYPT#}Yp9YL{BEl}?*)RDrxD4L*c{&IBIGNu^KmPQK z&nJivnu2w2VD1>Hp^M`8&tcp^>43S1W(`GH`xI9cKeDRQ0^3);(8$ov#oc7*V+wZY z>y<7YQjkza1WlAShe-DRoc8M~afS^Q3^d^)^OEzBO^MGNY=@2OI*GI;5Np6O2q6nczL)z*7G=viRz;u^CPOMj5JsraIk*P~4FO}PrN+|AiXb z@cg`QV2R*JQmXc?Yja^woce*=<_w+_9=u%j6bRwtz?a4Je~(~kX<)I^pht`XrHB6q bY@^b_&*j~}n+C8R_yCT!t~O7tL$3Z0Xx-x^ literal 0 HcmV?d00001 diff --git a/ressources/mine.svg b/ressources/mine.svg new file mode 100644 index 0000000..3c4aa6c --- /dev/null +++ b/ressources/mine.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + +