ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

Objects/Object.h

Committer:
el19tb
Date:
2020-05-23
Revision:
48:8ccfc74b60a5
Parent:
46:e39abe665271
Child:
53:b6bb4dab7823

File content as of revision 48:8ccfc74b60a5:

#ifndef OBJECT_H
#define OBJECT_H

// holds information about object
struct ObjectInfo
{
    float x; // x pos
    int y; // y pos
    int dir; // direction of object
    char c; // type of object
};

struct Rect
{
    float right_side;
    float left_side;
    float up;
    float bottom;
};

// keeps track of functions related to Objects
class Object
{
    public:
        // constructor
        Object();
        
        int slow;
        int medium;
        int fast;
        
        int row;

        int seperation;
        int grid;
        int size;
        float speed;
        float width;
        float height;
        
        int screenWidth;
        int screenHeight;
        
        ObjectInfo object;
        Rect rectangle; // used to check for collision
            
    public:
    
        void setRow(int row);
        void setSeperation(int seperation);
        void setSprite(char type);
        void determineVehicleRecParamaters(char c);
        void updateRect(int x, int y);
        void createRect(int x, int y);
        void determineLogRecParamaters(char c);
        void setDir(int dir);
        void speedSlow(int dir);
        void speedMedium(int dir);
        void speedFast(int dir);
        void initializeLogParameters();
        void initializeScreenParameters();

};

#endif