ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Tue Mar 19 11:34:21 2019 +0000
Revision:
6:8741d2011692
Child:
8:5327418f823a
Added a Map class, which is used to continuously generate moving platforms with gaps along the bottom of the LCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lewisgw 6:8741d2011692 1 #include "Map.h"
lewisgw 6:8741d2011692 2
lewisgw 6:8741d2011692 3 Map::Map(){}
lewisgw 6:8741d2011692 4
lewisgw 6:8741d2011692 5 Map::~Map(){}
lewisgw 6:8741d2011692 6
lewisgw 6:8741d2011692 7 void Map::init() {
lewisgw 6:8741d2011692 8 _line_1.x_start = 0;
lewisgw 6:8741d2011692 9 _line_1.x_end = 15;
lewisgw 6:8741d2011692 10 _line_1.y = 40;
lewisgw 6:8741d2011692 11 _line_2.x_start = 25;
lewisgw 6:8741d2011692 12 _line_2.x_end = 40;
lewisgw 6:8741d2011692 13 _line_2.y = 40;
lewisgw 6:8741d2011692 14 _line_3.x_start = 50;
lewisgw 6:8741d2011692 15 _line_3.x_end = 80;
lewisgw 6:8741d2011692 16 _line_3.y = 40;
lewisgw 6:8741d2011692 17 }
lewisgw 6:8741d2011692 18
lewisgw 6:8741d2011692 19
lewisgw 6:8741d2011692 20 void Map::generate_line_1(int length) {
lewisgw 6:8741d2011692 21 _line_1.x_start--;
lewisgw 6:8741d2011692 22 if(_line_1.x_start < 80 - length) {
lewisgw 6:8741d2011692 23 _line_1.x_end--;
lewisgw 6:8741d2011692 24 }
lewisgw 6:8741d2011692 25 if(_line_1.x_start <= 0) {
lewisgw 6:8741d2011692 26 _line_1.x_start = 0;
lewisgw 6:8741d2011692 27 }
lewisgw 6:8741d2011692 28 if(_line_1.x_end <= 0) {
lewisgw 6:8741d2011692 29 _line_1.x_start = 80;
lewisgw 6:8741d2011692 30 _line_1.x_end = 80;
lewisgw 6:8741d2011692 31 }
lewisgw 6:8741d2011692 32 }
lewisgw 6:8741d2011692 33
lewisgw 6:8741d2011692 34
lewisgw 6:8741d2011692 35 void Map::generate_line_2(int length) {
lewisgw 6:8741d2011692 36 _line_2.x_start--;
lewisgw 6:8741d2011692 37 if(_line_2.x_start < 80 - length) {
lewisgw 6:8741d2011692 38 _line_2.x_end--;
lewisgw 6:8741d2011692 39 }
lewisgw 6:8741d2011692 40 if(_line_2.x_start <= 0) {
lewisgw 6:8741d2011692 41 _line_2.x_start = 0;
lewisgw 6:8741d2011692 42 }
lewisgw 6:8741d2011692 43 if(_line_2.x_end <= 0) {
lewisgw 6:8741d2011692 44 _line_2.x_start = 80;
lewisgw 6:8741d2011692 45 _line_2.x_end = 80;
lewisgw 6:8741d2011692 46 }
lewisgw 6:8741d2011692 47
lewisgw 6:8741d2011692 48 }
lewisgw 6:8741d2011692 49
lewisgw 6:8741d2011692 50 void Map::generate_line_3(int length) {
lewisgw 6:8741d2011692 51 _line_3.x_start--;
lewisgw 6:8741d2011692 52 if(_line_3.x_start < 80 - length) {
lewisgw 6:8741d2011692 53 _line_3.x_end--;
lewisgw 6:8741d2011692 54 }
lewisgw 6:8741d2011692 55 if(_line_3.x_start <= 0) {
lewisgw 6:8741d2011692 56 _line_3.x_start = 0;
lewisgw 6:8741d2011692 57 }
lewisgw 6:8741d2011692 58 if(_line_3.x_end <= 0) {
lewisgw 6:8741d2011692 59 _line_3.x_start = 80;
lewisgw 6:8741d2011692 60 _line_3.x_end = 80;
lewisgw 6:8741d2011692 61 }
lewisgw 6:8741d2011692 62
lewisgw 6:8741d2011692 63 }
lewisgw 6:8741d2011692 64
lewisgw 6:8741d2011692 65
lewisgw 6:8741d2011692 66
lewisgw 6:8741d2011692 67 Line Map::get_line_1() {
lewisgw 6:8741d2011692 68 return _line_1;
lewisgw 6:8741d2011692 69 }
lewisgw 6:8741d2011692 70
lewisgw 6:8741d2011692 71
lewisgw 6:8741d2011692 72 Line Map::get_line_2() {
lewisgw 6:8741d2011692 73 return _line_2;
lewisgw 6:8741d2011692 74 }
lewisgw 6:8741d2011692 75
lewisgw 6:8741d2011692 76 Line Map::get_line_3() {
lewisgw 6:8741d2011692 77 return _line_3;
lewisgw 6:8741d2011692 78 }
lewisgw 6:8741d2011692 79
lewisgw 6:8741d2011692 80
lewisgw 6:8741d2011692 81 /*
lewisgw 6:8741d2011692 82 if(_line_1.x_end < (80 - gap_size)) { // only start moving line 2 if the gap has passed
lewisgw 6:8741d2011692 83 _line_2_counter = 1;
lewisgw 6:8741d2011692 84 } else {
lewisgw 6:8741d2011692 85 _line_2_counter = 0;
lewisgw 6:8741d2011692 86 }
lewisgw 6:8741d2011692 87 _line_2.x_start = _line_2.x_start - _line_2_counter; // on every iteration increase size of line 2, fixed on RHS and increasing on LHS
lewisgw 6:8741d2011692 88 _line_2.x_end = _line_2.x_start + 80;
lewisgw 6:8741d2011692 89 if(_line_2.x_end > 81) {
lewisgw 6:8741d2011692 90 _line_2.x_end = 80; // ensure ends at 80 TEST THIS ON ITS OWN
lewisgw 6:8741d2011692 91 }
lewisgw 6:8741d2011692 92
lewisgw 6:8741d2011692 93 if(_line_2.x_start == 1) {
lewisgw 6:8741d2011692 94 _line_1.x_start = 0;
lewisgw 6:8741d2011692 95 _line_1.x_end = 80;
lewisgw 6:8741d2011692 96 _line_2.x_start = 80;
lewisgw 6:8741d2011692 97 _line_2.x_end = 80;
lewisgw 6:8741d2011692 98 }
lewisgw 6:8741d2011692 99 */