Ball physics library for OCE360 HW#4

bouncing_ball.h

Committer:
slicht
Date:
2017-10-24
Revision:
1:0aa572c0f2b1
Parent:
0:aff81f4c72f3
Child:
2:ba1844b0eb9f

File content as of revision 1:0aa572c0f2b1:

// Bouncing ball is a library adding physics based ball bouncing to the Sparkfun Experiment 3/4 rolling ball demo.
// Example Code
// 10/19/2017 Stephen Licht 

#include "mbed.h"

#ifndef bouncing_ball_H
#define bouncing_ball_H  //in case any other library wishes to check for presence of this library (see example below)
#include "MMA8452Q.h"  //includes our new accelerometer library definitions

#define DEFAULT_WIDTH 126
#define DEFAULT_HEIGHT 126
#define DEFAULT_SPEEDX 0
#define DEFAULT_SPEEDY 0
#define DEFAULT_POSX 64
#define DEFAULT_POSY 64
#define DEFAULT_COLOR 0
#define DEFAULT_RADIUS 10

// Class declaration
class physics_ball
{
    public:
        physics_ball(int color, int radius);
        ~physics_ball();

        float speedx;
        float speedy;
        int posx;
        int posy;
        int color;
        int radius; 
        
        void update(float time_step, MMA8452Q accelerometer);
        void define_space(int width, int height);
        void set_param(int radius, int color);
        void set_state(int x, int y, float vx, float vy);
        
    private:

        int space_width;
        int space_height;
};

#endif  //bouncing_ball_H