ELEC2645 (2018/19) / Mbed 2 deprecated ml16c5l

Dependencies:   mbed

Committer:
ml16c5l
Date:
Sun Apr 28 21:32:06 2019 +0000
Revision:
9:192ad897ec95
Parent:
8:ccf827ce0072
Child:
10:bb273261d33d
change wall

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 9:192ad897ec95 30 lcd.drawRect(_x,_y,1,_y+10,FILL_BLACK);
ml16c5l 7:0a122d5295d2 31
ml16c5l 9:192ad897ec95 32 /*lcd.drawRect(_x,_y,_x+5,_y+10,FILL_BLACK);
ml16c5l 9:192ad897ec95 33
ml16c5l 9:192ad897ec95 34 lcd.drawRect(_x+10,_y+33,_x+15,_y+40,FILL_BLACK);*/
ml16c5l 7:0a122d5295d2 35
ml16c5l 7:0a122d5295d2 36
ml16c5l 9:192ad897ec95 37
ml16c5l 7:0a122d5295d2 38
ml16c5l 7:0a122d5295d2 39 }
ml16c5l 7:0a122d5295d2 40
ml16c5l 7:0a122d5295d2 41 void Wall::update()
ml16c5l 7:0a122d5295d2 42 {
ml16c5l 7:0a122d5295d2 43
ml16c5l 7:0a122d5295d2 44 _x -= _velocity.x;
ml16c5l 7:0a122d5295d2 45 if (_x <= 1){
ml16c5l 7:0a122d5295d2 46 _x = WIDTH;
ml16c5l 9:192ad897ec95 47 _y = _y;
ml16c5l 7:0a122d5295d2 48 }
ml16c5l 7:0a122d5295d2 49 }
ml16c5l 7:0a122d5295d2 50
ml16c5l 7:0a122d5295d2 51 void Wall::set_velocity(Vector2D v)
ml16c5l 7:0a122d5295d2 52 {
ml16c5l 7:0a122d5295d2 53 _velocity.x = v.x;
ml16c5l 7:0a122d5295d2 54 _velocity.y = v.y;
ml16c5l 7:0a122d5295d2 55 }
ml16c5l 7:0a122d5295d2 56
ml16c5l 7:0a122d5295d2 57 Vector2D Wall::get_velocity()
ml16c5l 7:0a122d5295d2 58 {
ml16c5l 7:0a122d5295d2 59 Vector2D v = {_velocity.x,_velocity.y};
ml16c5l 7:0a122d5295d2 60 return v;
ml16c5l 7:0a122d5295d2 61 }
ml16c5l 7:0a122d5295d2 62
ml16c5l 7:0a122d5295d2 63 Vector2D Wall::get_pos()
ml16c5l 7:0a122d5295d2 64 {
ml16c5l 7:0a122d5295d2 65 Vector2D p = {_x,_y};
ml16c5l 7:0a122d5295d2 66
ml16c5l 7:0a122d5295d2 67 return p;
ml16c5l 7:0a122d5295d2 68 }
ml16c5l 7:0a122d5295d2 69
ml16c5l 7:0a122d5295d2 70
ml16c5l 7:0a122d5295d2 71 void Wall::set_pos(Vector2D p)
ml16c5l 7:0a122d5295d2 72 {
ml16c5l 7:0a122d5295d2 73 _x = p.x;
ml16c5l 7:0a122d5295d2 74 _y = p.y;
ml16c5l 7:0a122d5295d2 75 }