diff options
Diffstat (limited to 'games/skully_escape/player.c')
| -rw-r--r-- | games/skully_escape/player.c | 281 |
1 files changed, 0 insertions, 281 deletions
diff --git a/games/skully_escape/player.c b/games/skully_escape/player.c deleted file mode 100644 index 552326e1..00000000 --- a/games/skully_escape/player.c +++ /dev/null @@ -1,281 +0,0 @@ -/*********************************************************************************** -* -* KING GAME JAM - GRAY TEAM -* -* <Game title> -* <Game description> -* -* This game has been created using raylib (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2014 Ramon Santamaria (@raysan5) -* -************************************************************************************/ - -#include "raylib.h" -#include "player.h" - -#define PLAYER_ANIM_FRAMES 4 -#define PLAYER_ANIM_SEQ 6 - -//---------------------------------------------------------------------------------- -// Module Variables Definition -//---------------------------------------------------------------------------------- - -// Player mouse moving variables -static bool movingAnim; -static int moveDirection; -static int nextMovePoint; - -// Mouse pointer variables -static Vector2 pointerPosition; -static bool pointerAnim; -static float pointerAlpha; - -static int framesCounter; -static bool outControl = false; - -static int animTimer = 0; - -static Texture2D texLife; - -static void DrawLifes(void); - -// player initialitaction definition -void InitPlayer(void) -{ - // NOTE: Some player variables are only initialized once - player.texture = LoadTexture("resources/textures/skully.png"); - player.position = (Vector2){ 350, 400 }; - player.numLifes = 4; - - ResetPlayer(); - - framesCounter = 0; - - texLife = LoadTexture("resources/textures/skully_icon.png"); -} - -// player update definition -void UpdatePlayer(void) -{ - if (!outControl) - { - if ((IsKeyDown(KEY_LEFT)) || (IsKeyDown(KEY_RIGHT))) - { - moveDirection = -1; - movingAnim = false; - } - - if ((IsKeyDown(KEY_RIGHT)) || (moveDirection == 0)) - { - player.currentSeq = WALK_RIGHT; - framesCounter++; - - if (framesCounter > 15) - { - player.currentFrame++; - framesCounter = 0; - - if (player.currentFrame > PLAYER_ANIM_FRAMES - 1) player.currentFrame = 0; - } - - player.position.x += 4; - } - else if ((IsKeyDown(KEY_LEFT)) || (moveDirection == 1)) - { - player.currentSeq = WALK_LEFT; - framesCounter++; - - if (framesCounter > 15) - { - player.currentFrame++; - framesCounter = 0; - - if (player.currentFrame > PLAYER_ANIM_FRAMES - 1) player.currentFrame = 0; - } - - player.position.x -= 4; - } - else player.currentFrame = 0; - } - else - { - framesCounter++; - animTimer++; - - if (framesCounter > 10) - { - player.currentFrame++; - framesCounter = 0; - - if (player.currentFrame > PLAYER_ANIM_FRAMES - 1) player.currentFrame = 0; - - // We can adjust animation playing time depending on sequence - switch (player.currentSeq) - { - case SCARE_RIGHT: - { - if (animTimer > 180) - { - animTimer = 0; - outControl = false; - player.currentSeq = WALK_LEFT; - } - } break; - case SCARE_LEFT: - { - if (animTimer > 240) - { - animTimer = 0; - outControl = false; - player.currentSeq = WALK_RIGHT; - } - } break; - case SEARCH: - case FIND_KEY: - { - if (animTimer > 240) - { - animTimer = 0; - outControl = false; - player.currentSeq = WALK_RIGHT; - } - } break; - } - } - } - - if (player.position.x < 30) player.position.x = 30; - else if (player.position.x > (GetScreenWidth() - 200)) player.position.x = GetScreenWidth() - 200; - - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) - { - pointerPosition = GetMousePosition(); - pointerAnim = true; - pointerAlpha = 1.0f; - - nextMovePoint = (int)pointerPosition.x; - movingAnim = true; - } - - if (movingAnim) - { - if (nextMovePoint > (player.position.x + (player.frameRec.width/2) + 5)) moveDirection = 0; // Move Left - else if (nextMovePoint < (player.position.x + (player.frameRec.width/2) - 5)) moveDirection = 1; // Move Right - else - { - moveDirection = -1; - movingAnim = 0; - } - } - - player.frameRec.x = player.currentFrame*player.texture.width/PLAYER_ANIM_FRAMES; - player.frameRec.y = (player.currentSeq - 1)*player.texture.height/PLAYER_ANIM_SEQ; - - // Update player bounds - player.bounds = (Rectangle){ player.position.x + 50, player.position.y - 60, 100, 300 }; - - // Mouse pointer alpha animation - if (pointerAnim) - { - pointerAlpha -= 0.1f; - - if (pointerAlpha <= 0.0f) - { - pointerAlpha = 0.0f; - pointerAnim = false; - } - } -} -// -void DrawPlayer(void) -{ - DrawTextureRec(player.texture, player.frameRec, player.position, WHITE); - - // Draw mouse pointer on click - if (pointerAnim) DrawCircleV(pointerPosition, 20, Fade(RED, pointerAlpha)); - - DrawLifes(); -} - -void UnloadPlayer(void) -{ - UnloadTexture(player.texture); - UnloadTexture(texLife); -} - -void ResetPlayer(void) -{ - // Reset player variables - player.frameRec = (Rectangle){ 0, 0, player.texture.width/PLAYER_ANIM_FRAMES, player.texture.height/PLAYER_ANIM_SEQ }; - player.currentFrame = 0; - player.currentSeq = WALK_RIGHT; - - player.key = false; - player.dead = false; - - // Reset player position - if (player.position.x < 400) player.position.x = GetScreenWidth() - 350; - if (player.position.x > (GetScreenWidth() - 400)) player.position.x = 350; - - // Reset moving variables - movingAnim = false; - moveDirection = -1; - nextMovePoint = 0; - framesCounter = 0; - outControl = false; - animTimer = 0; - - // Reset pointer - pointerAlpha = 0.0f; - pointerAnim = false; -} - -void ScarePlayer(void) -{ - player.currentFrame = 0; - - if (moveDirection == 0) player.currentSeq = SCARE_RIGHT; - else if (moveDirection == 1) player.currentSeq = SCARE_LEFT; - else player.currentSeq = SCARE_RIGHT; - - player.numLifes--; - - if (player.numLifes <= 0) player.dead = true; - - outControl = true; -} - -void SearchKeyPlayer(void) -{ - moveDirection = -1; - movingAnim = 0; - - player.currentFrame = 0; - player.currentSeq = SEARCH; - - outControl = true; -} - -void FindKeyPlayer(void) -{ - player.currentFrame = 0; - player.currentSeq = FIND_KEY; - player.key = true; - - outControl = true; -} - -static void DrawLifes(void) -{ - if (player.numLifes != 0) - { - Vector2 position = { 20, GetScreenHeight() - texLife.height - 20 }; - - for(int i = 0; i < player.numLifes; i++) - { - DrawTexture(texLife, position.x + i*texLife.width, position.y, Fade(RAYWHITE, 0.7f)); - } - } -}
\ No newline at end of file |
