It looks like physics could now work, but I doubt it...
#ifndef PHYSICS_HH
#define PHYSICS_HH
#include "Vector.hh"
const uint16_t PHYSICS_TICK_MS = 50;
const uint16_t PHYSICS_WORLD_WIDTH = 800;
const uint16_t PHYSICS_WORLD_HEIGHT = 600;
const Vector GRAVITY_FORCE(0,-1);
class PhysicsWorld {
protected:
std::vector<PhysicsObject*> objects;
Vector dimensions;
PhysicsWorld (Vector dimensions);
public:
void addObject (PhysicsObject *object);
void tick (void);
};
class PhysicsObject {
protected:
Vector position;
Vector velocity;
Vector force;
uint16_t mass;
PhysicsObject (mass, position, velocity, force);
private:
void updatePosition (void);
protected:
void applyForce (Vector force);
void updatePhysics (Vector position, Vector velocity, Vector force);
public:
Vector getPosition (void);
void tick (void);
};
void tickObject(PhysicsObject* obj);
#endif