From 0658f191bd18a20e69e03b9f5060bb540425d2ee Mon Sep 17 00:00:00 2001 From: KikooDX Date: Fri, 1 Apr 2022 23:00:13 +0200 Subject: [PATCH] you don't get it --- CMakeLists.txt | 1 + inc/background.h | 5 ++++ inc/level.h | 4 +++ inc/player.h | 4 +++ res/0.kble | Bin 356 -> 356 bytes res/1.kble | Bin 0 -> 356 bytes res/2.kble | Bin 0 -> 356 bytes res/3.kble | Bin 0 -> 356 bytes res/fxconv-metadata.txt | 2 +- res/tset.png | Bin 2836 -> 43698 bytes src/background.c | 16 +++++++++++ src/level.c | 20 ++++++++++++++ src/main.c | 9 +++---- src/player.c | 57 +++++++++++++++++++++++++++++++--------- 14 files changed, 100 insertions(+), 18 deletions(-) create mode 100644 inc/background.h create mode 100644 res/1.kble create mode 100644 res/2.kble create mode 100644 res/3.kble create mode 100644 src/background.c diff --git a/CMakeLists.txt b/CMakeLists.txt index f7b2911..1935920 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ set(SOURCES src/input.c src/player.c src/level.c + src/background.c ) set(ASSETS diff --git a/inc/background.h b/inc/background.h new file mode 100644 index 0000000..e2f3f37 --- /dev/null +++ b/inc/background.h @@ -0,0 +1,5 @@ +#pragma once + +void background_init(void); +void background_update(void); +void background_draw(void); diff --git a/inc/level.h b/inc/level.h index e944080..f3ddbea 100644 --- a/inc/level.h +++ b/inc/level.h @@ -2,5 +2,9 @@ void level_deinit(void); void level_load(int id); +void level_next(void); +void level_reload(void); void level_find(int tile, int *x, int *y); void level_draw(void); +int level_at(int x, int y); +int level_id(void); diff --git a/inc/player.h b/inc/player.h index d0fa202..981ad7b 100644 --- a/inc/player.h +++ b/inc/player.h @@ -6,3 +6,7 @@ void player_draw(void); #define PLAYER_WIDTH 12 #define PLAYER_HEIGHT 12 +#define PLAYER_SPEED 2 +#define GRAVITY 0.69 +#define MAX_Y_SPEED 5 +#define JUMP_SPEED -6 diff --git a/res/0.kble b/res/0.kble index d1ba8be3cd65969ec2f064abd1d01515e0d042fe..4ef65ff44a47b3419f007b0de9cb852450311d9e 100644 GIT binary patch literal 356 zcmZQzWRPUwW5fvDW{hd{)9d~s%2w+1&hfUYOqwk97E$dfw%4QCza(Fhx~h~1ab}sv`Ck{!?*Q}w literal 0 HcmV?d00001 diff --git a/res/3.kble b/res/3.kble new file mode 100644 index 0000000000000000000000000000000000000000..c45afaec758d95c7e3a108d9ace0c5fd18b13105 GIT binary patch literal 356 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 literal 2836 zcmV+v3+wcWP)=N7im+aHRuHlDFm`1n1CylN;;P& zkKiWU6vnOi)%xYg& zqe!-eGmo=@ae)Jv5UK(4!4t}TY&guk2RRU8I0Z_#dwxiKU?C7H01B0?(=6SgjRP=< zA&Lk#2tKH`)XAkX$axUMSUCGSP{_WyuM+_n#DEqq$GROV)8}0bL;wuIEtVQD>aum_ z^RDtW0x_(GbLBuT%a%H80f88zh!6vhee4Pp0s#v*`73Nbc(w`-2!xcF&o16War-Pr*FR!3LQX>Qof^{ClPj3(-sShg!Dz$GecmNHLK}<7L%e}`ZNqLHd066(MOpV-dg-RnxDsmum)B`+u ziNEjp7@%VFAB`X_BXyeH$G6k`+vb)${xhlb8dp9 z1tRePNl>5IPMgxX?PGm^Yj%9!F}t5nrup?vG~lWBd40|VNee`aw){sLG%c0Q1&-_g zd*!g8DphUM0ce3}L09Jq&GGSR^s%?M*U6vD1&r^QkUEt>1Pcdf$bq1QEd&>(qUBm} z$tqO!LaJ7K_~81}{t@cf>!Vjtytl1ZrAn)*QhGEE7G~q+bOZ^|w1CKUK1RHR01HO| z4<}eS6emJq=0MVm2rLw+WEzjz06EF2X~(u~nd^COO4Cb)a^ZmjF^u`i%VH}LW9>#% zot*Qu1&@a7Kq_(|yCG_ha*|Z1S8h29JgOAv{POBxRzfO7rakdp_W(F?vlc>w8Ro(X zfhgD0yE+Nr*&bYC2P|zfvelKb&o8f{8Yz?z+rOv2AUR@aT+VQ$xv_i=7F$iCs5)u1 zaH&wl4r=Nw9OWh-Tx?wm6qIwoG+VgQmT{}ifh5Q6?e#v-O0|o~&j3)h$Wa@#+59`Sne)MYWYDrhubOt)M`S)P>u7Q{{K5+lZORt5{Hn?#%-lbJb?f zOo|>;WJ>qoquwLo*^l2v9rxk=R{$gxnh+eh(~!3Q&IK2Rh09eo+ZN}76bnqu-{nFD zfEs|)dz!y%PlDFaxQ!A3r3}}a>cQiBk61-oO5j& zqerKeQqX7#lBD@?++(Q?kMHNRi#K;h4()}69@bIx(u)YVP5ahkpSh|EWJ9tA*9aD_ zN8aV!(n>%z&pz*5iUzET2-0?`%-Qr%>+U=)gDX5<1*(DVWwXBkp!#Dc?ZfQW^MwF32!X!~T%uWwl7AKI%_oW7qlc&Y$YqFDAx z<1jj6T@p`_IoP-6MT7^}pOQuvuG=of6dR=G9~_{OqCTVm`3etb7jKeE)?ZE^9gHr$ zAxa$??GiFai0lg7)^}`q?j?cKMS*f5>TTgPl*M-s16tV#ugw%KWKWWxJ2cN z2I$`7lVD+>_M}irxlnJ*mOQ(=(s_+h?Hq8pUGj)hpe=}MUUcP@3u#cA+UGCU>QX5V zhuJI97S07x4m_!qI7AsdEe4%hYQs7A$;yF3!1z=uwG!7-g(MdUeDH8l>JbJ?_CiEtH)d1*%vUe^d3Lr{|S|`&v5cw2`{is|C zBA=@Dgh<@BR%SzRD*&u^%GJqJt({bOYFawqda|Bt$(kvUU4<(hkvJ<+Xf)nZBgx=| zzB_d;%fZq$QJ@<8AJ|I7wH)nIq@-O+1z$Y2KRb0{!KX$o6^TrNTOCM?y6SC^iOLk19ccsMJN4be#Om;*c9_LaN!ZTU_l`K4@@Nkg0NEoP*9HuIE){nJx4wgB^?`-!*s*-G zC`8{e&$4aW;ZX$;XBA5QEYcv7v&Z3q-C_Id$@@ z#Dd63@Jy4^3#sNt6?Q|{ykP0;@Gfv-C&F^wH*U0I!B7CXAhH{ts#AtkB2{%W!Om@gl+!U|tX0WcCEre+J=AE_;=u3<)T@(FE%Gy8$AqaRM6u`P z-HYe2a9YDwA79682~X<#+KN;=r;E+yu%K};1+qIp$!$M&c9bYU4@)X}dtNAzpb?Z(u_#s0e685?Wvk+dc@XBp5r9yl zJ`{lEzQ60{ys&FfAZPJ_tBR!BxL7q MAX_Y_SPEED) + spd_y = MAX_Y_SPEED; + } + y--; + + y += spd_y; + if (collide_wall()) { + const int step = (MAX_Y_SPEED * (-1 + 2 * (spd_y > 0))) / 2; + y -= step; + if (collide_wall()) + y -= step; + spd_y = 0.00000001337; + } + + if (level_at(x, y) == 3) + level_next(); + if (level_at(x, y) == 4) + level_reload(); } void player_draw(void) @@ -29,3 +53,12 @@ void player_draw(void) LZY_DrawSetColor(255, 0, 255); LZY_DrawTile(2, x, y); } + +static int collide_wall(void) +{ + const int x2 = x + PLAYER_WIDTH - 1; + const int y2 = y + PLAYER_HEIGHT - 1; + + return level_at(x, y) == 1 || level_at(x2, y) == 1 || + /* level_at(x, y2) == 1 || */ level_at(x2, y2) == 1; +}