ELEC2645 (2018/19) / Mbed 2 deprecated el17szs

Dependencies:   mbed

Ball/Ball.h

Committer:
shahidsajid
Date:
2019-04-21
Revision:
9:a81db6a703b7
Parent:
7:a1a6bff238c1
Child:
10:6c6e09023942

File content as of revision 9:a81db6a703b7:

#ifndef BALL_H
#define BALL_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Bat.h"
/** Ball Class
@author Dr Craig A. Evans, University of Leeds
@brief Controls the ball in the Pong game 
@date Febraury 2017
*/ 
class Ball
{

public:
    Ball();
    ~Ball();
    void init(int size,int speed);
    void draw(N5110 &lcd);
    void update();
    /// accessors and mutators
    void set_velocity(Vector2D v);
    Vector2D get_velocity();
    Vector2D get_pos();
    void set_pos(Vector2D p);
    void start(N5110 &lcd,int checkHit, Direction dir);
    void get_direction(Gamepad &pad);
    void set_field(N5110 &lcd);
    void update_ball(int checkHit, Direction dir);
    int bowler_start();
    void draw_field(N5110 &lcd);
    void reset();
    
private:
    Gamepad pad;
    struct Fielder{
        int x;
        int y;
        int position;
    };
    int fieldNumbers[10];
    Bat bat;
    int ballHit;
    Vector2D _velocity;
    Fielder field[5];
    int direction_set;
    Direction ball_direction;
    Direction _d;
    int bowled;
    int d;
    int _size;
    int _x;
    int _y;
    int _x1;
    int _y1;
};
#endif