From 428c401f9c1053f7e13ffe641758dfb72791d8dc Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Fri, 26 Jun 2015 19:59:28 -0400 Subject: Player now moves --- src/components/animatable.cpp | 27 ++++++++++++++ src/components/animatable.h | 31 ++++++++++++++++ src/components/controllable.cpp | 71 ++++++++++++++++++++++++++++++++++++ src/components/controllable.h | 36 ++++++++++++++++++ src/components/droppable.cpp | 11 ++++++ src/components/droppable.h | 15 ++++++++ src/components/ponderable.cpp | 41 +++++++++++++++++++++ src/components/ponderable.h | 24 ++++++++++++ src/components/sprite_renderable.cpp | 27 -------------- src/components/sprite_renderable.h | 25 ------------- 10 files changed, 256 insertions(+), 52 deletions(-) create mode 100644 src/components/animatable.cpp create mode 100644 src/components/animatable.h create mode 100644 src/components/controllable.cpp create mode 100644 src/components/controllable.h create mode 100644 src/components/droppable.cpp create mode 100644 src/components/droppable.h create mode 100644 src/components/ponderable.cpp create mode 100644 src/components/ponderable.h delete mode 100644 src/components/sprite_renderable.cpp delete mode 100644 src/components/sprite_renderable.h (limited to 'src/components') diff --git a/src/components/animatable.cpp b/src/components/animatable.cpp new file mode 100644 index 0000000..fcd277c --- /dev/null +++ b/src/components/animatable.cpp @@ -0,0 +1,27 @@ +#include "animatable.h" + +AnimatableComponent::AnimatableComponent(const char* filename, int frame_width, int frame_height, int frames_across) + : texture(filename), frame_width(frame_width), frame_height(frame_height), frames_across(frames_across) +{ + +} + +int AnimatableComponent::getFrame() const +{ + return frame; +} + +void AnimatableComponent::setFrame(int frame) +{ + this->frame = frame; +} + +const Texture& AnimatableComponent::getTexture() const +{ + return texture; +} + +Rectangle AnimatableComponent::getFrameRect() const +{ + return {frame_width * (frame % frames_across), frame_height * (frame / frames_across), frame_width, frame_height}; +} diff --git a/src/components/animatable.h b/src/components/animatable.h new file mode 100644 index 0000000..cf6ee54 --- /dev/null +++ b/src/components/animatable.h @@ -0,0 +1,31 @@ +#ifndef SPRITE_RENDERABLE_H_D3AACBBF +#define SPRITE_RENDERABLE_H_D3AACBBF + +#include "component.h" +#include "renderer.h" +#include "direction.h" + +class AnimatableComponent : public Component { + public: + AnimatableComponent(const char* filename, int frame_width, int frame_height, int frames_across); + + int getFrame() const; + void setFrame(int frame); + + const Texture& getTexture() const; + Rectangle getFrameRect() const; + + void setDirection(Direction dir) {}; + void setWalking(bool w) {}; + void setJumping(bool w) {}; + void setCrouching(bool w) {}; + + private: + Texture texture; + int frame_width; + int frame_height; + int frames_across; + int frame = 0; +}; + +#endif /* end of include guard: SPRITE_RENDERABLE_H_D3AACBBF */ diff --git a/src/components/controllable.cpp b/src/components/controllable.cpp new file mode 100644 index 0000000..a4d45f2 --- /dev/null +++ b/src/components/controllable.cpp @@ -0,0 +1,71 @@ +#include "controllable.h" + +int ControllableComponent::getLeftKey() const +{ + return leftKey; +} + +void ControllableComponent::setLeftKey(int k) +{ + leftKey = k; +} + +int ControllableComponent::getRightKey() const +{ + return rightKey; +} + +void ControllableComponent::setRightKey(int k) +{ + rightKey = k; +} + +int ControllableComponent::getJumpKey() const +{ + return jumpKey; +} + +void ControllableComponent::setJumpKey(int k) +{ + jumpKey = k; +} + +int ControllableComponent::getDropKey() const +{ + return dropKey; +} + +void ControllableComponent::setDropKey(int k) +{ + dropKey = k; +} + +bool ControllableComponent::isFrozen() const +{ + return frozen; +} + +void ControllableComponent::setFrozen(bool f) +{ + frozen = f; +} + +bool ControllableComponent::isHoldingLeft() const +{ + return holdingLeft; +} + +void ControllableComponent::setHoldingLeft(bool f) +{ + holdingLeft = f; +} + +bool ControllableComponent::isHoldingRight() const +{ + return holdingRight; +} + +void ControllableComponent::setHoldingRight(bool f) +{ + holdingRight = f; +} diff --git a/src/components/controllable.h b/src/components/controllable.h new file mode 100644 index 0000000..317d68d --- /dev/null +++ b/src/components/controllable.h @@ -0,0 +1,36 @@ +#ifndef CONTROLLABLE_H_4E0B85B4 +#define CONTROLLABLE_H_4E0B85B4 + +#include "component.h" +#include "renderer.h" + +class ControllableComponent : public Component { + public: + int getLeftKey() const; + void setLeftKey(int k); + int getRightKey() const; + void setRightKey(int k); + int getJumpKey() const; + void setJumpKey(int k); + int getDropKey() const; + void setDropKey(int k); + + bool isFrozen() const; + void setFrozen(bool f); + bool isHoldingLeft() const; + void setHoldingLeft(bool f); + bool isHoldingRight() const; + void setHoldingRight(bool f); + + private: + int leftKey = GLFW_KEY_LEFT; + int rightKey = GLFW_KEY_RIGHT; + int jumpKey = GLFW_KEY_UP; + int dropKey = GLFW_KEY_DOWN; + + bool frozen = false; + bool holdingLeft = false; + bool holdingRight = false; +}; + +#endif /* end of include guard: CONTROLLABLE_H_4E0B85B4 */ diff --git a/src/components/droppable.cpp b/src/components/droppable.cpp new file mode 100644 index 0000000..534fd9a --- /dev/null +++ b/src/components/droppable.cpp @@ -0,0 +1,11 @@ +#include "droppable.h" + +void DroppableComponent::setDroppable(bool can) +{ + droppable = can; +} + +bool DroppableComponent::isDroppable() const +{ + return droppable; +} diff --git a/src/components/droppable.h b/src/components/droppable.h new file mode 100644 index 0000000..1f5608b --- /dev/null +++ b/src/components/droppable.h @@ -0,0 +1,15 @@ +#ifndef DROPPABLE_H_5DB254EF +#define DROPPABLE_H_5DB254EF + +#include "component.h" + +class DroppableComponent : public Component { + public: + void setDroppable(bool can); + bool isDroppable() const; + + private: + bool droppable = false; +}; + +#endif /* end of include guard: DROPPABLE_H_5DB254EF */ diff --git a/src/components/ponderable.cpp b/src/components/ponderable.cpp new file mode 100644 index 0000000..2cfa6a6 --- /dev/null +++ b/src/components/ponderable.cpp @@ -0,0 +1,41 @@ +#include "ponderable.h" + +double PonderableComponent::getVelocityX() const +{ + return velocityX; +} + +void PonderableComponent::setVelocityX(double v) +{ + velocityX = v; +} + +double PonderableComponent::getVelocityY() const +{ + return velocityY; +} + +void PonderableComponent::setVelocityY(double v) +{ + velocityY = v; +} + +double PonderableComponent::getAccelX() const +{ + return accelX; +} + +void PonderableComponent::setAccelX(double v) +{ + accelX = v; +} + +double PonderableComponent::getAccelY() const +{ + return accelY; +} + +void PonderableComponent::setAccelY(double v) +{ + accelY = v; +} diff --git a/src/components/ponderable.h b/src/components/ponderable.h new file mode 100644 index 0000000..5aab4b3 --- /dev/null +++ b/src/components/ponderable.h @@ -0,0 +1,24 @@ +#ifndef TANGIBLE_H_746DB3EE +#define TANGIBLE_H_746DB3EE + +#include "component.h" + +class PonderableComponent : public Component { + public: + double getVelocityX() const; + void setVelocityX(double v); + double getVelocityY() const; + void setVelocityY(double v); + double getAccelX() const; + void setAccelX(double v); + double getAccelY() const; + void setAccelY(double v); + + private: + double velocityX = 0.0; + double velocityY = 0.0; + double accelX = 0.0; + double accelY = 0.0; +}; + +#endif /* end of include guard: TANGIBLE_H_746DB3EE */ diff --git a/src/components/sprite_renderable.cpp b/src/components/sprite_renderable.cpp deleted file mode 100644 index 4c61111..0000000 --- a/src/components/sprite_renderable.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "sprite_renderable.h" - -SpriteRenderableComponent::SpriteRenderableComponent(const char* filename, int frame_width, int frame_height, int frames_across) - : texture(filename), frame_width(frame_width), frame_height(frame_height), frames_across(frames_across) -{ - -} - -int SpriteRenderableComponent::getFrame() const -{ - return frame; -} - -void SpriteRenderableComponent::setFrame(int frame) -{ - this->frame = frame; -} - -const Texture& SpriteRenderableComponent::getTexture() const -{ - return texture; -} - -Rectangle SpriteRenderableComponent::getFrameRect() const -{ - return {frame_width * (frame % frames_across), frame_height * (frame / frames_across), frame_width, frame_height}; -} diff --git a/src/components/sprite_renderable.h b/src/components/sprite_renderable.h deleted file mode 100644 index b4465c3..0000000 --- a/src/components/sprite_renderable.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef SPRITE_RENDERABLE_H_D3AACBBF -#define SPRITE_RENDERABLE_H_D3AACBBF - -#include "component.h" -#include "renderer.h" - -class SpriteRenderableComponent : public Component { - public: - SpriteRenderableComponent(const char* filename, int frame_width, int frame_height, int frames_across); - - int getFrame() const; - void setFrame(int frame); - - const Texture& getTexture() const; - Rectangle getFrameRect() const; - - private: - Texture texture; - int frame_width; - int frame_height; - int frames_across; - int frame = 0; -}; - -#endif /* end of include guard: SPRITE_RENDERABLE_H_D3AACBBF */ -- cgit 1.4.1