ELEC2645 (2017/18) / Mbed 2 deprecated ll14zs

Dependencies:   mbed

Fork of ll14zs by Zeshaan Saeed

Committer:
ll14zs
Date:
Tue May 08 11:15:58 2018 +0000
Revision:
2:5d3aac7fd3df
Child:
3:1231a3961984
commit before implementing the road;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ll14zs 2:5d3aac7fd3df 1 #include "Car.h"
ll14zs 2:5d3aac7fd3df 2
ll14zs 2:5d3aac7fd3df 3 Car::Car()
ll14zs 2:5d3aac7fd3df 4 {
ll14zs 2:5d3aac7fd3df 5
ll14zs 2:5d3aac7fd3df 6 }
ll14zs 2:5d3aac7fd3df 7
ll14zs 2:5d3aac7fd3df 8 Car::~Car()
ll14zs 2:5d3aac7fd3df 9 {
ll14zs 2:5d3aac7fd3df 10
ll14zs 2:5d3aac7fd3df 11 }
ll14zs 2:5d3aac7fd3df 12
ll14zs 2:5d3aac7fd3df 13 void Car::init(int x,int y,int width, int height)
ll14zs 2:5d3aac7fd3df 14 {
ll14zs 2:5d3aac7fd3df 15 _x = WIDTH/2; _width = 3; // x initial start coordinate
ll14zs 2:5d3aac7fd3df 16 _y = HEIGHT/3; _height = 5; // y initial start coordinate
ll14zs 2:5d3aac7fd3df 17
ll14zs 2:5d3aac7fd3df 18
ll14zs 2:5d3aac7fd3df 19 int direction = 0;
ll14zs 2:5d3aac7fd3df 20 if (direction == 0) {
ll14zs 2:5d3aac7fd3df 21 _velocity.y = (1);// car is always moving
ll14zs 2:5d3aac7fd3df 22 }
ll14zs 2:5d3aac7fd3df 23 }
ll14zs 2:5d3aac7fd3df 24
ll14zs 2:5d3aac7fd3df 25 void Car::draw(N5110 &lcd)
ll14zs 2:5d3aac7fd3df 26 {
ll14zs 2:5d3aac7fd3df 27 // draw in screen buffer.
ll14zs 2:5d3aac7fd3df 28 lcd.drawRect(_x,_y,_width,_height,FILL_BLACK);
ll14zs 2:5d3aac7fd3df 29 }
ll14zs 2:5d3aac7fd3df 30
ll14zs 2:5d3aac7fd3df 31 void Car::update(Direction d)
ll14zs 2:5d3aac7fd3df 32 {
ll14zs 2:5d3aac7fd3df 33 _speed = 2;
ll14zs 2:5d3aac7fd3df 34
ll14zs 2:5d3aac7fd3df 35 // update the x value depending on the direction of movement
ll14zs 2:5d3aac7fd3df 36
ll14zs 2:5d3aac7fd3df 37 if (d == -i) {
ll14zs 2:5d3aac7fd3df 38 _x+=_speed;
ll14zs 2:5d3aac7fd3df 39 }
ll14zs 2:5d3aac7fd3df 40 if (d == +i) {
ll14zs 2:5d3aac7fd3df 41 _x-=_speed;
ll14zs 2:5d3aac7fd3df 42 }
ll14zs 2:5d3aac7fd3df 43
ll14zs 2:5d3aac7fd3df 44
ll14zs 2:5d3aac7fd3df 45
ll14zs 2:5d3aac7fd3df 46 // ensure that the car does not go off screen
ll14zs 2:5d3aac7fd3df 47
ll14zs 2:5d3aac7fd3df 48 if (_x < 1) {
ll14zs 2:5d3aac7fd3df 49 _x = 1;
ll14zs 2:5d3aac7fd3df 50 }
ll14zs 2:5d3aac7fd3df 51 if (_x > 82) {
ll14zs 2:5d3aac7fd3df 52 _x = 82;
ll14zs 2:5d3aac7fd3df 53 }
ll14zs 2:5d3aac7fd3df 54 if (_y < 1) {
ll14zs 2:5d3aac7fd3df 55 _y = 1;
ll14zs 2:5d3aac7fd3df 56 }
ll14zs 2:5d3aac7fd3df 57 if (_y > 42) {
ll14zs 2:5d3aac7fd3df 58 _y = 42;
ll14zs 2:5d3aac7fd3df 59 }
ll14zs 2:5d3aac7fd3df 60
ll14zs 2:5d3aac7fd3df 61 _y += _velocity.y;
ll14zs 2:5d3aac7fd3df 62
ll14zs 2:5d3aac7fd3df 63 }
ll14zs 2:5d3aac7fd3df 64
ll14zs 2:5d3aac7fd3df 65
ll14zs 2:5d3aac7fd3df 66
ll14zs 2:5d3aac7fd3df 67
ll14zs 2:5d3aac7fd3df 68 void Car::set_velocity(Vector2D v)
ll14zs 2:5d3aac7fd3df 69 {
ll14zs 2:5d3aac7fd3df 70 _velocity.x = v.x;
ll14zs 2:5d3aac7fd3df 71 _velocity.y = v.y;
ll14zs 2:5d3aac7fd3df 72 }
ll14zs 2:5d3aac7fd3df 73
ll14zs 2:5d3aac7fd3df 74 Vector2D Car::get_velocity()
ll14zs 2:5d3aac7fd3df 75 {
ll14zs 2:5d3aac7fd3df 76 Vector2D v = {_velocity.x,_velocity.y};
ll14zs 2:5d3aac7fd3df 77 return v;
ll14zs 2:5d3aac7fd3df 78 }
ll14zs 2:5d3aac7fd3df 79
ll14zs 2:5d3aac7fd3df 80
ll14zs 2:5d3aac7fd3df 81 Vector2D Car::get_position()
ll14zs 2:5d3aac7fd3df 82 {
ll14zs 2:5d3aac7fd3df 83 Vector2D p = {_x,_y};
ll14zs 2:5d3aac7fd3df 84 return p;
ll14zs 2:5d3aac7fd3df 85 }
ll14zs 2:5d3aac7fd3df 86
ll14zs 2:5d3aac7fd3df 87 void Car::set_position(Vector2D p)
ll14zs 2:5d3aac7fd3df 88 {
ll14zs 2:5d3aac7fd3df 89 _x = p.x;
ll14zs 2:5d3aac7fd3df 90 _y = p.y;
ll14zs 2:5d3aac7fd3df 91 }
ll14zs 2:5d3aac7fd3df 92
ll14zs 2:5d3aac7fd3df 93
ll14zs 2:5d3aac7fd3df 94
ll14zs 2:5d3aac7fd3df 95 void Car::add_score()
ll14zs 2:5d3aac7fd3df 96 {
ll14zs 2:5d3aac7fd3df 97 _score++;
ll14zs 2:5d3aac7fd3df 98 }
ll14zs 2:5d3aac7fd3df 99 int Car::get_score()
ll14zs 2:5d3aac7fd3df 100 {
ll14zs 2:5d3aac7fd3df 101 return _score;
ll14zs 2:5d3aac7fd3df 102 }