ELEC2645 (2018/19) / Mbed 2 deprecated ml16c5l

Dependencies:   mbed

Committer:
ml16c5l
Date:
Mon Apr 29 08:52:36 2019 +0000
Revision:
10:bb273261d33d
Parent:
9:192ad897ec95
Child:
11:ba1906f151fd
WALL4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ml16c5l 7:0a122d5295d2 1 /*
ml16c5l 7:0a122d5295d2 2 ELEC2645 Embedded Systems Project
ml16c5l 7:0a122d5295d2 3 School of Electronic & Electrical Engineering
ml16c5l 7:0a122d5295d2 4 University of Leeds
ml16c5l 7:0a122d5295d2 5 Name: Caiwenjing Liu
ml16c5l 7:0a122d5295d2 6 Username:ml16c5l
ml16c5l 7:0a122d5295d2 7 Student ID Number: 201165261
ml16c5l 7:0a122d5295d2 8 Date: 11/04/2019
ml16c5l 7:0a122d5295d2 9 */
ml16c5l 7:0a122d5295d2 10
ml16c5l 9:192ad897ec95 11 #include "Wall.h"
ml16c5l 7:0a122d5295d2 12
ml16c5l 7:0a122d5295d2 13 Wall::Wall(){
ml16c5l 7:0a122d5295d2 14 }
ml16c5l 7:0a122d5295d2 15
ml16c5l 7:0a122d5295d2 16 Wall::~Wall(){
ml16c5l 7:0a122d5295d2 17 }
ml16c5l 7:0a122d5295d2 18
ml16c5l 7:0a122d5295d2 19 void Wall::init(int size,int speed)
ml16c5l 7:0a122d5295d2 20 {
ml16c5l 7:0a122d5295d2 21 _size = size;
ml16c5l 9:192ad897ec95 22 _x =0;
ml16c5l 7:0a122d5295d2 23 _y =0 ;
ml16c5l 9:192ad897ec95 24 _velocity.x = speed;
ml16c5l 9:192ad897ec95 25 _velocity.y = speed;
ml16c5l 7:0a122d5295d2 26 }
ml16c5l 7:0a122d5295d2 27
ml16c5l 7:0a122d5295d2 28 void Wall::draw(N5110 &lcd)
ml16c5l 7:0a122d5295d2 29 {
ml16c5l 10:bb273261d33d 30 lcd.drawRect(_x-50, _y, 5, _y+15,FILL_BLACK);
ml16c5l 10:bb273261d33d 31
ml16c5l 10:bb273261d33d 32 lcd.drawRect(_x-20, _y+15, 5, _y+15,FILL_BLACK);
ml16c5l 10:bb273261d33d 33
ml16c5l 10:bb273261d33d 34 lcd.drawRect(_x+10, _y+35, 5,_y+15,FILL_BLACK);
ml16c5l 10:bb273261d33d 35
ml16c5l 10:bb273261d33d 36 lcd.drawRect(_x-60, _y+40, 5, _y+15,FILL_BLACK);
ml16c5l 10:bb273261d33d 37
ml16c5l 7:0a122d5295d2 38
ml16c5l 9:192ad897ec95 39
ml16c5l 7:0a122d5295d2 40
ml16c5l 7:0a122d5295d2 41 }
ml16c5l 7:0a122d5295d2 42
ml16c5l 7:0a122d5295d2 43 void Wall::update()
ml16c5l 7:0a122d5295d2 44 {
ml16c5l 7:0a122d5295d2 45
ml16c5l 7:0a122d5295d2 46 _x -= _velocity.x;
ml16c5l 7:0a122d5295d2 47 if (_x <= 1){
ml16c5l 7:0a122d5295d2 48 _x = WIDTH;
ml16c5l 9:192ad897ec95 49 _y = _y;
ml16c5l 7:0a122d5295d2 50 }
ml16c5l 7:0a122d5295d2 51 }
ml16c5l 7:0a122d5295d2 52
ml16c5l 7:0a122d5295d2 53 void Wall::set_velocity(Vector2D v)
ml16c5l 7:0a122d5295d2 54 {
ml16c5l 7:0a122d5295d2 55 _velocity.x = v.x;
ml16c5l 7:0a122d5295d2 56 _velocity.y = v.y;
ml16c5l 7:0a122d5295d2 57 }
ml16c5l 7:0a122d5295d2 58
ml16c5l 7:0a122d5295d2 59 Vector2D Wall::get_velocity()
ml16c5l 7:0a122d5295d2 60 {
ml16c5l 7:0a122d5295d2 61 Vector2D v = {_velocity.x,_velocity.y};
ml16c5l 7:0a122d5295d2 62 return v;
ml16c5l 7:0a122d5295d2 63 }
ml16c5l 7:0a122d5295d2 64
ml16c5l 7:0a122d5295d2 65 Vector2D Wall::get_pos()
ml16c5l 7:0a122d5295d2 66 {
ml16c5l 7:0a122d5295d2 67 Vector2D p = {_x,_y};
ml16c5l 7:0a122d5295d2 68
ml16c5l 7:0a122d5295d2 69 return p;
ml16c5l 7:0a122d5295d2 70 }
ml16c5l 7:0a122d5295d2 71
ml16c5l 7:0a122d5295d2 72
ml16c5l 7:0a122d5295d2 73 void Wall::set_pos(Vector2D p)
ml16c5l 7:0a122d5295d2 74 {
ml16c5l 7:0a122d5295d2 75 _x = p.x;
ml16c5l 7:0a122d5295d2 76 _y = p.y;
ml16c5l 7:0a122d5295d2 77 }