Adam Baker 201166301
Dependencies: mbed Gamepad N5110
Levels/Levels.cpp@50:9fc8edf722a8, 2019-05-09 (annotated)
- Committer:
- adambakerwa
- Date:
- Thu May 09 12:10:41 2019 +0000
- Revision:
- 50:9fc8edf722a8
Final Submission. I have read and agreed with Statement of Academic Integrity
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adambakerwa | 50:9fc8edf722a8 | 1 | #include "mbed.h" |
adambakerwa | 50:9fc8edf722a8 | 2 | #include "Gamepad.h" |
adambakerwa | 50:9fc8edf722a8 | 3 | #include "N5110.h" |
adambakerwa | 50:9fc8edf722a8 | 4 | #include "Levels.h" |
adambakerwa | 50:9fc8edf722a8 | 5 | |
adambakerwa | 50:9fc8edf722a8 | 6 | |
adambakerwa | 50:9fc8edf722a8 | 7 | |
adambakerwa | 50:9fc8edf722a8 | 8 | // nothing doing in the constructor and destructor |
adambakerwa | 50:9fc8edf722a8 | 9 | Levels::Levels() |
adambakerwa | 50:9fc8edf722a8 | 10 | { |
adambakerwa | 50:9fc8edf722a8 | 11 | |
adambakerwa | 50:9fc8edf722a8 | 12 | } |
adambakerwa | 50:9fc8edf722a8 | 13 | |
adambakerwa | 50:9fc8edf722a8 | 14 | Levels::~Levels() |
adambakerwa | 50:9fc8edf722a8 | 15 | { |
adambakerwa | 50:9fc8edf722a8 | 16 | |
adambakerwa | 50:9fc8edf722a8 | 17 | } |
adambakerwa | 50:9fc8edf722a8 | 18 | |
adambakerwa | 50:9fc8edf722a8 | 19 | |
adambakerwa | 50:9fc8edf722a8 | 20 | //initializes all variables and pos struct. |
adambakerwa | 50:9fc8edf722a8 | 21 | Pos Levels::init(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 22 | { |
adambakerwa | 50:9fc8edf722a8 | 23 | |
adambakerwa | 50:9fc8edf722a8 | 24 | pos = init_hoz1(pos); //initialises hoz1 part of struct |
adambakerwa | 50:9fc8edf722a8 | 25 | pos = init_hoz2(pos); //initialises hoz2 part of struct |
adambakerwa | 50:9fc8edf722a8 | 26 | pos = init_ver1(pos); //initialises ver1 part of struct |
adambakerwa | 50:9fc8edf722a8 | 27 | pos = init_ver2(pos); //initialises ver2 part of struct |
adambakerwa | 50:9fc8edf722a8 | 28 | pos = init_spike(pos); //initialises spike part of struct |
adambakerwa | 50:9fc8edf722a8 | 29 | |
adambakerwa | 50:9fc8edf722a8 | 30 | init_counter1(); //initialises counter1 |
adambakerwa | 50:9fc8edf722a8 | 31 | init_counter2(); //initialises counter2 |
adambakerwa | 50:9fc8edf722a8 | 32 | |
adambakerwa | 50:9fc8edf722a8 | 33 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 34 | } |
adambakerwa | 50:9fc8edf722a8 | 35 | |
adambakerwa | 50:9fc8edf722a8 | 36 | |
adambakerwa | 50:9fc8edf722a8 | 37 | //initializes data for horizontal moving platform 1 |
adambakerwa | 50:9fc8edf722a8 | 38 | Pos Levels::init_hoz1(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 39 | { |
adambakerwa | 50:9fc8edf722a8 | 40 | pos.x = 0; //x cord |
adambakerwa | 50:9fc8edf722a8 | 41 | pos.y = 0; //y cord |
adambakerwa | 50:9fc8edf722a8 | 42 | pos.d = 0; //dircection |
adambakerwa | 50:9fc8edf722a8 | 43 | pos.c = 0; //counter |
adambakerwa | 50:9fc8edf722a8 | 44 | pos.l = 0; //length |
adambakerwa | 50:9fc8edf722a8 | 45 | pos.h = 0; //height |
adambakerwa | 50:9fc8edf722a8 | 46 | |
adambakerwa | 50:9fc8edf722a8 | 47 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 48 | } |
adambakerwa | 50:9fc8edf722a8 | 49 | |
adambakerwa | 50:9fc8edf722a8 | 50 | |
adambakerwa | 50:9fc8edf722a8 | 51 | //initializes data for horizontal moving platform 2 |
adambakerwa | 50:9fc8edf722a8 | 52 | Pos Levels::init_hoz2(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 53 | { |
adambakerwa | 50:9fc8edf722a8 | 54 | pos.x2 = 0; //x cord |
adambakerwa | 50:9fc8edf722a8 | 55 | pos.y2 = 0; //y cord |
adambakerwa | 50:9fc8edf722a8 | 56 | pos.d2 = 0; //dircection |
adambakerwa | 50:9fc8edf722a8 | 57 | pos.c2 = 0; //counter |
adambakerwa | 50:9fc8edf722a8 | 58 | pos.l2 = 0; //length |
adambakerwa | 50:9fc8edf722a8 | 59 | pos.h2 = 0; //height |
adambakerwa | 50:9fc8edf722a8 | 60 | |
adambakerwa | 50:9fc8edf722a8 | 61 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 62 | } |
adambakerwa | 50:9fc8edf722a8 | 63 | |
adambakerwa | 50:9fc8edf722a8 | 64 | |
adambakerwa | 50:9fc8edf722a8 | 65 | //initializes data for vertical moving platform 1 |
adambakerwa | 50:9fc8edf722a8 | 66 | Pos Levels::init_ver1(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 67 | { |
adambakerwa | 50:9fc8edf722a8 | 68 | pos.vx = 0; //x cord |
adambakerwa | 50:9fc8edf722a8 | 69 | pos.vy = 0; //y cord |
adambakerwa | 50:9fc8edf722a8 | 70 | pos.vd = 0; //dircection |
adambakerwa | 50:9fc8edf722a8 | 71 | pos.vc = 0; //counter |
adambakerwa | 50:9fc8edf722a8 | 72 | pos.vl = 0; //length |
adambakerwa | 50:9fc8edf722a8 | 73 | pos.vh = 0; //height |
adambakerwa | 50:9fc8edf722a8 | 74 | |
adambakerwa | 50:9fc8edf722a8 | 75 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 76 | } |
adambakerwa | 50:9fc8edf722a8 | 77 | |
adambakerwa | 50:9fc8edf722a8 | 78 | |
adambakerwa | 50:9fc8edf722a8 | 79 | //initializes data for vertical moving platform 1 |
adambakerwa | 50:9fc8edf722a8 | 80 | Pos Levels::init_ver2(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 81 | { |
adambakerwa | 50:9fc8edf722a8 | 82 | pos.vx2 = 0; //x cord |
adambakerwa | 50:9fc8edf722a8 | 83 | pos.vy2 = 0; //y cprd |
adambakerwa | 50:9fc8edf722a8 | 84 | pos.vd2 = 0; //dircection |
adambakerwa | 50:9fc8edf722a8 | 85 | pos.vc2 = 0; //counter |
adambakerwa | 50:9fc8edf722a8 | 86 | pos.vl2 = 0; //length |
adambakerwa | 50:9fc8edf722a8 | 87 | pos.vh2 = 0; //heighht |
adambakerwa | 50:9fc8edf722a8 | 88 | |
adambakerwa | 50:9fc8edf722a8 | 89 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 90 | } |
adambakerwa | 50:9fc8edf722a8 | 91 | |
adambakerwa | 50:9fc8edf722a8 | 92 | |
adambakerwa | 50:9fc8edf722a8 | 93 | //initializes data for spikes |
adambakerwa | 50:9fc8edf722a8 | 94 | Pos Levels::init_spike(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 95 | { |
adambakerwa | 50:9fc8edf722a8 | 96 | pos.sx = 0; |
adambakerwa | 50:9fc8edf722a8 | 97 | pos.sy = 0; |
adambakerwa | 50:9fc8edf722a8 | 98 | pos.sl = 0; |
adambakerwa | 50:9fc8edf722a8 | 99 | |
adambakerwa | 50:9fc8edf722a8 | 100 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 101 | } |
adambakerwa | 50:9fc8edf722a8 | 102 | |
adambakerwa | 50:9fc8edf722a8 | 103 | |
adambakerwa | 50:9fc8edf722a8 | 104 | //initializes counter 1 |
adambakerwa | 50:9fc8edf722a8 | 105 | void Levels::init_counter1() |
adambakerwa | 50:9fc8edf722a8 | 106 | { |
adambakerwa | 50:9fc8edf722a8 | 107 | _counter1 = 0; |
adambakerwa | 50:9fc8edf722a8 | 108 | |
adambakerwa | 50:9fc8edf722a8 | 109 | } |
adambakerwa | 50:9fc8edf722a8 | 110 | |
adambakerwa | 50:9fc8edf722a8 | 111 | |
adambakerwa | 50:9fc8edf722a8 | 112 | //initializes counter 2 |
adambakerwa | 50:9fc8edf722a8 | 113 | void Levels::init_counter2() |
adambakerwa | 50:9fc8edf722a8 | 114 | { |
adambakerwa | 50:9fc8edf722a8 | 115 | _counter2 = 0; |
adambakerwa | 50:9fc8edf722a8 | 116 | |
adambakerwa | 50:9fc8edf722a8 | 117 | } |
adambakerwa | 50:9fc8edf722a8 | 118 | |
adambakerwa | 50:9fc8edf722a8 | 119 | |
adambakerwa | 50:9fc8edf722a8 | 120 | //Creates a horizontal moving platform, and returns cordinates to pos struct |
adambakerwa | 50:9fc8edf722a8 | 121 | Pos Levels::moving_platform_hoz(N5110 &lcd, Pos pos, int x, int y, int w, int h, int dx, int s) //x cord, y cord, width, hight, move too point, initial starting point. |
adambakerwa | 50:9fc8edf722a8 | 122 | { |
adambakerwa | 50:9fc8edf722a8 | 123 | |
adambakerwa | 50:9fc8edf722a8 | 124 | if (pos.c == 0) { //sets counter to start point on first run, |
adambakerwa | 50:9fc8edf722a8 | 125 | pos.c = s; //pos.c never returns to 0, so it only happens when the level loads |
adambakerwa | 50:9fc8edf722a8 | 126 | } |
adambakerwa | 50:9fc8edf722a8 | 127 | |
adambakerwa | 50:9fc8edf722a8 | 128 | if (pos.d == 0) { //if direction is 0, move right |
adambakerwa | 50:9fc8edf722a8 | 129 | pos.c++; |
adambakerwa | 50:9fc8edf722a8 | 130 | } else { //if direction is 1, move left |
adambakerwa | 50:9fc8edf722a8 | 131 | pos.c--; |
adambakerwa | 50:9fc8edf722a8 | 132 | } |
adambakerwa | 50:9fc8edf722a8 | 133 | |
adambakerwa | 50:9fc8edf722a8 | 134 | if (pos.c == dx || pos.c == 1 ) { //when moving platform meets dx (move to point) direction pivots, |
adambakerwa | 50:9fc8edf722a8 | 135 | pos.d = !pos.d; //same again, when moving platform reaches 1 |
adambakerwa | 50:9fc8edf722a8 | 136 | } |
adambakerwa | 50:9fc8edf722a8 | 137 | |
adambakerwa | 50:9fc8edf722a8 | 138 | pos.x = x + pos.c; //pass x cord + counter to pos struct |
adambakerwa | 50:9fc8edf722a8 | 139 | pos.y = y; //pass y cord to pos struct |
adambakerwa | 50:9fc8edf722a8 | 140 | pos.l = w; //pass width to pos struct |
adambakerwa | 50:9fc8edf722a8 | 141 | |
adambakerwa | 50:9fc8edf722a8 | 142 | |
adambakerwa | 50:9fc8edf722a8 | 143 | lcd.drawLine(pos.x, pos.y, pos.x + w, pos.y, 1); //draw the moving platform using specified width and height parameters |
adambakerwa | 50:9fc8edf722a8 | 144 | lcd.drawLine(pos.x, pos.y+h, pos.x + w, pos.y+h, 1); |
adambakerwa | 50:9fc8edf722a8 | 145 | lcd.drawLine(pos.x, pos.y, pos.x, pos.y+h, 1); |
adambakerwa | 50:9fc8edf722a8 | 146 | lcd.drawLine(pos.x+w, pos.y, pos.x +w, pos.y+h, 1); |
adambakerwa | 50:9fc8edf722a8 | 147 | |
adambakerwa | 50:9fc8edf722a8 | 148 | return pos; //return pos (the position and state of the moving platform) |
adambakerwa | 50:9fc8edf722a8 | 149 | } |
adambakerwa | 50:9fc8edf722a8 | 150 | |
adambakerwa | 50:9fc8edf722a8 | 151 | |
adambakerwa | 50:9fc8edf722a8 | 152 | //Creates a vertical moving platform, and returns cordinates to pos struct |
adambakerwa | 50:9fc8edf722a8 | 153 | Pos Levels::moving_platform_ver(N5110 &lcd, Pos pos, int x, int y, int h, int w, int dx, int s) //x cord, y cord, width, hight, move too point, initial starting point. |
adambakerwa | 50:9fc8edf722a8 | 154 | { |
adambakerwa | 50:9fc8edf722a8 | 155 | if (pos.c == 0) { //sets counter to start point on first run, |
adambakerwa | 50:9fc8edf722a8 | 156 | pos.c = s; //pos.c never returns to 0, so it only happens when the level loads |
adambakerwa | 50:9fc8edf722a8 | 157 | } |
adambakerwa | 50:9fc8edf722a8 | 158 | |
adambakerwa | 50:9fc8edf722a8 | 159 | if (pos.d == 0) { //if direction is 0, move down |
adambakerwa | 50:9fc8edf722a8 | 160 | pos.c++; |
adambakerwa | 50:9fc8edf722a8 | 161 | } else { //if direction is 1, move up |
adambakerwa | 50:9fc8edf722a8 | 162 | pos.c--; |
adambakerwa | 50:9fc8edf722a8 | 163 | } |
adambakerwa | 50:9fc8edf722a8 | 164 | |
adambakerwa | 50:9fc8edf722a8 | 165 | if (pos.c == dx || pos.c == 1 ) { //when moving platform meets dx (move to point) direction pivots, |
adambakerwa | 50:9fc8edf722a8 | 166 | pos.d = !pos.d; //same again, when moving platform reaches 1 |
adambakerwa | 50:9fc8edf722a8 | 167 | } |
adambakerwa | 50:9fc8edf722a8 | 168 | |
adambakerwa | 50:9fc8edf722a8 | 169 | pos.x = x; //pass x cord to pos struct |
adambakerwa | 50:9fc8edf722a8 | 170 | pos.y = y + pos.c; //pass y cord + counter to pos struct |
adambakerwa | 50:9fc8edf722a8 | 171 | pos.l = w; //pass width to pos struct |
adambakerwa | 50:9fc8edf722a8 | 172 | pos.h = h; //pass height to pos struct |
adambakerwa | 50:9fc8edf722a8 | 173 | |
adambakerwa | 50:9fc8edf722a8 | 174 | lcd.drawLine(pos.x, pos.y, pos.x, pos.y+h, 1); //draw the moving platform using specified width and height parameters |
adambakerwa | 50:9fc8edf722a8 | 175 | lcd.drawLine(pos.x, pos.y, pos.x+w, pos.y, 1); |
adambakerwa | 50:9fc8edf722a8 | 176 | lcd.drawLine(pos.x+w, pos.y, pos.x+w, pos.y+h, 1); |
adambakerwa | 50:9fc8edf722a8 | 177 | lcd.drawLine(pos.x, pos.y+h, pos.x+w, pos.y+h, 1); |
adambakerwa | 50:9fc8edf722a8 | 178 | |
adambakerwa | 50:9fc8edf722a8 | 179 | return pos; //return pos (the position and state of the moving platform) |
adambakerwa | 50:9fc8edf722a8 | 180 | } |
adambakerwa | 50:9fc8edf722a8 | 181 | |
adambakerwa | 50:9fc8edf722a8 | 182 | |
adambakerwa | 50:9fc8edf722a8 | 183 | //print a singular spike at x, y |
adambakerwa | 50:9fc8edf722a8 | 184 | void Levels::spike_up(N5110 &lcd, int x, int y) |
adambakerwa | 50:9fc8edf722a8 | 185 | { |
adambakerwa | 50:9fc8edf722a8 | 186 | |
adambakerwa | 50:9fc8edf722a8 | 187 | lcd.setPixel(x, y, true); |
adambakerwa | 50:9fc8edf722a8 | 188 | lcd.setPixel(x+1, y-1, true); |
adambakerwa | 50:9fc8edf722a8 | 189 | lcd.setPixel(x+1, y-2, true); |
adambakerwa | 50:9fc8edf722a8 | 190 | lcd.setPixel(x+2, y, true); |
adambakerwa | 50:9fc8edf722a8 | 191 | } |
adambakerwa | 50:9fc8edf722a8 | 192 | |
adambakerwa | 50:9fc8edf722a8 | 193 | |
adambakerwa | 50:9fc8edf722a8 | 194 | //print a row of spikes of 'n' length, at x y |
adambakerwa | 50:9fc8edf722a8 | 195 | Pos Levels::spike_row_up(N5110 &lcd, Pos pos, int x, int y, int n) |
adambakerwa | 50:9fc8edf722a8 | 196 | { |
adambakerwa | 50:9fc8edf722a8 | 197 | |
adambakerwa | 50:9fc8edf722a8 | 198 | for (int i = 0; i < n; i++) { //for n times, |
adambakerwa | 50:9fc8edf722a8 | 199 | spike_up(lcd, x+i*2, y); //draw a spike |
adambakerwa | 50:9fc8edf722a8 | 200 | } |
adambakerwa | 50:9fc8edf722a8 | 201 | |
adambakerwa | 50:9fc8edf722a8 | 202 | pos.sx = x; //pass cordinatres to pos struct |
adambakerwa | 50:9fc8edf722a8 | 203 | pos.sy = y; //pass cordinates to pos struct |
adambakerwa | 50:9fc8edf722a8 | 204 | pos.sl = n*2 +1; //pass cordinates to pos struct |
adambakerwa | 50:9fc8edf722a8 | 205 | |
adambakerwa | 50:9fc8edf722a8 | 206 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 207 | } |
adambakerwa | 50:9fc8edf722a8 | 208 | |
adambakerwa | 50:9fc8edf722a8 | 209 | |
adambakerwa | 50:9fc8edf722a8 | 210 | //depending on input, print following levels |
adambakerwa | 50:9fc8edf722a8 | 211 | Pos Levels::what_level(N5110 &lcd, int level) |
adambakerwa | 50:9fc8edf722a8 | 212 | { |
adambakerwa | 50:9fc8edf722a8 | 213 | switch (level) { |
adambakerwa | 50:9fc8edf722a8 | 214 | case 0: |
adambakerwa | 50:9fc8edf722a8 | 215 | _pos = level_zero(lcd); |
adambakerwa | 50:9fc8edf722a8 | 216 | break; |
adambakerwa | 50:9fc8edf722a8 | 217 | case 1: |
adambakerwa | 50:9fc8edf722a8 | 218 | _pos = level_one(lcd); |
adambakerwa | 50:9fc8edf722a8 | 219 | break; |
adambakerwa | 50:9fc8edf722a8 | 220 | case 2: |
adambakerwa | 50:9fc8edf722a8 | 221 | _pos = level_two(lcd); |
adambakerwa | 50:9fc8edf722a8 | 222 | break; |
adambakerwa | 50:9fc8edf722a8 | 223 | case 3: |
adambakerwa | 50:9fc8edf722a8 | 224 | _pos = level_three(lcd); |
adambakerwa | 50:9fc8edf722a8 | 225 | break; |
adambakerwa | 50:9fc8edf722a8 | 226 | case 4: |
adambakerwa | 50:9fc8edf722a8 | 227 | _pos = level_four(lcd); |
adambakerwa | 50:9fc8edf722a8 | 228 | break; |
adambakerwa | 50:9fc8edf722a8 | 229 | case 5: |
adambakerwa | 50:9fc8edf722a8 | 230 | _pos = level_five(lcd); |
adambakerwa | 50:9fc8edf722a8 | 231 | break; |
adambakerwa | 50:9fc8edf722a8 | 232 | case 6: |
adambakerwa | 50:9fc8edf722a8 | 233 | _pos = level_six(lcd); |
adambakerwa | 50:9fc8edf722a8 | 234 | break; |
adambakerwa | 50:9fc8edf722a8 | 235 | case 7: |
adambakerwa | 50:9fc8edf722a8 | 236 | _pos = level_seven(lcd); |
adambakerwa | 50:9fc8edf722a8 | 237 | break; |
adambakerwa | 50:9fc8edf722a8 | 238 | case 8: |
adambakerwa | 50:9fc8edf722a8 | 239 | _pos = level_eight(lcd); |
adambakerwa | 50:9fc8edf722a8 | 240 | break; |
adambakerwa | 50:9fc8edf722a8 | 241 | case 9: |
adambakerwa | 50:9fc8edf722a8 | 242 | _pos = level_nine(lcd); |
adambakerwa | 50:9fc8edf722a8 | 243 | break; |
adambakerwa | 50:9fc8edf722a8 | 244 | case 10: |
adambakerwa | 50:9fc8edf722a8 | 245 | _pos = level_ten(lcd); |
adambakerwa | 50:9fc8edf722a8 | 246 | break; |
adambakerwa | 50:9fc8edf722a8 | 247 | default: |
adambakerwa | 50:9fc8edf722a8 | 248 | exit(1); |
adambakerwa | 50:9fc8edf722a8 | 249 | break; |
adambakerwa | 50:9fc8edf722a8 | 250 | } |
adambakerwa | 50:9fc8edf722a8 | 251 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 252 | } |
adambakerwa | 50:9fc8edf722a8 | 253 | |
adambakerwa | 50:9fc8edf722a8 | 254 | |
adambakerwa | 50:9fc8edf722a8 | 255 | //transfer hoz1 into spare variables of original pos struct. |
adambakerwa | 50:9fc8edf722a8 | 256 | Pos Levels::pass_data_hoz1(Pos pos, Pos hoz) |
adambakerwa | 50:9fc8edf722a8 | 257 | { |
adambakerwa | 50:9fc8edf722a8 | 258 | pos.x = hoz.x; |
adambakerwa | 50:9fc8edf722a8 | 259 | pos.y = hoz.y; |
adambakerwa | 50:9fc8edf722a8 | 260 | pos.d = hoz.d; |
adambakerwa | 50:9fc8edf722a8 | 261 | pos.c = hoz.c; |
adambakerwa | 50:9fc8edf722a8 | 262 | pos.l = hoz.l; |
adambakerwa | 50:9fc8edf722a8 | 263 | pos.h = hoz.h; |
adambakerwa | 50:9fc8edf722a8 | 264 | |
adambakerwa | 50:9fc8edf722a8 | 265 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 266 | } |
adambakerwa | 50:9fc8edf722a8 | 267 | |
adambakerwa | 50:9fc8edf722a8 | 268 | |
adambakerwa | 50:9fc8edf722a8 | 269 | //transfer hoz2 into spare variables of original pos struct. |
adambakerwa | 50:9fc8edf722a8 | 270 | Pos Levels::pass_data_hoz2(Pos pos, Pos hoz2) |
adambakerwa | 50:9fc8edf722a8 | 271 | { |
adambakerwa | 50:9fc8edf722a8 | 272 | pos.x2 = hoz2.x; |
adambakerwa | 50:9fc8edf722a8 | 273 | pos.y2 = hoz2.y; |
adambakerwa | 50:9fc8edf722a8 | 274 | pos.d2 = hoz2.d; |
adambakerwa | 50:9fc8edf722a8 | 275 | pos.c2 = hoz2.c; |
adambakerwa | 50:9fc8edf722a8 | 276 | pos.l2 = hoz2.l; |
adambakerwa | 50:9fc8edf722a8 | 277 | pos.h2 = hoz2.h; |
adambakerwa | 50:9fc8edf722a8 | 278 | |
adambakerwa | 50:9fc8edf722a8 | 279 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 280 | } |
adambakerwa | 50:9fc8edf722a8 | 281 | |
adambakerwa | 50:9fc8edf722a8 | 282 | |
adambakerwa | 50:9fc8edf722a8 | 283 | //transfer ver into spare variables of original pos struct. |
adambakerwa | 50:9fc8edf722a8 | 284 | Pos Levels::pass_data_ver1(Pos pos, Pos ver) |
adambakerwa | 50:9fc8edf722a8 | 285 | { |
adambakerwa | 50:9fc8edf722a8 | 286 | pos.vx = ver.x; |
adambakerwa | 50:9fc8edf722a8 | 287 | pos.vy = ver.y; |
adambakerwa | 50:9fc8edf722a8 | 288 | pos.vd = ver.d; |
adambakerwa | 50:9fc8edf722a8 | 289 | pos.vc = ver.c; |
adambakerwa | 50:9fc8edf722a8 | 290 | pos.vl = ver.l; |
adambakerwa | 50:9fc8edf722a8 | 291 | pos.vh = ver.h; |
adambakerwa | 50:9fc8edf722a8 | 292 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 293 | } |
adambakerwa | 50:9fc8edf722a8 | 294 | |
adambakerwa | 50:9fc8edf722a8 | 295 | |
adambakerwa | 50:9fc8edf722a8 | 296 | //transfer ver2 into spare variables of original pos struct. |
adambakerwa | 50:9fc8edf722a8 | 297 | Pos Levels::pass_data_ver2(Pos pos, Pos ver2) |
adambakerwa | 50:9fc8edf722a8 | 298 | { |
adambakerwa | 50:9fc8edf722a8 | 299 | pos.vx2 = ver2.x; |
adambakerwa | 50:9fc8edf722a8 | 300 | pos.vy2 = ver2.y; |
adambakerwa | 50:9fc8edf722a8 | 301 | pos.vd2 = ver2.d; |
adambakerwa | 50:9fc8edf722a8 | 302 | pos.vc2 = ver2.c; |
adambakerwa | 50:9fc8edf722a8 | 303 | pos.vl2 = ver2.l; |
adambakerwa | 50:9fc8edf722a8 | 304 | pos.vh2 = ver2.h; |
adambakerwa | 50:9fc8edf722a8 | 305 | |
adambakerwa | 50:9fc8edf722a8 | 306 | return pos; |
adambakerwa | 50:9fc8edf722a8 | 307 | } |
adambakerwa | 50:9fc8edf722a8 | 308 | |
adambakerwa | 50:9fc8edf722a8 | 309 | |
adambakerwa | 50:9fc8edf722a8 | 310 | |
adambakerwa | 50:9fc8edf722a8 | 311 | //increment counter1 |
adambakerwa | 50:9fc8edf722a8 | 312 | void Levels::speech_counter1() |
adambakerwa | 50:9fc8edf722a8 | 313 | { |
adambakerwa | 50:9fc8edf722a8 | 314 | _counter1++; |
adambakerwa | 50:9fc8edf722a8 | 315 | } |
adambakerwa | 50:9fc8edf722a8 | 316 | |
adambakerwa | 50:9fc8edf722a8 | 317 | |
adambakerwa | 50:9fc8edf722a8 | 318 | //inrement counter2 |
adambakerwa | 50:9fc8edf722a8 | 319 | void Levels::speech_counter2() |
adambakerwa | 50:9fc8edf722a8 | 320 | { |
adambakerwa | 50:9fc8edf722a8 | 321 | _counter2++; |
adambakerwa | 50:9fc8edf722a8 | 322 | } |
adambakerwa | 50:9fc8edf722a8 | 323 | |
adambakerwa | 50:9fc8edf722a8 | 324 | |
adambakerwa | 50:9fc8edf722a8 | 325 | //print string 'why hello there' word by word |
adambakerwa | 50:9fc8edf722a8 | 326 | void Levels::speech_one(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 327 | { |
adambakerwa | 50:9fc8edf722a8 | 328 | |
adambakerwa | 50:9fc8edf722a8 | 329 | if (_counter1 > 5 && _counter1 < 15) { |
adambakerwa | 50:9fc8edf722a8 | 330 | lcd.printString(" Why,",0,0); |
adambakerwa | 50:9fc8edf722a8 | 331 | } |
adambakerwa | 50:9fc8edf722a8 | 332 | |
adambakerwa | 50:9fc8edf722a8 | 333 | if (_counter1 > 8 && _counter1 < 11) { |
adambakerwa | 50:9fc8edf722a8 | 334 | lcd.printString(" Hello",0,1); |
adambakerwa | 50:9fc8edf722a8 | 335 | } |
adambakerwa | 50:9fc8edf722a8 | 336 | |
adambakerwa | 50:9fc8edf722a8 | 337 | if (_counter1 > 10 && _counter1 < 16) { |
adambakerwa | 50:9fc8edf722a8 | 338 | lcd.printString(" Hello there...",0,1); |
adambakerwa | 50:9fc8edf722a8 | 339 | } |
adambakerwa | 50:9fc8edf722a8 | 340 | |
adambakerwa | 50:9fc8edf722a8 | 341 | if (_counter1 > 15 && _counter1 < 17) { |
adambakerwa | 50:9fc8edf722a8 | 342 | lcd.printString(" there...",0,1); |
adambakerwa | 50:9fc8edf722a8 | 343 | } |
adambakerwa | 50:9fc8edf722a8 | 344 | } |
adambakerwa | 50:9fc8edf722a8 | 345 | |
adambakerwa | 50:9fc8edf722a8 | 346 | |
adambakerwa | 50:9fc8edf722a8 | 347 | //print string 'you must be ' word by word |
adambakerwa | 50:9fc8edf722a8 | 348 | void Levels::speech_two(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 349 | { |
adambakerwa | 50:9fc8edf722a8 | 350 | if (_counter1 >= 20 && _counter1 < 22) { |
adambakerwa | 50:9fc8edf722a8 | 351 | lcd.printString(" You ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 352 | } |
adambakerwa | 50:9fc8edf722a8 | 353 | |
adambakerwa | 50:9fc8edf722a8 | 354 | if (_counter1 >= 22 && _counter1 < 23) { |
adambakerwa | 50:9fc8edf722a8 | 355 | lcd.printString(" You must ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 356 | } |
adambakerwa | 50:9fc8edf722a8 | 357 | |
adambakerwa | 50:9fc8edf722a8 | 358 | if (_counter1 >= 23 && _counter1 < 29) { |
adambakerwa | 50:9fc8edf722a8 | 359 | lcd.printString(" You must be",0,0); |
adambakerwa | 50:9fc8edf722a8 | 360 | } |
adambakerwa | 50:9fc8edf722a8 | 361 | |
adambakerwa | 50:9fc8edf722a8 | 362 | if (_counter1 >= 29 && _counter1 < 30) { |
adambakerwa | 50:9fc8edf722a8 | 363 | lcd.printString(" must be",0,0); |
adambakerwa | 50:9fc8edf722a8 | 364 | } |
adambakerwa | 50:9fc8edf722a8 | 365 | |
adambakerwa | 50:9fc8edf722a8 | 366 | if (_counter1 >= 30 && _counter1 < 31) { |
adambakerwa | 50:9fc8edf722a8 | 367 | lcd.printString(" be",0,0); |
adambakerwa | 50:9fc8edf722a8 | 368 | } |
adambakerwa | 50:9fc8edf722a8 | 369 | |
adambakerwa | 50:9fc8edf722a8 | 370 | } |
adambakerwa | 50:9fc8edf722a8 | 371 | |
adambakerwa | 50:9fc8edf722a8 | 372 | |
adambakerwa | 50:9fc8edf722a8 | 373 | //print string 'the new guy' word by word |
adambakerwa | 50:9fc8edf722a8 | 374 | void Levels::speech_three(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 375 | { |
adambakerwa | 50:9fc8edf722a8 | 376 | if (_counter1 >= 24 && _counter1 < 25) { |
adambakerwa | 50:9fc8edf722a8 | 377 | lcd.printString(" The ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 378 | } |
adambakerwa | 50:9fc8edf722a8 | 379 | if (_counter1 >= 25 && _counter1 < 26) { |
adambakerwa | 50:9fc8edf722a8 | 380 | lcd.printString(" The new",0,1); |
adambakerwa | 50:9fc8edf722a8 | 381 | } |
adambakerwa | 50:9fc8edf722a8 | 382 | if (_counter1 >= 26 && _counter1 < 32) { |
adambakerwa | 50:9fc8edf722a8 | 383 | lcd.printString(" The new guy.,",0,1); |
adambakerwa | 50:9fc8edf722a8 | 384 | } |
adambakerwa | 50:9fc8edf722a8 | 385 | if (_counter1 >= 32 && _counter1 < 33) { |
adambakerwa | 50:9fc8edf722a8 | 386 | lcd.printString(" new guy.,",0,1); |
adambakerwa | 50:9fc8edf722a8 | 387 | } |
adambakerwa | 50:9fc8edf722a8 | 388 | if (_counter1 >= 33 && _counter1 < 34) { |
adambakerwa | 50:9fc8edf722a8 | 389 | lcd.printString(" guy.,",0,1); |
adambakerwa | 50:9fc8edf722a8 | 390 | } |
adambakerwa | 50:9fc8edf722a8 | 391 | } |
adambakerwa | 50:9fc8edf722a8 | 392 | |
adambakerwa | 50:9fc8edf722a8 | 393 | |
adambakerwa | 50:9fc8edf722a8 | 394 | //print string 'use joy stick to move-go right' word by word |
adambakerwa | 50:9fc8edf722a8 | 395 | void Levels::speech_four(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 396 | { |
adambakerwa | 50:9fc8edf722a8 | 397 | if (_counter1 >= 40) { |
adambakerwa | 50:9fc8edf722a8 | 398 | lcd.printString(" Use jystck to",0,0); |
adambakerwa | 50:9fc8edf722a8 | 399 | lcd.printString("move-GO RIGHT!",0,1); |
adambakerwa | 50:9fc8edf722a8 | 400 | } |
adambakerwa | 50:9fc8edf722a8 | 401 | } |
adambakerwa | 50:9fc8edf722a8 | 402 | |
adambakerwa | 50:9fc8edf722a8 | 403 | |
adambakerwa | 50:9fc8edf722a8 | 404 | //print string 'shame what' word by word |
adambakerwa | 50:9fc8edf722a8 | 405 | void Levels::speech_five(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 406 | { |
adambakerwa | 50:9fc8edf722a8 | 407 | |
adambakerwa | 50:9fc8edf722a8 | 408 | if (_counter2 >= 5 && _counter2 < 6) { |
adambakerwa | 50:9fc8edf722a8 | 409 | lcd.printString(" Shame ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 410 | } |
adambakerwa | 50:9fc8edf722a8 | 411 | if (_counter2 >= 6 && _counter2 < 10) { |
adambakerwa | 50:9fc8edf722a8 | 412 | lcd.printString(" Shame what",0,0); |
adambakerwa | 50:9fc8edf722a8 | 413 | } |
adambakerwa | 50:9fc8edf722a8 | 414 | if (_counter2 >= 10 && _counter2 < 11) { |
adambakerwa | 50:9fc8edf722a8 | 415 | lcd.printString(" what",0,0); |
adambakerwa | 50:9fc8edf722a8 | 416 | } |
adambakerwa | 50:9fc8edf722a8 | 417 | } |
adambakerwa | 50:9fc8edf722a8 | 418 | |
adambakerwa | 50:9fc8edf722a8 | 419 | |
adambakerwa | 50:9fc8edf722a8 | 420 | //print string 'happened to' word by word |
adambakerwa | 50:9fc8edf722a8 | 421 | void Levels::speech_six(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 422 | { |
adambakerwa | 50:9fc8edf722a8 | 423 | |
adambakerwa | 50:9fc8edf722a8 | 424 | if (_counter2 >= 7 && _counter2 < 8) { |
adambakerwa | 50:9fc8edf722a8 | 425 | lcd.printString(" happened ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 426 | } |
adambakerwa | 50:9fc8edf722a8 | 427 | if (_counter2 >= 8 && _counter2 < 12) { |
adambakerwa | 50:9fc8edf722a8 | 428 | lcd.printString(" happened to ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 429 | } |
adambakerwa | 50:9fc8edf722a8 | 430 | if (_counter2 >= 12 && _counter2 < 13) { |
adambakerwa | 50:9fc8edf722a8 | 431 | lcd.printString(" to ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 432 | } |
adambakerwa | 50:9fc8edf722a8 | 433 | } |
adambakerwa | 50:9fc8edf722a8 | 434 | |
adambakerwa | 50:9fc8edf722a8 | 435 | |
adambakerwa | 50:9fc8edf722a8 | 436 | //print string 'the last lad...' word by word |
adambakerwa | 50:9fc8edf722a8 | 437 | void Levels::speech_seven(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 438 | { |
adambakerwa | 50:9fc8edf722a8 | 439 | |
adambakerwa | 50:9fc8edf722a8 | 440 | if (_counter2 >= 13 && _counter2 < 14) { |
adambakerwa | 50:9fc8edf722a8 | 441 | lcd.printString(" the ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 442 | } |
adambakerwa | 50:9fc8edf722a8 | 443 | if (_counter2 >= 14 && _counter2 < 20) { |
adambakerwa | 50:9fc8edf722a8 | 444 | lcd.printString(" the last",0,0); |
adambakerwa | 50:9fc8edf722a8 | 445 | } |
adambakerwa | 50:9fc8edf722a8 | 446 | if (_counter2 >= 20 && _counter2 < 21) { |
adambakerwa | 50:9fc8edf722a8 | 447 | lcd.printString(" last",0,0); |
adambakerwa | 50:9fc8edf722a8 | 448 | } |
adambakerwa | 50:9fc8edf722a8 | 449 | |
adambakerwa | 50:9fc8edf722a8 | 450 | if (_counter2 >= 16 && _counter2 < 23) { |
adambakerwa | 50:9fc8edf722a8 | 451 | lcd.printString(" lad...",0,1); |
adambakerwa | 50:9fc8edf722a8 | 452 | } |
adambakerwa | 50:9fc8edf722a8 | 453 | } |
adambakerwa | 50:9fc8edf722a8 | 454 | |
adambakerwa | 50:9fc8edf722a8 | 455 | |
adambakerwa | 50:9fc8edf722a8 | 456 | //print string 'press button a to jump' word by word |
adambakerwa | 50:9fc8edf722a8 | 457 | void Levels::speech_eight(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 458 | { |
adambakerwa | 50:9fc8edf722a8 | 459 | if (_counter2 >= 26) { |
adambakerwa | 50:9fc8edf722a8 | 460 | lcd.printString(" Press button",0,0); |
adambakerwa | 50:9fc8edf722a8 | 461 | lcd.printString(" A to jump",0,1); |
adambakerwa | 50:9fc8edf722a8 | 462 | } |
adambakerwa | 50:9fc8edf722a8 | 463 | } |
adambakerwa | 50:9fc8edf722a8 | 464 | |
adambakerwa | 50:9fc8edf722a8 | 465 | |
adambakerwa | 50:9fc8edf722a8 | 466 | //print string 'I was just' word by word |
adambakerwa | 50:9fc8edf722a8 | 467 | void Levels::speech_nine(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 468 | { |
adambakerwa | 50:9fc8edf722a8 | 469 | |
adambakerwa | 50:9fc8edf722a8 | 470 | if (_counter1 >= 5 && _counter1 < 6) { |
adambakerwa | 50:9fc8edf722a8 | 471 | lcd.printString(" I ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 472 | } |
adambakerwa | 50:9fc8edf722a8 | 473 | if (_counter1 >= 6 && _counter1 < 7) { |
adambakerwa | 50:9fc8edf722a8 | 474 | lcd.printString(" I was",0,0); |
adambakerwa | 50:9fc8edf722a8 | 475 | } |
adambakerwa | 50:9fc8edf722a8 | 476 | if (_counter1 >= 7 && _counter1 < 10) { |
adambakerwa | 50:9fc8edf722a8 | 477 | lcd.printString(" I was just",0,0); |
adambakerwa | 50:9fc8edf722a8 | 478 | } |
adambakerwa | 50:9fc8edf722a8 | 479 | if (_counter1 >= 10 && _counter1 < 11) { |
adambakerwa | 50:9fc8edf722a8 | 480 | lcd.printString(" was just",0,0); |
adambakerwa | 50:9fc8edf722a8 | 481 | } |
adambakerwa | 50:9fc8edf722a8 | 482 | if (_counter1 >= 11 && _counter1 < 12) { |
adambakerwa | 50:9fc8edf722a8 | 483 | lcd.printString(" just",0,0); |
adambakerwa | 50:9fc8edf722a8 | 484 | } |
adambakerwa | 50:9fc8edf722a8 | 485 | } |
adambakerwa | 50:9fc8edf722a8 | 486 | |
adambakerwa | 50:9fc8edf722a8 | 487 | |
adambakerwa | 50:9fc8edf722a8 | 488 | //print string 'starting to' word by word |
adambakerwa | 50:9fc8edf722a8 | 489 | void Levels::speech_ten(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 490 | { |
adambakerwa | 50:9fc8edf722a8 | 491 | |
adambakerwa | 50:9fc8edf722a8 | 492 | if (_counter1 >= 8 && _counter1 < 13) { |
adambakerwa | 50:9fc8edf722a8 | 493 | lcd.printString("starting ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 494 | } |
adambakerwa | 50:9fc8edf722a8 | 495 | if (_counter1 >= 9 && _counter1 < 14) { |
adambakerwa | 50:9fc8edf722a8 | 496 | lcd.printString("starting to ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 497 | } |
adambakerwa | 50:9fc8edf722a8 | 498 | if (_counter1 >= 14 && _counter1 < 15) { |
adambakerwa | 50:9fc8edf722a8 | 499 | lcd.printString(" to",0,1); |
adambakerwa | 50:9fc8edf722a8 | 500 | } |
adambakerwa | 50:9fc8edf722a8 | 501 | } |
adambakerwa | 50:9fc8edf722a8 | 502 | |
adambakerwa | 50:9fc8edf722a8 | 503 | |
adambakerwa | 50:9fc8edf722a8 | 504 | //print string 'like him' word by word |
adambakerwa | 50:9fc8edf722a8 | 505 | void Levels::speech_elleven(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 506 | { |
adambakerwa | 50:9fc8edf722a8 | 507 | |
adambakerwa | 50:9fc8edf722a8 | 508 | if (_counter1 >= 14 && _counter1 < 15) { |
adambakerwa | 50:9fc8edf722a8 | 509 | lcd.printString(" like ",0,0); |
adambakerwa | 50:9fc8edf722a8 | 510 | } |
adambakerwa | 50:9fc8edf722a8 | 511 | if (_counter1 >= 15 && _counter1 < 25) { |
adambakerwa | 50:9fc8edf722a8 | 512 | lcd.printString(" like him",0,0); |
adambakerwa | 50:9fc8edf722a8 | 513 | } |
adambakerwa | 50:9fc8edf722a8 | 514 | if (_counter1 >= 25 && _counter1 < 26) { |
adambakerwa | 50:9fc8edf722a8 | 515 | lcd.printString(" him",0,0); |
adambakerwa | 50:9fc8edf722a8 | 516 | } |
adambakerwa | 50:9fc8edf722a8 | 517 | } |
adambakerwa | 50:9fc8edf722a8 | 518 | |
adambakerwa | 50:9fc8edf722a8 | 519 | |
adambakerwa | 50:9fc8edf722a8 | 520 | //print string 'as well!' word by word |
adambakerwa | 50:9fc8edf722a8 | 521 | void Levels::speech_twelve(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 522 | { |
adambakerwa | 50:9fc8edf722a8 | 523 | |
adambakerwa | 50:9fc8edf722a8 | 524 | if (_counter1 >= 16 && _counter1 < 17) { |
adambakerwa | 50:9fc8edf722a8 | 525 | lcd.printString(" as ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 526 | } |
adambakerwa | 50:9fc8edf722a8 | 527 | if (_counter1 >= 17 && _counter1 < 27) { |
adambakerwa | 50:9fc8edf722a8 | 528 | lcd.printString(" as well! ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 529 | } |
adambakerwa | 50:9fc8edf722a8 | 530 | if (_counter1 >= 27 && _counter1 < 28) { |
adambakerwa | 50:9fc8edf722a8 | 531 | lcd.printString(" well! ",0,1); |
adambakerwa | 50:9fc8edf722a8 | 532 | } |
adambakerwa | 50:9fc8edf722a8 | 533 | } |
adambakerwa | 50:9fc8edf722a8 | 534 | |
adambakerwa | 50:9fc8edf722a8 | 535 | |
adambakerwa | 50:9fc8edf722a8 | 536 | //print string 'Here's an idea..' word by word |
adambakerwa | 50:9fc8edf722a8 | 537 | void Levels::speech_thirteen(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 538 | { |
adambakerwa | 50:9fc8edf722a8 | 539 | if (_counter2 >= 5 && _counter2 < 12) { |
adambakerwa | 50:9fc8edf722a8 | 540 | lcd.printString("Here's", 55, 3); |
adambakerwa | 50:9fc8edf722a8 | 541 | } |
adambakerwa | 50:9fc8edf722a8 | 542 | if (_counter2 >= 6 && _counter2 < 13) { |
adambakerwa | 50:9fc8edf722a8 | 543 | lcd.printString("an", 42, 4); |
adambakerwa | 50:9fc8edf722a8 | 544 | } |
adambakerwa | 50:9fc8edf722a8 | 545 | if (_counter2 >= 7 && _counter2 < 14) { |
adambakerwa | 50:9fc8edf722a8 | 546 | lcd.printString("idea..", 45, 5); |
adambakerwa | 50:9fc8edf722a8 | 547 | } |
adambakerwa | 50:9fc8edf722a8 | 548 | } |
adambakerwa | 50:9fc8edf722a8 | 549 | |
adambakerwa | 50:9fc8edf722a8 | 550 | |
adambakerwa | 50:9fc8edf722a8 | 551 | //print string 'try a wall jump' word by word |
adambakerwa | 50:9fc8edf722a8 | 552 | void Levels::speech_forteen(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 553 | { |
adambakerwa | 50:9fc8edf722a8 | 554 | if (_counter2 >= 13 && _counter2 < 22) { |
adambakerwa | 50:9fc8edf722a8 | 555 | lcd.printString("try", 60, 3); |
adambakerwa | 50:9fc8edf722a8 | 556 | } |
adambakerwa | 50:9fc8edf722a8 | 557 | if (_counter2 >= 14 && _counter2 < 23) { |
adambakerwa | 50:9fc8edf722a8 | 558 | lcd.printString("a", 45, 4); |
adambakerwa | 50:9fc8edf722a8 | 559 | } |
adambakerwa | 50:9fc8edf722a8 | 560 | if (_counter2 >= 14 && _counter2 < 23) { |
adambakerwa | 50:9fc8edf722a8 | 561 | lcd.printString("a wall", 45, 4); |
adambakerwa | 50:9fc8edf722a8 | 562 | } |
adambakerwa | 50:9fc8edf722a8 | 563 | if (_counter2 >= 14 && _counter2 < 23) { |
adambakerwa | 50:9fc8edf722a8 | 564 | lcd.printString("a wall", 45, 4); |
adambakerwa | 50:9fc8edf722a8 | 565 | } |
adambakerwa | 50:9fc8edf722a8 | 566 | if (_counter2 >= 16 && _counter2 < 25) { |
adambakerwa | 50:9fc8edf722a8 | 567 | lcd.printString("jump!", 50, 5); |
adambakerwa | 50:9fc8edf722a8 | 568 | } |
adambakerwa | 50:9fc8edf722a8 | 569 | } |
adambakerwa | 50:9fc8edf722a8 | 570 | |
adambakerwa | 50:9fc8edf722a8 | 571 | |
adambakerwa | 50:9fc8edf722a8 | 572 | //run level one |
adambakerwa | 50:9fc8edf722a8 | 573 | Pos Levels::level_one(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 574 | { |
adambakerwa | 50:9fc8edf722a8 | 575 | |
adambakerwa | 50:9fc8edf722a8 | 576 | lcd.drawLine(0,40,84,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 577 | |
adambakerwa | 50:9fc8edf722a8 | 578 | speech_level_one(lcd); //display speech for level |
adambakerwa | 50:9fc8edf722a8 | 579 | |
adambakerwa | 50:9fc8edf722a8 | 580 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 581 | |
adambakerwa | 50:9fc8edf722a8 | 582 | return _pos; //return postions of moving platforms if any. |
adambakerwa | 50:9fc8edf722a8 | 583 | |
adambakerwa | 50:9fc8edf722a8 | 584 | } |
adambakerwa | 50:9fc8edf722a8 | 585 | |
adambakerwa | 50:9fc8edf722a8 | 586 | |
adambakerwa | 50:9fc8edf722a8 | 587 | //run level one speech |
adambakerwa | 50:9fc8edf722a8 | 588 | void Levels::speech_level_one(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 589 | { |
adambakerwa | 50:9fc8edf722a8 | 590 | speech_counter1(); //counter increments |
adambakerwa | 50:9fc8edf722a8 | 591 | speech_one(lcd); //speech appears according to counter |
adambakerwa | 50:9fc8edf722a8 | 592 | speech_two(lcd); |
adambakerwa | 50:9fc8edf722a8 | 593 | speech_three(lcd); |
adambakerwa | 50:9fc8edf722a8 | 594 | speech_four(lcd); |
adambakerwa | 50:9fc8edf722a8 | 595 | } |
adambakerwa | 50:9fc8edf722a8 | 596 | |
adambakerwa | 50:9fc8edf722a8 | 597 | Pos Levels::init_level_one(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 598 | { |
adambakerwa | 50:9fc8edf722a8 | 599 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 600 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 601 | _pos = init_ver1(_pos); |
adambakerwa | 50:9fc8edf722a8 | 602 | _pos = init_ver2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 603 | _pos = init_spike(_pos); |
adambakerwa | 50:9fc8edf722a8 | 604 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 605 | |
adambakerwa | 50:9fc8edf722a8 | 606 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 607 | } |
adambakerwa | 50:9fc8edf722a8 | 608 | |
adambakerwa | 50:9fc8edf722a8 | 609 | //run level two |
adambakerwa | 50:9fc8edf722a8 | 610 | Pos Levels::level_two(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 611 | { |
adambakerwa | 50:9fc8edf722a8 | 612 | |
adambakerwa | 50:9fc8edf722a8 | 613 | |
adambakerwa | 50:9fc8edf722a8 | 614 | lcd.drawLine(0,40,35,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 615 | lcd.drawLine(35,40,35,48,1); |
adambakerwa | 50:9fc8edf722a8 | 616 | lcd.drawLine(50,40,84,40,1); |
adambakerwa | 50:9fc8edf722a8 | 617 | lcd.drawLine(50,40,50,48,1); |
adambakerwa | 50:9fc8edf722a8 | 618 | |
adambakerwa | 50:9fc8edf722a8 | 619 | speech_level_two(lcd); //display speech for level |
adambakerwa | 50:9fc8edf722a8 | 620 | |
adambakerwa | 50:9fc8edf722a8 | 621 | _pos = init_level_two(_pos); |
adambakerwa | 50:9fc8edf722a8 | 622 | |
adambakerwa | 50:9fc8edf722a8 | 623 | return _pos; //return postions of moving platforms if any. |
adambakerwa | 50:9fc8edf722a8 | 624 | } |
adambakerwa | 50:9fc8edf722a8 | 625 | |
adambakerwa | 50:9fc8edf722a8 | 626 | |
adambakerwa | 50:9fc8edf722a8 | 627 | //intialises all platform variables not being used in level 2 |
adambakerwa | 50:9fc8edf722a8 | 628 | Pos Levels::init_level_two(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 629 | { |
adambakerwa | 50:9fc8edf722a8 | 630 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 631 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 632 | _pos = init_ver1(_pos); |
adambakerwa | 50:9fc8edf722a8 | 633 | _pos = init_ver2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 634 | _pos = init_spike(_pos); |
adambakerwa | 50:9fc8edf722a8 | 635 | init_counter1(); |
adambakerwa | 50:9fc8edf722a8 | 636 | |
adambakerwa | 50:9fc8edf722a8 | 637 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 638 | } |
adambakerwa | 50:9fc8edf722a8 | 639 | |
adambakerwa | 50:9fc8edf722a8 | 640 | |
adambakerwa | 50:9fc8edf722a8 | 641 | //run level two speech |
adambakerwa | 50:9fc8edf722a8 | 642 | void Levels::speech_level_two(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 643 | { |
adambakerwa | 50:9fc8edf722a8 | 644 | speech_counter2(); //counter increments |
adambakerwa | 50:9fc8edf722a8 | 645 | speech_five(lcd); //speech appears according to counter |
adambakerwa | 50:9fc8edf722a8 | 646 | speech_six(lcd); |
adambakerwa | 50:9fc8edf722a8 | 647 | speech_seven(lcd); |
adambakerwa | 50:9fc8edf722a8 | 648 | speech_eight(lcd); |
adambakerwa | 50:9fc8edf722a8 | 649 | } |
adambakerwa | 50:9fc8edf722a8 | 650 | |
adambakerwa | 50:9fc8edf722a8 | 651 | |
adambakerwa | 50:9fc8edf722a8 | 652 | //run level three |
adambakerwa | 50:9fc8edf722a8 | 653 | Pos Levels::level_three(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 654 | { |
adambakerwa | 50:9fc8edf722a8 | 655 | lcd.drawLine(0,40,15,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 656 | lcd.drawLine(15,40,15,48,1); |
adambakerwa | 50:9fc8edf722a8 | 657 | lcd.drawLine(70,40,84,40,1); |
adambakerwa | 50:9fc8edf722a8 | 658 | lcd.drawLine(70,40,70,48,1); |
adambakerwa | 50:9fc8edf722a8 | 659 | |
adambakerwa | 50:9fc8edf722a8 | 660 | lcd.drawLine(74,14,74,0,1); |
adambakerwa | 50:9fc8edf722a8 | 661 | lcd.drawLine(74,14,84,14,1); |
adambakerwa | 50:9fc8edf722a8 | 662 | |
adambakerwa | 50:9fc8edf722a8 | 663 | _hoz1 = moving_platform_hoz(lcd, _hoz1, 25, 40, 10, 3, 25, 1); //set parameters for horizontal moving platform |
adambakerwa | 50:9fc8edf722a8 | 664 | _pos = pass_data_hoz1(_pos, _hoz1); |
adambakerwa | 50:9fc8edf722a8 | 665 | |
adambakerwa | 50:9fc8edf722a8 | 666 | speech_level_three(lcd); //display speech for level |
adambakerwa | 50:9fc8edf722a8 | 667 | |
adambakerwa | 50:9fc8edf722a8 | 668 | _pos = init_level_three(_pos); |
adambakerwa | 50:9fc8edf722a8 | 669 | |
adambakerwa | 50:9fc8edf722a8 | 670 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 671 | } |
adambakerwa | 50:9fc8edf722a8 | 672 | |
adambakerwa | 50:9fc8edf722a8 | 673 | |
adambakerwa | 50:9fc8edf722a8 | 674 | //intialises all platform variables not being used in level 3 |
adambakerwa | 50:9fc8edf722a8 | 675 | Pos Levels::init_level_three(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 676 | { |
adambakerwa | 50:9fc8edf722a8 | 677 | //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 678 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 679 | _pos = init_ver1(_pos); |
adambakerwa | 50:9fc8edf722a8 | 680 | _pos = init_ver2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 681 | _pos = init_spike(_pos); |
adambakerwa | 50:9fc8edf722a8 | 682 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 683 | |
adambakerwa | 50:9fc8edf722a8 | 684 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 685 | } |
adambakerwa | 50:9fc8edf722a8 | 686 | |
adambakerwa | 50:9fc8edf722a8 | 687 | |
adambakerwa | 50:9fc8edf722a8 | 688 | //run level three speech |
adambakerwa | 50:9fc8edf722a8 | 689 | void Levels::speech_level_three(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 690 | { |
adambakerwa | 50:9fc8edf722a8 | 691 | speech_counter1(); //counter increments |
adambakerwa | 50:9fc8edf722a8 | 692 | speech_nine(lcd); //speech appears according to counter |
adambakerwa | 50:9fc8edf722a8 | 693 | speech_ten(lcd); |
adambakerwa | 50:9fc8edf722a8 | 694 | speech_elleven(lcd); |
adambakerwa | 50:9fc8edf722a8 | 695 | speech_twelve(lcd); |
adambakerwa | 50:9fc8edf722a8 | 696 | } |
adambakerwa | 50:9fc8edf722a8 | 697 | |
adambakerwa | 50:9fc8edf722a8 | 698 | |
adambakerwa | 50:9fc8edf722a8 | 699 | //run level four |
adambakerwa | 50:9fc8edf722a8 | 700 | Pos Levels::level_four(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 701 | { |
adambakerwa | 50:9fc8edf722a8 | 702 | |
adambakerwa | 50:9fc8edf722a8 | 703 | lcd.drawLine(0,40,84,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 704 | lcd.drawLine(0,14,10,14,1); |
adambakerwa | 50:9fc8edf722a8 | 705 | lcd.drawLine(10,0,10,14,1); |
adambakerwa | 50:9fc8edf722a8 | 706 | |
adambakerwa | 50:9fc8edf722a8 | 707 | lcd.drawLine(74,14,74,0,1); |
adambakerwa | 50:9fc8edf722a8 | 708 | lcd.drawLine(74,14,84,14,1); |
adambakerwa | 50:9fc8edf722a8 | 709 | |
adambakerwa | 50:9fc8edf722a8 | 710 | _ver1 = moving_platform_ver(lcd, _ver1, 11, 0, 18, 30, 21, 10); //set parameters for vertical moving platform |
adambakerwa | 50:9fc8edf722a8 | 711 | _pos = pass_data_ver1(_pos, _ver1); |
adambakerwa | 50:9fc8edf722a8 | 712 | _ver2 = moving_platform_ver(lcd, _ver2, 42, 0, 18, 31, 21, 1); //set parameters for vertical 2 moving platform |
adambakerwa | 50:9fc8edf722a8 | 713 | _pos = pass_data_ver2(_pos, _ver2); |
adambakerwa | 50:9fc8edf722a8 | 714 | |
adambakerwa | 50:9fc8edf722a8 | 715 | _pos = init_level_four(_pos); |
adambakerwa | 50:9fc8edf722a8 | 716 | |
adambakerwa | 50:9fc8edf722a8 | 717 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 718 | |
adambakerwa | 50:9fc8edf722a8 | 719 | |
adambakerwa | 50:9fc8edf722a8 | 720 | } |
adambakerwa | 50:9fc8edf722a8 | 721 | |
adambakerwa | 50:9fc8edf722a8 | 722 | |
adambakerwa | 50:9fc8edf722a8 | 723 | //intialises all platform variables not being used in level 4 |
adambakerwa | 50:9fc8edf722a8 | 724 | Pos Levels::init_level_four(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 725 | { |
adambakerwa | 50:9fc8edf722a8 | 726 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 727 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 728 | _pos = init_spike(_pos); |
adambakerwa | 50:9fc8edf722a8 | 729 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 730 | init_counter1(); |
adambakerwa | 50:9fc8edf722a8 | 731 | |
adambakerwa | 50:9fc8edf722a8 | 732 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 733 | } |
adambakerwa | 50:9fc8edf722a8 | 734 | |
adambakerwa | 50:9fc8edf722a8 | 735 | |
adambakerwa | 50:9fc8edf722a8 | 736 | //run level five |
adambakerwa | 50:9fc8edf722a8 | 737 | Pos Levels::level_five(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 738 | { |
adambakerwa | 50:9fc8edf722a8 | 739 | |
adambakerwa | 50:9fc8edf722a8 | 740 | lcd.drawLine(0,40,40,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 741 | lcd.drawLine(40,40,40,20,1); |
adambakerwa | 50:9fc8edf722a8 | 742 | lcd.drawLine(40,20,84,20,1); |
adambakerwa | 50:9fc8edf722a8 | 743 | |
adambakerwa | 50:9fc8edf722a8 | 744 | lcd.drawLine(0,14,10,14,1); |
adambakerwa | 50:9fc8edf722a8 | 745 | lcd.drawLine(10,14,10,25,1); |
adambakerwa | 50:9fc8edf722a8 | 746 | lcd.drawLine(10,25,20,25,1); |
adambakerwa | 50:9fc8edf722a8 | 747 | lcd.drawLine(20,0,20,25,1); |
adambakerwa | 50:9fc8edf722a8 | 748 | |
adambakerwa | 50:9fc8edf722a8 | 749 | speech_counter2(); //run speech for level |
adambakerwa | 50:9fc8edf722a8 | 750 | speech_thirteen(lcd); |
adambakerwa | 50:9fc8edf722a8 | 751 | speech_forteen(lcd); |
adambakerwa | 50:9fc8edf722a8 | 752 | |
adambakerwa | 50:9fc8edf722a8 | 753 | _pos = spike_row_up(lcd, _pos, 55, 19, 5); //set parameters for spikes |
adambakerwa | 50:9fc8edf722a8 | 754 | |
adambakerwa | 50:9fc8edf722a8 | 755 | _pos = init_level_five(_pos); |
adambakerwa | 50:9fc8edf722a8 | 756 | |
adambakerwa | 50:9fc8edf722a8 | 757 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 758 | |
adambakerwa | 50:9fc8edf722a8 | 759 | } |
adambakerwa | 50:9fc8edf722a8 | 760 | |
adambakerwa | 50:9fc8edf722a8 | 761 | |
adambakerwa | 50:9fc8edf722a8 | 762 | |
adambakerwa | 50:9fc8edf722a8 | 763 | //intialises all platform variables not being used in level 4 |
adambakerwa | 50:9fc8edf722a8 | 764 | Pos Levels::init_level_five(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 765 | { |
adambakerwa | 50:9fc8edf722a8 | 766 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 767 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 768 | _pos = init_ver1(_pos); |
adambakerwa | 50:9fc8edf722a8 | 769 | _pos = init_ver2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 770 | init_counter1(); |
adambakerwa | 50:9fc8edf722a8 | 771 | |
adambakerwa | 50:9fc8edf722a8 | 772 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 773 | } |
adambakerwa | 50:9fc8edf722a8 | 774 | |
adambakerwa | 50:9fc8edf722a8 | 775 | |
adambakerwa | 50:9fc8edf722a8 | 776 | //run level six |
adambakerwa | 50:9fc8edf722a8 | 777 | Pos Levels::level_six(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 778 | { |
adambakerwa | 50:9fc8edf722a8 | 779 | |
adambakerwa | 50:9fc8edf722a8 | 780 | lcd.drawLine(0,20,10,20,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 781 | lcd.drawLine(10,20,10,48,1); |
adambakerwa | 50:9fc8edf722a8 | 782 | lcd.drawLine(74,48,74,20,1); |
adambakerwa | 50:9fc8edf722a8 | 783 | lcd.drawLine(74,20,84,20,1); |
adambakerwa | 50:9fc8edf722a8 | 784 | |
adambakerwa | 50:9fc8edf722a8 | 785 | _ver1 = moving_platform_ver(lcd, _ver1, 23, 10, 3, 5, 20, 1); //set parameters for vertical moving platform |
adambakerwa | 50:9fc8edf722a8 | 786 | _pos = pass_data_ver1(_pos, _ver1); |
adambakerwa | 50:9fc8edf722a8 | 787 | |
adambakerwa | 50:9fc8edf722a8 | 788 | _ver2 = moving_platform_ver(lcd, _ver2, 56, 10, 3, 5, 20, 19); //set parameters for vertical 2 moving platform |
adambakerwa | 50:9fc8edf722a8 | 789 | _pos = pass_data_ver2(_pos, _ver2); |
adambakerwa | 50:9fc8edf722a8 | 790 | |
adambakerwa | 50:9fc8edf722a8 | 791 | _pos = init_level_six(_pos); |
adambakerwa | 50:9fc8edf722a8 | 792 | |
adambakerwa | 50:9fc8edf722a8 | 793 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 794 | } |
adambakerwa | 50:9fc8edf722a8 | 795 | |
adambakerwa | 50:9fc8edf722a8 | 796 | |
adambakerwa | 50:9fc8edf722a8 | 797 | |
adambakerwa | 50:9fc8edf722a8 | 798 | |
adambakerwa | 50:9fc8edf722a8 | 799 | //intialises all platform variables not being used in level 6 |
adambakerwa | 50:9fc8edf722a8 | 800 | Pos Levels::init_level_six(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 801 | { |
adambakerwa | 50:9fc8edf722a8 | 802 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 803 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 804 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 805 | init_counter1(); |
adambakerwa | 50:9fc8edf722a8 | 806 | _pos = init_spike(_pos); |
adambakerwa | 50:9fc8edf722a8 | 807 | |
adambakerwa | 50:9fc8edf722a8 | 808 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 809 | } |
adambakerwa | 50:9fc8edf722a8 | 810 | |
adambakerwa | 50:9fc8edf722a8 | 811 | |
adambakerwa | 50:9fc8edf722a8 | 812 | //run level seven |
adambakerwa | 50:9fc8edf722a8 | 813 | Pos Levels::level_seven(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 814 | { |
adambakerwa | 50:9fc8edf722a8 | 815 | lcd.drawLine(0,20,10,20,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 816 | lcd.drawLine(10,20,10,48,1); |
adambakerwa | 50:9fc8edf722a8 | 817 | |
adambakerwa | 50:9fc8edf722a8 | 818 | lcd.drawLine(50,39,56,39,1); |
adambakerwa | 50:9fc8edf722a8 | 819 | lcd.drawLine(50,39,50,37,1); |
adambakerwa | 50:9fc8edf722a8 | 820 | lcd.drawLine(56,37,56,39,1); |
adambakerwa | 50:9fc8edf722a8 | 821 | |
adambakerwa | 50:9fc8edf722a8 | 822 | lcd.drawLine(70,40,84,40,1); |
adambakerwa | 50:9fc8edf722a8 | 823 | lcd.drawLine(70,40,70,48,1); |
adambakerwa | 50:9fc8edf722a8 | 824 | |
adambakerwa | 50:9fc8edf722a8 | 825 | _hoz1 = moving_platform_hoz(lcd, _hoz1, 20, 40, 20, 3, 25, 1); //set parameters for horizontal moving platform |
adambakerwa | 50:9fc8edf722a8 | 826 | _pos = pass_data_hoz1(_pos, _hoz1); |
adambakerwa | 50:9fc8edf722a8 | 827 | |
adambakerwa | 50:9fc8edf722a8 | 828 | _pos = spike_row_up(lcd, _pos, 50, 37, 3); //set parameters for spikes |
adambakerwa | 50:9fc8edf722a8 | 829 | |
adambakerwa | 50:9fc8edf722a8 | 830 | _pos = init_level_seven(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 831 | |
adambakerwa | 50:9fc8edf722a8 | 832 | |
adambakerwa | 50:9fc8edf722a8 | 833 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 834 | } |
adambakerwa | 50:9fc8edf722a8 | 835 | |
adambakerwa | 50:9fc8edf722a8 | 836 | |
adambakerwa | 50:9fc8edf722a8 | 837 | //intialises all platform variables not being used in level 7 |
adambakerwa | 50:9fc8edf722a8 | 838 | Pos Levels::init_level_seven(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 839 | { |
adambakerwa | 50:9fc8edf722a8 | 840 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 841 | _pos = init_ver1(_pos); |
adambakerwa | 50:9fc8edf722a8 | 842 | _pos = init_ver2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 843 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 844 | |
adambakerwa | 50:9fc8edf722a8 | 845 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 846 | } |
adambakerwa | 50:9fc8edf722a8 | 847 | |
adambakerwa | 50:9fc8edf722a8 | 848 | |
adambakerwa | 50:9fc8edf722a8 | 849 | //run level eight |
adambakerwa | 50:9fc8edf722a8 | 850 | Pos Levels::level_eight(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 851 | { |
adambakerwa | 50:9fc8edf722a8 | 852 | |
adambakerwa | 50:9fc8edf722a8 | 853 | lcd.drawLine(0,40,10,40,1); //draw lines for level |
adambakerwa | 50:9fc8edf722a8 | 854 | lcd.drawLine(10,40,10,48,1); |
adambakerwa | 50:9fc8edf722a8 | 855 | |
adambakerwa | 50:9fc8edf722a8 | 856 | lcd.drawLine(22,48,22,32,1); |
adambakerwa | 50:9fc8edf722a8 | 857 | lcd.drawLine(62,48,62,32,1); |
adambakerwa | 50:9fc8edf722a8 | 858 | lcd.drawLine(22,32,62,32,1); |
adambakerwa | 50:9fc8edf722a8 | 859 | |
adambakerwa | 50:9fc8edf722a8 | 860 | lcd.drawLine(74,10,84,10,1); |
adambakerwa | 50:9fc8edf722a8 | 861 | lcd.drawLine(74,10,74,48,1); |
adambakerwa | 50:9fc8edf722a8 | 862 | |
adambakerwa | 50:9fc8edf722a8 | 863 | |
adambakerwa | 50:9fc8edf722a8 | 864 | _ver1 = moving_platform_ver(lcd, _ver1, 11, 10, 40, 10, 25, 1); //set parameters for vertical moving platform |
adambakerwa | 50:9fc8edf722a8 | 865 | _pos = pass_data_ver1(_pos, _ver1); |
adambakerwa | 50:9fc8edf722a8 | 866 | _ver2 = moving_platform_ver(lcd, _ver2, 63, 15, 40, 10, 25, 24); //set parameters for vertical moving platform 2 |
adambakerwa | 50:9fc8edf722a8 | 867 | _pos = pass_data_ver2(_pos, _ver2); |
adambakerwa | 50:9fc8edf722a8 | 868 | |
adambakerwa | 50:9fc8edf722a8 | 869 | _pos = spike_row_up(lcd, _pos, 24, 31, 18); //set parameters for spikes |
adambakerwa | 50:9fc8edf722a8 | 870 | |
adambakerwa | 50:9fc8edf722a8 | 871 | _pos = init_level_eight(_pos); |
adambakerwa | 50:9fc8edf722a8 | 872 | |
adambakerwa | 50:9fc8edf722a8 | 873 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 874 | } |
adambakerwa | 50:9fc8edf722a8 | 875 | |
adambakerwa | 50:9fc8edf722a8 | 876 | |
adambakerwa | 50:9fc8edf722a8 | 877 | //intialises all platform variables not being used in level 8 |
adambakerwa | 50:9fc8edf722a8 | 878 | Pos Levels::init_level_eight(Pos pos) |
adambakerwa | 50:9fc8edf722a8 | 879 | { |
adambakerwa | 50:9fc8edf722a8 | 880 | _pos = init_hoz1(_pos); //intialise all variables not being used in level |
adambakerwa | 50:9fc8edf722a8 | 881 | _pos = init_hoz2(_pos); |
adambakerwa | 50:9fc8edf722a8 | 882 | init_counter2(); |
adambakerwa | 50:9fc8edf722a8 | 883 | |
adambakerwa | 50:9fc8edf722a8 | 884 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 885 | } |
adambakerwa | 50:9fc8edf722a8 | 886 | |
adambakerwa | 50:9fc8edf722a8 | 887 | |
adambakerwa | 50:9fc8edf722a8 | 888 | //run level nine |
adambakerwa | 50:9fc8edf722a8 | 889 | Pos Levels::level_nine(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 890 | { |
adambakerwa | 50:9fc8edf722a8 | 891 | |
adambakerwa | 50:9fc8edf722a8 | 892 | lcd.drawLine(0,10,25,10,1); |
adambakerwa | 50:9fc8edf722a8 | 893 | lcd.drawLine(25,12,25,10,1); |
adambakerwa | 50:9fc8edf722a8 | 894 | lcd.drawLine(25,12,5,12,1); |
adambakerwa | 50:9fc8edf722a8 | 895 | lcd.drawLine(5,12,5,48,1); |
adambakerwa | 50:9fc8edf722a8 | 896 | |
adambakerwa | 50:9fc8edf722a8 | 897 | lcd.drawLine(45,0,45,25,1); |
adambakerwa | 50:9fc8edf722a8 | 898 | lcd.drawLine(45,25,20,25,1); |
adambakerwa | 50:9fc8edf722a8 | 899 | lcd.drawLine(20,25,20,28,1); |
adambakerwa | 50:9fc8edf722a8 | 900 | lcd.drawLine(20,28,55,28,1); |
adambakerwa | 50:9fc8edf722a8 | 901 | lcd.drawLine(55,28,65,0,1); |
adambakerwa | 50:9fc8edf722a8 | 902 | |
adambakerwa | 50:9fc8edf722a8 | 903 | |
adambakerwa | 50:9fc8edf722a8 | 904 | lcd.drawLine(30,46,70,46,1); |
adambakerwa | 50:9fc8edf722a8 | 905 | lcd.drawLine(70,46,70,40,1); |
adambakerwa | 50:9fc8edf722a8 | 906 | lcd.drawLine(70,40,84,40,1); |
adambakerwa | 50:9fc8edf722a8 | 907 | lcd.drawLine(30,46,30,48,1); |
adambakerwa | 50:9fc8edf722a8 | 908 | |
adambakerwa | 50:9fc8edf722a8 | 909 | _pos = init(_pos); |
adambakerwa | 50:9fc8edf722a8 | 910 | |
adambakerwa | 50:9fc8edf722a8 | 911 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 912 | } |
adambakerwa | 50:9fc8edf722a8 | 913 | |
adambakerwa | 50:9fc8edf722a8 | 914 | |
adambakerwa | 50:9fc8edf722a8 | 915 | |
adambakerwa | 50:9fc8edf722a8 | 916 | //run level ten |
adambakerwa | 50:9fc8edf722a8 | 917 | Pos Levels::level_ten(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 918 | { |
adambakerwa | 50:9fc8edf722a8 | 919 | |
adambakerwa | 50:9fc8edf722a8 | 920 | _pos = init(_pos); |
adambakerwa | 50:9fc8edf722a8 | 921 | |
adambakerwa | 50:9fc8edf722a8 | 922 | lcd.drawLine(0,40,70,40,1); |
adambakerwa | 50:9fc8edf722a8 | 923 | lcd.drawLine(70,40,70,0,1); |
adambakerwa | 50:9fc8edf722a8 | 924 | |
adambakerwa | 50:9fc8edf722a8 | 925 | lcd.printString(" ..the end,", 0, 0); |
adambakerwa | 50:9fc8edf722a8 | 926 | lcd.printString("now what??", 0, 1); |
adambakerwa | 50:9fc8edf722a8 | 927 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 928 | } |
adambakerwa | 50:9fc8edf722a8 | 929 | |
adambakerwa | 50:9fc8edf722a8 | 930 | |
adambakerwa | 50:9fc8edf722a8 | 931 | //run level zero |
adambakerwa | 50:9fc8edf722a8 | 932 | Pos Levels::level_zero(N5110 &lcd) |
adambakerwa | 50:9fc8edf722a8 | 933 | { |
adambakerwa | 50:9fc8edf722a8 | 934 | lcd.printString(" I said the ", 0, 0); |
adambakerwa | 50:9fc8edf722a8 | 935 | lcd.printString(" other Way.. ", 0, 1); |
adambakerwa | 50:9fc8edf722a8 | 936 | lcd.drawLine(84,40,10,40,1); |
adambakerwa | 50:9fc8edf722a8 | 937 | lcd.drawLine(10,40,10,0,1); |
adambakerwa | 50:9fc8edf722a8 | 938 | |
adambakerwa | 50:9fc8edf722a8 | 939 | |
adambakerwa | 50:9fc8edf722a8 | 940 | return _pos; |
adambakerwa | 50:9fc8edf722a8 | 941 | } |