From ce2b4dbb6e1e9750e31e1347506edf700187fc66 Mon Sep 17 00:00:00 2001 From: Mark B Date: Mon, 21 Nov 2022 18:09:56 -0500 Subject: [PATCH 1/2] added new hurt sprite by Allan --- asset-src/gfx/player.piskel | 2 +- assets/gfx/player.png | Bin 939 -> 1827 bytes src/Credits.c | 15 ++++++++------- src/Gameplay.c | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/asset-src/gfx/player.piskel b/asset-src/gfx/player.piskel index fb1d44b..e1364a8 100644 --- a/asset-src/gfx/player.piskel +++ b/asset-src/gfx/player.piskel @@ -1 +1 @@ -{"modelVersion":2,"piskel":{"name":"pikidx","description":"","fps":12,"height":50,"width":50,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":3,\"chunks\":[{\"layout\":[[0],[1],[2]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAyCAYAAAC+jCIaAAADcUlEQVR4nO2bzW3kMAyFCSQLzCV9TDWpYrDtpYOcU0NKSBPaE3e9jmVRJh9/HD+AlzFGP3ifSNmWiTq6P26tdy2jGlGp8a7ViFr1OQx1f9za6we1++PWKgFW1Ziq454SQ/W7PbfXD/oLWPS4JKpoUMUxT2sJFUclsIhqlZQq41SrB1Y1uIjym5Z9fGbagqpq1iLKa1yljGqiEVhV4bIw0QqEHwUUaw+synAR6Q3NBKelnn89NQ5YJyOwqpZElsbYDGAitAQLBpgErJ8KVySUaMHhYrCOZC1+kDoTpoMXyhusKKhmvdiCyxQwCVzLvRbHKMttRRRsR8ye/U/EnZ/GDzhYPEBJ1pKUTQ1sppNa6QgoqLZn1cs6Vh6s4TL1QwqXNVgcLCRgCFiQUFkDNAsYL3z1JCQlEQkVGi5rsNBQeQG1B5YKruXK8IarJ1R5lO6FIsHyzlQjMVxTfvQmgCx7e5N6aZ/tpX3qV8tAIyj2riM36rN+WPjU82DthdiPvVWRBawouHrXospfFrCGfkTU8KNgecN1BDitji5yywSwVQJ70fUjK1i9SaHvFpfAZMpWETdTktj0IwtUsyvF61nXbBbTKkO2MoErG1hLuKZXibG2NuZIqBpR9w4wM1RlwFrHV6NhrGHwCA1AvfYqgCXy40xgIbLJHkgIILf8iHwLcmqw3t5pGNZAScBCaBasiDIo8qMCWDOl0FqSO0RLrf3Ilq2m/KgA1zI8N+5bm3c0YEs/MoIl9uMC63+NslQWsDJANfSjClzeZ7UiHpAS/fMjO1jq94UZIuIAYMQrHVYPLtRBS6gf3sc0pBPw2ldJfpu5rhXPnWHKApTqXFb0BKZXhUKakhdxt1jaj8jsleUDCyk0XnCdyg/Eof29wXsCZVnqPB+insYPfrpt9YVI1OdfLFSJ84LrNH7svTbpfZK0F9K2EUKWN6/XP6fxA9mZ50Q8Sls0WJnbdu3MYyJHMokGEDRc1f1w6czjdMLR/0b0K1FVP751VHEiWnO1YKDAKuXH+myT13kn7su6TQtTLcA62sbZ/Pg2IbRQfWUAi9vQtFPeD9QE9trNDJV1O7NtnckPqLyOFFvua6z3SF4PTyXyPuJtLu9BZ4chGq6SEEULYVqVNi+BhHpuhILA69XPJaWQACDa5bYvuC7BdMF1CaIzZq4/4TCkGKzr68AAAAAASUVORK5CYII=\"}]}"],"hiddenFrames":[""]}} \ No newline at end of file +{"modelVersion":2,"piskel":{"name":"player","description":"","fps":12,"height":50,"width":50,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":3,\"chunks\":[{\"layout\":[[0],[1],[2]],\"base64PNG\":\"data:image/png;base64,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\"}]}"],"hiddenFrames":[""]}} \ No newline at end of file diff --git a/assets/gfx/player.png b/assets/gfx/player.png index 13b9833b34e06a2748d4a23002ad9c3e07a454a9..b3263f07c04042fc593309e75df84a11fe42a763 100644 GIT binary patch delta 1813 zcmV+w2kQ8%2cr&Px*+(|@1RCr$PoH4H)MGVL1L>@{Sx*$FP zLO?@FM}eTApg^KYg%lDYz0bjCh=hnDQPD&qQc6&e(xs$Bzz0CkQbZ)^kniG)(cJ9_}w3RkpiU+(fRfJLFgZUMMfuwHIRT3YV{YgH{@ z*Z#FF+t)XxnwNUY_^vi~sY547YPG7C-+2HGme%0%l<{A2?2>MTJAa_Hw~T;Mpg0be!i|lOUON|9aQe~{d4%92))zmK-x^?CX*{;*WzgqUgUUT__O1&xC_EPw4IO+P^5AMKR6=fwan9tO2K zQ}u%LAa??w01hu$Qdv|k>AKg?%l6JKJJ<8{bJQPyeD_2&J4L<3>4q9yG}pq~eDLjl zA~o`Pc=H(Ep0Gv0qUwcEVcQTG_=b-J8Xl95OK<^HpMGA-{kx^K!bM?<`s2>4vM!{7 z1szeFc7MRmMYw9p7J&@QQrNN~i-Lu4)l`ndMSa#*CBxZw!js2$VrTLwkSHcad0Ud=4L!uQzdDznwiqSO`=WK-R$LfL;H0Q()kG0jq)q7uVnc)qm;%7D9y$&x9)q77d9OT+~rCTuPzx z%kzEd2vlgmqtc5Kw1azM!i;k-xa-9-raqBM~h^iLgfu{)J_C0 zt$%%4N~QTD!%vzIuubR-%O5XHH)wL3QDM($vcR$$Q@e%~1|zW0IWDhy(fUx8f?Vnl za+E0s$f=_K$naAHteQV|VAUGo0V1o62dq}OwEQXp7hGFXJDyKSH}42mFQ}ky8DOC= zxi26DY9A?*3=I~I>$FkPkZ9#rEpVY~A%9d9Ciq_sE^Lc-7pM*N8aSCyMTJ5HYZSGL zj+6*op1Z*)Tv%TU5&o@#1?TWQi^J6t0<+aB3YHW_Hlu+Bl|&hi%CFWTUa;W&X#T{( z0vn#^TRi8&8TX~B74|tF=tF|V0r|SvkBn;Tnmk}>`I9wzrBG;{gUW?d4pg<40DqRp zA1hdlf|jWWn!J0|3L&O5?+BL!mX$wQ$337&%A5>XpZshq)@L8eD+8>=UFuLewa^kC zEho{{6Z`>m6s)D-ocB&Z}i)E^c&)_?JqdPdI~ejdx)pe2Ikg^CaKQRl9xuT-#>q*@WE zpj}f#p%?aO__OSyYK;z-<`36HXsZ+EI=)1x@D9+k#f)O4xm*5W|>zLk>p4A2|@oohR?D6+u(ZznK;&|Q6 z6l5-cxRdv(PU4}pM}MbHt)u7sj8N#gPVX|k{m~t)xuv|PL!?j$*Ne&SCQ8i>zP;T}&S+cSzjf3CBtJ*sybgH)0000$b${I2>j$;_j^}9W{*AMy&SoF9gs%TKfF;8m=6-Onoh-#ITDu3fts|Qv!xQOzbmVJC? z+JdTT)*{MlT&0X^q7hhC;j%E%3WOg86l)Kx%5V|s4b23nrJjF1H4a!OBe1HLM3%(vnKuOk;luZq6rjuIf2q>twXVuF(RvxV3GWA0Wmo-=%EF@qE zSddUz12hX5FMRbRBqb3E6&fyUu+UI>0ksE~3a;hK@P?}=RC$!{g(AW7&Qv2YTvLAZ zCV(t^dy{%;pY5f6>Q~D^BPjN+BRA@^epvX_^I+|T*nf|`Rgnd(D7bppqRL+uu!ep_ z)bOKVdBb%CIIWH@a?1p;RRVj_^&=}-y-A_(7MH+e%2p9KQi2~iBH{pG#48T zG+uC>$`8b${k_3^0%ck1JRhQ-#t(kFZS{pn)aPF;REhI~>ok7sy*BB6lC&4nwh=;> zH?P+}r||>Xndd}2N?SBoncH^l%wr-)GKmHdG+fpFaOuqBbi&d9M)WIDRX@IURB<9& zbAPp9puj5S$NFrO*Lf%I%eqYqQ!T(c+Q!-Z_%?pi`&q&Q{E5M1oqm^43%{| zvu&Np52(D36kG0VtoKM>4^JiXKH_aI??GpWAsVid5Jd}NT9r00frNT)go429)z2lR skN_as<+d-lF2QucbqS&~X0AWsFr*l)>ksR|00000NkvXXu0mjf0M2`_egFUf diff --git a/src/Credits.c b/src/Credits.c index bf746ab..5961460 100644 --- a/src/Credits.c +++ b/src/Credits.c @@ -27,13 +27,14 @@ void UpdateCreditsScreen(void) void DrawCreditsScreen(void) { DrawTexture(background, 0, 0, DARKGRAY); - DrawTextEx(ZadoBold, "CREDITS", (Vector2){ 290, 20 }, 50, 2, BLUE); - DrawTextEx(ZadoBold, "Programming and Art by Return0ne", (Vector2){ 10, 160 }, 40, 2, BLUE); - DrawTextEx(ZadoBold, "Powered by raylib 4.0", (Vector2){ 10, 200 }, 40, 2, BLUE); - DrawTextEx(ZadoBold, "rFXgen used for sfx", (Vector2){ 10, 235 }, 40, 2, BLUE); - DrawTextEx(ZadoBold, "A Canneddonuts project 2022", (Vector2){ 10, 270 }, 40, 2, BLUE); - DrawTextEx(ZadoBold, TextFormat("Build compiled on %s", __DATE__), (Vector2){ 10, 310 }, 30, 2, GREEN); - DrawTextEx(ZadoBold, "Press 'ENTER' ", (Vector2){ 10, 350 }, 30, 2, WHITE); + DrawText("CREDITS", 290, 20, 50, BLUE); + DrawText("Art by Mark and Allan", 10, 120, 40, BLUE); + DrawText("Programming by Mark", 10, 160, 40, BLUE); + DrawText("Powered by raylib 4.0", 10, 200, 40, BLUE); + DrawText("rFXgen used for sfx", 10, 235, 40, BLUE); + DrawText("A Canneddonuts project 2022", 10, 270, 40, BLUE); + DrawText(TextFormat("Build compiled on %s", __DATE__), 10, 310, 30, GREEN); + DrawText("Press 'ENTER' ", 10, 350, 30, WHITE); } int FinishCreditsScreen(void) diff --git a/src/Gameplay.c b/src/Gameplay.c index b7b71db..a2d9d78 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -127,9 +127,9 @@ void InitGameplayScreen(void) }; fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - firework_sprite.height); switch (level) { - case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 300); break; - case LEVEL2: fireworks[i].speed.x = GetRandomValue(600, 800); break; - case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; + case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 200); break; + case LEVEL2: fireworks[i].speed.x = GetRandomValue(200, 300); break; + case LEVEL3: fireworks[i].speed.x = GetRandomValue(300, 400); break; } fireworks[i].color = RAYWHITE; } From 5eab405bafd85c6ee17854f193f8eb3d16b04dde Mon Sep 17 00:00:00 2001 From: Mark B Date: Mon, 21 Nov 2022 19:07:06 -0500 Subject: [PATCH 2/2] added wall defense mechanic --- src/Gameplay.c | 12 +++++------- src/Title.c | 4 +++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Gameplay.c b/src/Gameplay.c index a2d9d78..9f2a52a 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -129,7 +129,7 @@ void InitGameplayScreen(void) switch (level) { case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 200); break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(200, 300); break; - case LEVEL3: fireworks[i].speed.x = GetRandomValue(300, 400); break; + case LEVEL3: fireworks[i].speed.x = GetRandomValue(250, 350); break; } fireworks[i].color = RAYWHITE; } @@ -149,7 +149,7 @@ void InitGameplayScreen(void) switch (level) { case LEVEL1: fireworkAmount = 100; break; case LEVEL2: fireworkAmount = 150; break; - case LEVEL3: fireworkAmount = 200; break; + case LEVEL3: fireworkAmount = 100; break; } pause = 0; @@ -245,8 +245,7 @@ void UpdateGameplayScreen(void) if (IsKeyPressed(KEY_NINE)) ammo = 99; if (IsKeyPressed(KEY_ZERO)) ammo = 0; if (IsKeyPressed(KEY_G)) finishfromGameplayScreen = 1; - if (IsKeyPressed(KEY_R)) finishfromGameplayScreen = 2; - if (IsKeyPressed(KEY_W)) finishfromGameplayScreen = 3; + if (IsKeyPressed(KEY_Q)) finishfromGameplayScreen = 4; if (IsKeyPressed(KEY_EQUAL)) level++; if (IsKeyPressed(KEY_MINUS)) level--; @@ -311,7 +310,6 @@ void UpdateGameplayScreen(void) for (int j = 0; j < MAX_SHOOTS; j++) { if (CheckCollisionRecs(shoot[j].hitbox, fireworks[i].hitbox) && shoot[j].active) { // if (!mute) PlaySoundMulti(enemy.fxhit); - if (!mute) PlaySoundMulti(fxboom); fireworks[i].color = BLACK; shoot[j].active = 0; fireworks[i].hp--; @@ -333,13 +331,13 @@ void UpdateGameplayScreen(void) } */ break; case 1: - if (fireworks[i].hp < 1) { fireworkAmount--; fireworks[i].active = 0; } + if (fireworks[i].hp < 1) { fireworkAmount--; fireworks[i].active = 0; if (!mute) PlaySoundMulti(fxboom); } // trigMov = sin(2*PI/20*fireworks[i].hitbox.x) * 200; fireworks[i].hitbox.x -= fireworks[i].speed.x * GetFrameTime(); // fireworks[i].hitbox.y += trigMov*GetFrameTime(); // Firework wall collision if (((fireworks[i].hitbox.x + -firework_sprite.width) > GetScreenWidth() - || (fireworks[i].hitbox.x <= -firework_sprite.width))) fireworks[i].active = 0; + || (fireworks[i].hitbox.x <= -firework_sprite.width))) { fireworks[i].active = 0; player.hp--; fireworkAmount--; } break; } } diff --git a/src/Title.c b/src/Title.c index 4004545..f4b78fd 100644 --- a/src/Title.c +++ b/src/Title.c @@ -49,7 +49,9 @@ void DrawTitleScreen(void) DrawText("Press 'Left-ALT' + 'F' for full screen", 5, 100, 10, WHITE); DrawText("Press 'R' to restart", 5, 120, 10, WHITE); DrawText("Press 'ENTER' or 'START' to select an option", 5, 140, 10, WHITE); - DrawText("Press 'X' or 'A' on a gamepad to shoot", 5, 160, 10, WHITE); + DrawText("Press 'Z' or 'A' on a gamepad to shoot", 5, 160, 10, WHITE); + DrawText("Press 'Q' to return to level select", 5, 180, 10, WHITE); + DrawText("Remember to shoot down the fireworks.", 5, 200, 10, RED); // DrawText("Ver: 0.1", 680, 420, 30, WHITE); if (titleSelected == 0) DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, WHITE); else DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, BLUE);