ELEC2645 (2018/19) / Mbed 2 deprecated ml16c5l

Dependencies:   mbed

Committer:
ml16c5l
Date:
Fri Apr 19 05:22:02 2019 +0000
Revision:
7:0a122d5295d2
Child:
8:ccf827ce0072
the start of wall.cpp and wall.h

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 7:0a122d5295d2 11 #include "Walls.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 7:0a122d5295d2 22 _x = WIDTH;
ml16c5l 7:0a122d5295d2 23 _y =0 ;
ml16c5l 7:0a122d5295d2 24 srand(time(NULL));
ml16c5l 7:0a122d5295d2 25 int di = 0; // randomise the direction.
ml16c5l 7:0a122d5295d2 26 if (di == 0) {
ml16c5l 7:0a122d5295d2 27 _velocity.x = speed;
ml16c5l 7:0a122d5295d2 28 _velocity.y = 1;
ml16c5l 7:0a122d5295d2 29 }
ml16c5l 7:0a122d5295d2 30 }
ml16c5l 7:0a122d5295d2 31
ml16c5l 7:0a122d5295d2 32 void Wall::draw(N5110 &lcd)
ml16c5l 7:0a122d5295d2 33 {
ml16c5l 7:0a122d5295d2 34 /* lcd.drawRect(_x+1,_y+1,_x+40,_y+1,FILL_BLACK);
ml16c5l 7:0a122d5295d2 35 lcd.drawRect(_x+5,_y+2,_x+36,_y+2,FILL_BLACK);
ml16c5l 7:0a122d5295d2 36 lcd.drawRect(_x+10,_y+3,_x+31,_y+3,FILL_BLACK);
ml16c5l 7:0a122d5295d2 37 lcd.drawRect(_x+15,_y+4,_x+26,_y+4,FILL_BLACK);
ml16c5l 7:0a122d5295d2 38 lcd.drawRect(_x+17,_y+5,_x+23,_y+5,FILL_BLACK);
ml16c5l 7:0a122d5295d2 39 lcd.drawRect(_x+19,_y+6,_x+21,_y+6,FILL_BLACK);*/
ml16c5l 7:0a122d5295d2 40
ml16c5l 7:0a122d5295d2 41 lcd.drawRect(_x,_y,_x+10,_y+10,FILL_BLACK);
ml16c5l 7:0a122d5295d2 42 // lcd.drawRect(_x+20,_y,_x+30,_y+10,FILL_BLACK);
ml16c5l 7:0a122d5295d2 43 lcd.drawRect(_x+10,_y+33,_x+20,_y+40,FILL_BLACK);
ml16c5l 7:0a122d5295d2 44
ml16c5l 7:0a122d5295d2 45
ml16c5l 7:0a122d5295d2 46
ml16c5l 7:0a122d5295d2 47
ml16c5l 7:0a122d5295d2 48 }
ml16c5l 7:0a122d5295d2 49
ml16c5l 7:0a122d5295d2 50 void Wall::update()
ml16c5l 7:0a122d5295d2 51 {
ml16c5l 7:0a122d5295d2 52
ml16c5l 7:0a122d5295d2 53 _x -= _velocity.x;
ml16c5l 7:0a122d5295d2 54 if (_x <= 1){
ml16c5l 7:0a122d5295d2 55 _x = WIDTH;
ml16c5l 7:0a122d5295d2 56 _y = 0;
ml16c5l 7:0a122d5295d2 57 }
ml16c5l 7:0a122d5295d2 58 }
ml16c5l 7:0a122d5295d2 59
ml16c5l 7:0a122d5295d2 60 void Wall::set_velocity(Vector2D v)
ml16c5l 7:0a122d5295d2 61 {
ml16c5l 7:0a122d5295d2 62 _velocity.x = v.x;
ml16c5l 7:0a122d5295d2 63 _velocity.y = v.y;
ml16c5l 7:0a122d5295d2 64 }
ml16c5l 7:0a122d5295d2 65
ml16c5l 7:0a122d5295d2 66 Vector2D Wall::get_velocity()
ml16c5l 7:0a122d5295d2 67 {
ml16c5l 7:0a122d5295d2 68 Vector2D v = {_velocity.x,_velocity.y};
ml16c5l 7:0a122d5295d2 69 return v;
ml16c5l 7:0a122d5295d2 70 }
ml16c5l 7:0a122d5295d2 71
ml16c5l 7:0a122d5295d2 72 Vector2D Wall::get_pos()
ml16c5l 7:0a122d5295d2 73 {
ml16c5l 7:0a122d5295d2 74 Vector2D p = {_x,_y};
ml16c5l 7:0a122d5295d2 75
ml16c5l 7:0a122d5295d2 76 return p;
ml16c5l 7:0a122d5295d2 77 }
ml16c5l 7:0a122d5295d2 78
ml16c5l 7:0a122d5295d2 79
ml16c5l 7:0a122d5295d2 80 void Wall::set_pos(Vector2D p)
ml16c5l 7:0a122d5295d2 81 {
ml16c5l 7:0a122d5295d2 82 _x = p.x;
ml16c5l 7:0a122d5295d2 83 _y = p.y;
ml16c5l 7:0a122d5295d2 84 }