Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Ball/Ball.cpp@9:ce0a12fb205b, 2019-04-10 (annotated)
- Committer:
- JamesCummins
- Date:
- Wed Apr 10 12:54:56 2019 +0000
- Revision:
- 9:ce0a12fb205b
- Child:
- 10:40c77d69e83c
Ball class first draft done
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JamesCummins | 9:ce0a12fb205b | 1 | #include 'Ball.h' |
JamesCummins | 9:ce0a12fb205b | 2 | |
JamesCummins | 9:ce0a12fb205b | 3 | Ball::Ball() |
JamesCummins | 9:ce0a12fb205b | 4 | {} |
JamesCummins | 9:ce0a12fb205b | 5 | |
JamesCummins | 9:ce0a12fb205b | 6 | Ball::~Ball() |
JamesCummins | 9:ce0a12fb205b | 7 | {} |
JamesCummins | 9:ce0a12fb205b | 8 | |
JamesCummins | 9:ce0a12fb205b | 9 | void Ball::init(int radius){ |
JamesCummins | 9:ce0a12fb205b | 10 | _radius = radius; |
JamesCummins | 9:ce0a12fb205b | 11 | _x = 48; |
JamesCummins | 9:ce0a12fb205b | 12 | _y = 24; |
JamesCummins | 9:ce0a12fb205b | 13 | } |
JamesCummins | 9:ce0a12fb205b | 14 | |
JamesCummins | 9:ce0a12fb205b | 15 | void Ball::draw (N5110 &lcd){ |
JamesCummins | 9:ce0a12fb205b | 16 | lcd.drawCircle(_x, _y, 4, FILL_BLACK); |
JamesCummins | 9:ce0a12fb205b | 17 | } |
JamesCummins | 9:ce0a12fb205b | 18 | |
JamesCummins | 9:ce0a12fb205b | 19 | void Ball::update(FXOS8700CQ &accelerometer){ |
JamesCummins | 9:ce0a12fb205b | 20 | acc_values = accelerometer.get_values(); |
JamesCummins | 9:ce0a12fb205b | 21 | _accel.x = acc_values.ax; |
JamesCummins | 9:ce0a12fb205b | 22 | _accel.y = acc_values.ay; |
JamesCummins | 9:ce0a12fb205b | 23 | |
JamesCummins | 9:ce0a12fb205b | 24 | _velocity.x += accel.x; |
JamesCummins | 9:ce0a12fb205b | 25 | _velocity.y += accel.y; |
JamesCummins | 9:ce0a12fb205b | 26 | |
JamesCummins | 9:ce0a12fb205b | 27 | _x += _velocity.x; |
JamesCummins | 9:ce0a12fb205b | 28 | _y += _velocity.y; |
JamesCummins | 9:ce0a12fb205b | 29 | } |
JamesCummins | 9:ce0a12fb205b | 30 | |
JamesCummins | 9:ce0a12fb205b | 31 | Vector2D Ball::get_position(){ |
JamesCummins | 9:ce0a12fb205b | 32 | Vector2D pos = {_x, _y}; |
JamesCummins | 9:ce0a12fb205b | 33 | return pos; |
JamesCummins | 9:ce0a12fb205b | 34 | } |
JamesCummins | 9:ce0a12fb205b | 35 | |
JamesCummins | 9:ce0a12fb205b | 36 | Vector2D Ball::get_velocity(){ |
JamesCummins | 9:ce0a12fb205b | 37 | Vector2D vel = {_velocity.x, _velocity.y}; |
JamesCummins | 9:ce0a12fb205b | 38 | return vel; |
JamesCummins | 9:ce0a12fb205b | 39 | } |
JamesCummins | 9:ce0a12fb205b | 40 | |
JamesCummins | 9:ce0a12fb205b | 41 | Vector2D Ball::get_accel(){ |
JamesCummins | 9:ce0a12fb205b | 42 | Vector2D accel = {_accel.x, _accel.y}; |
JamesCummins | 9:ce0a12fb205b | 43 | return accel; |
JamesCummins | 9:ce0a12fb205b | 44 | } |
JamesCummins | 9:ce0a12fb205b | 45 | |
JamesCummins | 9:ce0a12fb205b | 46 | void Ball::set_velocity(Vector2D vel){ |
JamesCummins | 9:ce0a12fb205b | 47 | _velocity.x = vel.x; |
JamesCummins | 9:ce0a12fb205b | 48 | _velocity.y = vel.y; |
JamesCummins | 9:ce0a12fb205b | 49 | } |
JamesCummins | 9:ce0a12fb205b | 50 | |
JamesCummins | 9:ce0a12fb205b | 51 | void Ball::set_position(Vector2D pos){ |
JamesCummins | 9:ce0a12fb205b | 52 | _x = pos.x; |
JamesCummins | 9:ce0a12fb205b | 53 | _y = pos.y; |
JamesCummins | 9:ce0a12fb205b | 54 | } |