4
Ball1.cpp@5:381cd0ea08aa, 2017-05-04 (annotated)
- Committer:
- fy14ta
- Date:
- Thu May 04 06:38:59 2017 +0000
- Revision:
- 5:381cd0ea08aa
ball1 is big size of the ball
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fy14ta | 5:381cd0ea08aa | 1 | #include "Ball1.h" |
fy14ta | 5:381cd0ea08aa | 2 | |
fy14ta | 5:381cd0ea08aa | 3 | Ball1::Ball1() |
fy14ta | 5:381cd0ea08aa | 4 | { |
fy14ta | 5:381cd0ea08aa | 5 | |
fy14ta | 5:381cd0ea08aa | 6 | } |
fy14ta | 5:381cd0ea08aa | 7 | |
fy14ta | 5:381cd0ea08aa | 8 | Ball1::~Ball1() |
fy14ta | 5:381cd0ea08aa | 9 | { |
fy14ta | 5:381cd0ea08aa | 10 | |
fy14ta | 5:381cd0ea08aa | 11 | } |
fy14ta | 5:381cd0ea08aa | 12 | |
fy14ta | 5:381cd0ea08aa | 13 | void Ball1::init(int size,int speed) |
fy14ta | 5:381cd0ea08aa | 14 | { |
fy14ta | 5:381cd0ea08aa | 15 | |
fy14ta | 5:381cd0ea08aa | 16 | _size = size; |
fy14ta | 5:381cd0ea08aa | 17 | |
fy14ta | 5:381cd0ea08aa | 18 | _x = WIDTH/2 - _size/2; |
fy14ta | 5:381cd0ea08aa | 19 | _y = HEIGHT/2 - _size/2; |
fy14ta | 5:381cd0ea08aa | 20 | |
fy14ta | 5:381cd0ea08aa | 21 | |
fy14ta | 5:381cd0ea08aa | 22 | |
fy14ta | 5:381cd0ea08aa | 23 | _velocity.x = speed; |
fy14ta | 5:381cd0ea08aa | 24 | _velocity.y = speed; } |
fy14ta | 5:381cd0ea08aa | 25 | |
fy14ta | 5:381cd0ea08aa | 26 | |
fy14ta | 5:381cd0ea08aa | 27 | void Ball1::draw(N5110 &lcd) |
fy14ta | 5:381cd0ea08aa | 28 | { |
fy14ta | 5:381cd0ea08aa | 29 | lcd.drawRect(_x,_y,_size,_size,FILL_BLACK); |
fy14ta | 5:381cd0ea08aa | 30 | } |
fy14ta | 5:381cd0ea08aa | 31 | |
fy14ta | 5:381cd0ea08aa | 32 | |
fy14ta | 5:381cd0ea08aa | 33 | |
fy14ta | 5:381cd0ea08aa | 34 | void Ball1::update(Direction d,float mag) |
fy14ta | 5:381cd0ea08aa | 35 | { |
fy14ta | 5:381cd0ea08aa | 36 | |
fy14ta | 5:381cd0ea08aa | 37 | |
fy14ta | 5:381cd0ea08aa | 38 | |
fy14ta | 5:381cd0ea08aa | 39 | |
fy14ta | 5:381cd0ea08aa | 40 | _velocity.x = int(mag*1.0f); |
fy14ta | 5:381cd0ea08aa | 41 | _velocity.y = int(mag*1.0f); // scale is arbitrary, could be changed in future |
fy14ta | 5:381cd0ea08aa | 42 | |
fy14ta | 5:381cd0ea08aa | 43 | // update y value depending on direction of movement |
fy14ta | 5:381cd0ea08aa | 44 | // North is decrement as origin is at the top-left so decreasing moves up |
fy14ta | 5:381cd0ea08aa | 45 | if (d == N) { |
fy14ta | 5:381cd0ea08aa | 46 | _y+=_velocity.y; |
fy14ta | 5:381cd0ea08aa | 47 | } else if (d == S) { |
fy14ta | 5:381cd0ea08aa | 48 | _y+=_velocity.y; |
fy14ta | 5:381cd0ea08aa | 49 | } |
fy14ta | 5:381cd0ea08aa | 50 | |
fy14ta | 5:381cd0ea08aa | 51 | if (d == W) { |
fy14ta | 5:381cd0ea08aa | 52 | _x+=_velocity.x; |
fy14ta | 5:381cd0ea08aa | 53 | } else if (d == E) { |
fy14ta | 5:381cd0ea08aa | 54 | _x+=_velocity.x; |
fy14ta | 5:381cd0ea08aa | 55 | } |
fy14ta | 5:381cd0ea08aa | 56 | |
fy14ta | 5:381cd0ea08aa | 57 | |
fy14ta | 5:381cd0ea08aa | 58 | |
fy14ta | 5:381cd0ea08aa | 59 | |
fy14ta | 5:381cd0ea08aa | 60 | } |
fy14ta | 5:381cd0ea08aa | 61 | |
fy14ta | 5:381cd0ea08aa | 62 | |
fy14ta | 5:381cd0ea08aa | 63 | |
fy14ta | 5:381cd0ea08aa | 64 | void Ball1::set_velocity(Vector2D v) |
fy14ta | 5:381cd0ea08aa | 65 | { |
fy14ta | 5:381cd0ea08aa | 66 | _velocity.x = v.x; |
fy14ta | 5:381cd0ea08aa | 67 | _velocity.y = v.y; |
fy14ta | 5:381cd0ea08aa | 68 | } |
fy14ta | 5:381cd0ea08aa | 69 | |
fy14ta | 5:381cd0ea08aa | 70 | Vector2D Ball1::get_velocity() |
fy14ta | 5:381cd0ea08aa | 71 | { |
fy14ta | 5:381cd0ea08aa | 72 | Vector2D v = {_velocity.x,_velocity.y}; |
fy14ta | 5:381cd0ea08aa | 73 | return v; |
fy14ta | 5:381cd0ea08aa | 74 | } |
fy14ta | 5:381cd0ea08aa | 75 | |
fy14ta | 5:381cd0ea08aa | 76 | Vector2D Ball1::get_pos() |
fy14ta | 5:381cd0ea08aa | 77 | { |
fy14ta | 5:381cd0ea08aa | 78 | Vector2D p = {_x,_y}; |
fy14ta | 5:381cd0ea08aa | 79 | return p; |
fy14ta | 5:381cd0ea08aa | 80 | } |
fy14ta | 5:381cd0ea08aa | 81 | |
fy14ta | 5:381cd0ea08aa | 82 | void Ball1::set_pos(Vector2D p) |
fy14ta | 5:381cd0ea08aa | 83 | { |
fy14ta | 5:381cd0ea08aa | 84 | _x = p.x; |
fy14ta | 5:381cd0ea08aa | 85 | _y = p.y; |
fy14ta | 5:381cd0ea08aa | 86 | } |
fy14ta | 5:381cd0ea08aa | 87 | |
fy14ta | 5:381cd0ea08aa | 88 | |
fy14ta | 5:381cd0ea08aa | 89 | void Ball1::set_size(int size) |
fy14ta | 5:381cd0ea08aa | 90 | { |
fy14ta | 5:381cd0ea08aa | 91 | _size = size; |
fy14ta | 5:381cd0ea08aa | 92 | } |
fy14ta | 5:381cd0ea08aa | 93 |