5
Paddle.cpp
- Committer:
- eencae
- Date:
- 2017-03-01
- Revision:
- 1:5285b567f4c9
- Parent:
- 0:fe2b9c70f7b8
- Child:
- 2:aae12f64103b
File content as of revision 1:5285b567f4c9:
#include "Paddle.h" Paddle::Paddle() { } Paddle::~Paddle() { } void Paddle::init(int x,int height,int width) { _x = x; // x value on screen is fixed _y = HEIGHT/2 - height/2; // y depends on height of screen and height of paddle _height = height; _width = width; _speed = 1; // default speed _score = 0; } void Paddle::draw(N5110 &lcd) { // draw paddle in screen buffer. 1 for filled rectangle lcd.drawRect(_x,_y,_width,_height,1); } void Paddle::update(Direction d,float mag) { _speed = int(mag*10.0f); // scale is arbitrary, could be changed in future // update y value depending on direction of movement // North is decrement as origin is at the top-left so decreasing moves up if (d == N) { _y-=_speed; } else if (d == S) { _y+=_speed; } // check the y origin to ensure that the paddle doesn't go off screen if (_y < 0) { _y = 0; } if (_y > HEIGHT - _height) { _y = HEIGHT - _height; } } void Paddle::add_score() { _score++; } int Paddle::get_score() { return _score; } Vector2D Paddle::get_pos() { Vector2D p = {_x,_y}; return p; }