4

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?

UserRevisionLine numberNew 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