Compare commits

...

2 commits

Author SHA1 Message Date
5eab405baf added wall defense mechanic 2022-11-21 19:07:06 -05:00
ce2b4dbb6e added new hurt sprite by Allan 2022-11-21 18:09:56 -05:00
5 changed files with 19 additions and 18 deletions

View file

@ -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":[""]}} {"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":[""]}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 939 B

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -27,13 +27,14 @@ void UpdateCreditsScreen(void)
void DrawCreditsScreen(void) void DrawCreditsScreen(void)
{ {
DrawTexture(background, 0, 0, DARKGRAY); DrawTexture(background, 0, 0, DARKGRAY);
DrawTextEx(ZadoBold, "CREDITS", (Vector2){ 290, 20 }, 50, 2, BLUE); DrawText("CREDITS", 290, 20, 50, BLUE);
DrawTextEx(ZadoBold, "Programming and Art by Return0ne", (Vector2){ 10, 160 }, 40, 2, BLUE); DrawText("Art by Mark and Allan", 10, 120, 40, BLUE);
DrawTextEx(ZadoBold, "Powered by raylib 4.0", (Vector2){ 10, 200 }, 40, 2, BLUE); DrawText("Programming by Mark", 10, 160, 40, BLUE);
DrawTextEx(ZadoBold, "rFXgen used for sfx", (Vector2){ 10, 235 }, 40, 2, BLUE); DrawText("Powered by raylib 4.0", 10, 200, 40, BLUE);
DrawTextEx(ZadoBold, "A Canneddonuts project 2022", (Vector2){ 10, 270 }, 40, 2, BLUE); DrawText("rFXgen used for sfx", 10, 235, 40, BLUE);
DrawTextEx(ZadoBold, TextFormat("Build compiled on %s", __DATE__), (Vector2){ 10, 310 }, 30, 2, GREEN); DrawText("A Canneddonuts project 2022", 10, 270, 40, BLUE);
DrawTextEx(ZadoBold, "Press 'ENTER' ", (Vector2){ 10, 350 }, 30, 2, WHITE); DrawText(TextFormat("Build compiled on %s", __DATE__), 10, 310, 30, GREEN);
DrawText("Press 'ENTER' ", 10, 350, 30, WHITE);
} }
int FinishCreditsScreen(void) int FinishCreditsScreen(void)

View file

@ -127,9 +127,9 @@ void InitGameplayScreen(void)
}; };
fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - 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 LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 200); break;
case LEVEL2: fireworks[i].speed.x = GetRandomValue(600, 800); break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(200, 300); break;
case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; case LEVEL3: fireworks[i].speed.x = GetRandomValue(250, 350); break;
} }
fireworks[i].color = RAYWHITE; fireworks[i].color = RAYWHITE;
} }
@ -149,7 +149,7 @@ void InitGameplayScreen(void)
switch (level) { switch (level) {
case LEVEL1: fireworkAmount = 100; break; case LEVEL1: fireworkAmount = 100; break;
case LEVEL2: fireworkAmount = 150; break; case LEVEL2: fireworkAmount = 150; break;
case LEVEL3: fireworkAmount = 200; break; case LEVEL3: fireworkAmount = 100; break;
} }
pause = 0; pause = 0;
@ -245,8 +245,7 @@ void UpdateGameplayScreen(void)
if (IsKeyPressed(KEY_NINE)) ammo = 99; if (IsKeyPressed(KEY_NINE)) ammo = 99;
if (IsKeyPressed(KEY_ZERO)) ammo = 0; if (IsKeyPressed(KEY_ZERO)) ammo = 0;
if (IsKeyPressed(KEY_G)) finishfromGameplayScreen = 1; if (IsKeyPressed(KEY_G)) finishfromGameplayScreen = 1;
if (IsKeyPressed(KEY_R)) finishfromGameplayScreen = 2; if (IsKeyPressed(KEY_Q)) finishfromGameplayScreen = 4;
if (IsKeyPressed(KEY_W)) finishfromGameplayScreen = 3;
if (IsKeyPressed(KEY_EQUAL)) level++; if (IsKeyPressed(KEY_EQUAL)) level++;
if (IsKeyPressed(KEY_MINUS)) level--; if (IsKeyPressed(KEY_MINUS)) level--;
@ -311,7 +310,6 @@ void UpdateGameplayScreen(void)
for (int j = 0; j < MAX_SHOOTS; j++) { for (int j = 0; j < MAX_SHOOTS; j++) {
if (CheckCollisionRecs(shoot[j].hitbox, fireworks[i].hitbox) && shoot[j].active) { if (CheckCollisionRecs(shoot[j].hitbox, fireworks[i].hitbox) && shoot[j].active) {
// if (!mute) PlaySoundMulti(enemy.fxhit); // if (!mute) PlaySoundMulti(enemy.fxhit);
if (!mute) PlaySoundMulti(fxboom);
fireworks[i].color = BLACK; fireworks[i].color = BLACK;
shoot[j].active = 0; shoot[j].active = 0;
fireworks[i].hp--; fireworks[i].hp--;
@ -333,13 +331,13 @@ void UpdateGameplayScreen(void)
} */ } */
break; break;
case 1: 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; // trigMov = sin(2*PI/20*fireworks[i].hitbox.x) * 200;
fireworks[i].hitbox.x -= fireworks[i].speed.x * GetFrameTime(); fireworks[i].hitbox.x -= fireworks[i].speed.x * GetFrameTime();
// fireworks[i].hitbox.y += trigMov*GetFrameTime(); // fireworks[i].hitbox.y += trigMov*GetFrameTime();
// Firework wall collision // Firework wall collision
if (((fireworks[i].hitbox.x + -firework_sprite.width) > GetScreenWidth() 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; break;
} }
} }

View file

@ -49,7 +49,9 @@ void DrawTitleScreen(void)
DrawText("Press 'Left-ALT' + 'F' for full screen", 5, 100, 10, WHITE); DrawText("Press 'Left-ALT' + 'F' for full screen", 5, 100, 10, WHITE);
DrawText("Press 'R' to restart", 5, 120, 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 '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); // DrawText("Ver: 0.1", 680, 420, 30, WHITE);
if (titleSelected == 0) DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, WHITE); if (titleSelected == 0) DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, WHITE);
else DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, BLUE); else DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, BLUE);