diff --git a/README.md b/README.md index 4354c4b..908353b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # Avoid A dumb raylib test which you can play [here](https://canneddonuts.itch.io/avoid-the-game) -## To-do -- a build guide -- a tutorial - ## Preview ![Alt Text](./doc-assets/preview.png) ![Alt Text](./doc-assets/preview1.png) diff --git a/TO_DO.md b/TO_DO.md new file mode 100644 index 0000000..3b4deb7 --- /dev/null +++ b/TO_DO.md @@ -0,0 +1,17 @@ +# TO-DO + +## Building +- build guide + +## Gameplay +- cleaner hitboxes +- better patterns +- more levels +- more feather powers +- animations + +## Art +- better art duh + +## Music +- better gameplay music diff --git a/asset-src/gfx/player.piskel b/asset-src/gfx/player.piskel index 30c8eb7..fb1d44b 100644 --- a/asset-src/gfx/player.piskel +++ b/asset-src/gfx/player.piskel @@ -1 +1 @@ -{"modelVersion":2,"piskel":{"name":"birbis4","description":"","fps":1,"height":55,"width":70,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":3,\"chunks\":[{\"layout\":[[0],[1],[2]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA3CAYAAAB5EBRzAAADb0lEQVR4nO2YUY7bMAxE9dnb9Hq9UA/Tr56nQAH3I9jCcSRbokjNSJoBCCx2s6HJmRfFTkmSJAmtI6WDvh70GiN9/SyF6Ph+zFbFwBx/3stjPWhIKiqdQBFIKBGAIZB8QEoZmK5/89iJmwiylK2lhhFI3SDlfu+xExeNAeJVAkkgVVX+5OkG6cfx93gq21IHZeW8A4EkkFpButbllKrW9CBZYaIfSiCFgVSC6WNHaCEy0wLTVIMJpBCQ7r7SUYCEzE0tTFMO5wxSRGjgkHSeSOkTNIwIcpPbx+sDWCAJpAqQ0vtrxos8K/0QgYcUSH4gpTw0eJBIs/J+GyCQBNINSOffW3bi8tSONCsfIHWLAIyo+nWkbDWtBw1JJUgRHy7dIBFkQCAJpJDqD0zt4vD+34F0ljUblAMLpIVAIvDeCpIdJoJhBdJCIBH47pGTLQYXSPby+fRdJ0uljLTvhmAYgYQDyRUmAs89QWrbDcEwYeWRDYLwR4NUCkzTEzu01wEQtcFEMJBAwoOUC0w1SGifg0Gqg4lgIIHEAZLpax7aY4EkkBCVUkpuIKH9dciHQBJIZpDuAlS/GAJ/nbKheySBZAapFKD6xRD465gNgSSQzCDlArRNZgrS42+BZAKpfSEEvgbnQiAJpFiQ0H4S5WLd5QgkgSSQPuvn72//SyCRgJQSXV5MGRmttzBv1PssdPDpQKrUKO8YMvIogSSQLBrlHUtGHiWQBJJFOo0uEkhrgHTe5UqnBEM+qrQ7SAzX4KErSJHzjIZoCm8EEv4aPJQDKTdT75w6jQoSSPhr8FINTD1zjt7VVL4IJPw1eOoOpt45R+9pKl92BmnkDfpolYCyzok6jabxZVeQRt6co+QFEmJH03nCEmZk76kMa5A3SBHXyNSzSyxhRvWdzrBG9c6KPI2m8mVlkEpPrXaB6EseIEVdG0vPbu0A0vWp1U4QndUyM2pP0/qzC0he9wuzqmVmxJ6m92dXkCL6Mapl9tzrRuwM1ddVO4IU0YtVtfPfvSZqd0/XNY1nyKCN7LsrSJbTqOa9ENdF6xv63mFk7x1PpYiZPd7Lck3Unu0EUqlfRB8WRc3rBZLlfyg9e/ouPDrQiN4RPVi02qx0c9QsONKEu/eNPjVWC9eddpkTpp1BeuovSdWqDRICpOjekiRJUrD+ATYPv+scnnHKAAAAAElFTkSuQmCC\"}]}"],"hiddenFrames":[]}} \ No newline at end of file +{"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 diff --git a/assets/gfx/player.png b/assets/gfx/player.png index 6c883d4..13b9833 100644 Binary files a/assets/gfx/player.png and b/assets/gfx/player.png differ diff --git a/src/Gameplay.c b/src/Gameplay.c index 194e982..ab20f99 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -7,6 +7,7 @@ */ #include "../include/raylib.h" +#include #include "Screens.h" #include "Controls.h" @@ -56,6 +57,7 @@ void InitGameplayScreen(void) globalTimer = 0; if (player.hp < 1) player.hp = 1; + if (ammo < 5) ammo = 5; player.currentframe = 0; player.speed = 300.0f; @@ -70,8 +72,8 @@ void InitGameplayScreen(void) player.hitbox = (Rectangle) { 0, 100, - (float) player_sprite.width/3, - (float) player_sprite.height/2 +5 + (float) player_sprite.width/3 - 20, + (float) player_sprite.height - 20 }; player.iframetimer = 0; player.in = false; @@ -116,11 +118,12 @@ void InitGameplayScreen(void) (float) firework_sprite.height }; fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - firework_sprite.height); - switch (level) { + /* switch (level) { case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 300); break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(400, 600); break; case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; - } + } */ + fireworks[i].speed.x = GetRandomValue(100, 300); fireworks[i].color = RAYWHITE; } @@ -289,7 +292,7 @@ void UpdateGameplayScreen(void) if (CheckCollisionRecs(player.hitbox, feather.hitbox)) { switch (feather.power) { case 0: player.hp++; break; - case 1: ammo++; break; + case 1: ammo += 5; break; } if (!mute) PlaySoundMulti(fxfeather); ResetFeather(); @@ -337,14 +340,16 @@ void UpdateGameplayScreen(void) if (fireworkAmount > 0) { fireworkAmount--; fireworks[i].active = 1; } fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - firework_sprite.height); - switch (level) { - case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 300); break; + /* switch (level) { + case LEVEL1: fireworks[i].speed.x = GetFrameTime() break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(400, 600); break; case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; - } + } */ break; case 1: - fireworks[i].hitbox.x += GetFrameTime() * -fireworks[i].speed.x; + trigMov = sin(2*PI/100*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; diff --git a/src/Gameplay.h b/src/Gameplay.h index e0fc7a4..0fd08a1 100644 --- a/src/Gameplay.h +++ b/src/Gameplay.h @@ -49,8 +49,9 @@ struct Item feather = { 0 }; Sound fxfeather = { 0 }; bool pause; bool DebugMode; -int ammo = 0; +int ammo = 5; int fireworkAmount = 0; int GI_callcount = 0; +int trigMov; #endif