ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Mon Apr 01 14:59:18 2019 +0000
Revision:
17:b4079bd0e551
Parent:
16:8384e9a480ef
Child:
18:ff0a53dcb862
Keys can now be collected and counted

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 2:725c213b2396 1 #include "Levelengine.h"
el17arm 2:725c213b2396 2
el17arm 2:725c213b2396 3 Levelengine::Levelengine()
el17arm 16:8384e9a480ef 4 {
el17arm 17:b4079bd0e551 5 key_collect1 = false;
el17arm 17:b4079bd0e551 6 key_collect2 = false;
el17arm 17:b4079bd0e551 7 key_collect3 = false;
el17arm 17:b4079bd0e551 8 key_collect4 = false;
el17arm 17:b4079bd0e551 9 key_collect5 = false;
el17arm 2:725c213b2396 10 }
el17arm 2:725c213b2396 11
el17arm 2:725c213b2396 12 Levelengine::~Levelengine()
el17arm 2:725c213b2396 13 {
el17arm 2:725c213b2396 14 }
el17arm 2:725c213b2396 15
el17arm 15:2bda80896a84 16 void Levelengine::level_one(N5110 &lcd)
el17arm 16:8384e9a480ef 17 {
el17arm 3:d27ee2440829 18 //platforms
el17arm 16:8384e9a480ef 19
el17arm 11:61f28e3448d3 20 lcd.drawRect(0,HEIGHT -1,84,1,FILL_BLACK);
el17arm 14:dc3524d11921 21 lcd.drawRect(11,HEIGHT - 9, 38, 2, FILL_TRANSPARENT);
el17arm 16:8384e9a480ef 22 lcd.drawRect(65,HEIGHT - 11, 30, 2, FILL_TRANSPARENT);
el17arm 11:61f28e3448d3 23 lcd.drawRect(WIDTH - 9,HEIGHT - 19, 8, 2, FILL_BLACK);
el17arm 11:61f28e3448d3 24 lcd.drawRect(22, 25, 48, 2, FILL_BLACK);
el17arm 11:61f28e3448d3 25 lcd.drawRect(0, 25, 12, 2, FILL_BLACK);
el17arm 11:61f28e3448d3 26 lcd.drawRect(0, 17, 8, 2, FILL_BLACK);
el17arm 16:8384e9a480ef 27 lcd.drawRect(0, 9, 27, 2, FILL_BLACK);
el17arm 16:8384e9a480ef 28 lcd.drawRect(39, 9, 7, 2, FILL_BLACK);
el17arm 16:8384e9a480ef 29 lcd.drawRect(58,9,32,2,FILL_BLACK);
el17arm 16:8384e9a480ef 30
el17arm 16:8384e9a480ef 31 }
el17arm 16:8384e9a480ef 32
el17arm 16:8384e9a480ef 33 void Levelengine::soft_blocks(int x, int y, N5110 &lcd)
el17arm 16:8384e9a480ef 34 {
el17arm 16:8384e9a480ef 35 if((lcd.getPixel(x,y))||(lcd.getPixel(x+1,y))||(lcd.getPixel(x+2,y))
el17arm 16:8384e9a480ef 36 ||(lcd.getPixel(x+3,y))||(lcd.getPixel(x+4,y))||(lcd.getPixel(x+5,8)) == 1) {
el17arm 16:8384e9a480ef 37 lcd.drawRect(x,y+1,6,1,FILL_WHITE);
el17arm 16:8384e9a480ef 38 printf("pixel = %i \n", lcd.getPixel(x,y));
el17arm 16:8384e9a480ef 39 } else {
el17arm 16:8384e9a480ef 40 lcd.drawRect(x,y+1,6,1,FILL_BLACK);
el17arm 16:8384e9a480ef 41 }
el17arm 10:65a6866d418b 42 }
el17arm 8:9bc80e40ac0d 43
el17arm 16:8384e9a480ef 44 void Levelengine::draw_solid_block(int x, int y, N5110 &lcd)
el17arm 16:8384e9a480ef 45 {
el17arm 16:8384e9a480ef 46 lcd.drawSprite(x,y,3,3,(int *)solid_block);
el17arm 16:8384e9a480ef 47 lcd.drawSprite(x,y,3,3,(int *)solid_block);
el17arm 16:8384e9a480ef 48 }
el17arm 16:8384e9a480ef 49
el17arm 17:b4079bd0e551 50 void Levelengine::draw_key1(int x, int y, N5110 &lcd)
el17arm 16:8384e9a480ef 51 {
el17arm 17:b4079bd0e551 52 if(key_collect1 == false) {
el17arm 16:8384e9a480ef 53 lcd.drawSprite(x,y,3,4,(int *)key);
el17arm 16:8384e9a480ef 54 }
el17arm 17:b4079bd0e551 55 if(lcd.getPixel(x-1,y+2)&& key_collect1 == false) {
el17arm 17:b4079bd0e551 56 key_collect1 = true;
el17arm 17:b4079bd0e551 57 _keys++;
el17arm 17:b4079bd0e551 58 lcd.drawSprite(x,y,3,4,(int *)key_collected);
el17arm 17:b4079bd0e551 59 }
el17arm 17:b4079bd0e551 60 }
el17arm 16:8384e9a480ef 61
el17arm 17:b4079bd0e551 62 void Levelengine::draw_key2(int x, int y, N5110 &lcd)
el17arm 17:b4079bd0e551 63 {
el17arm 17:b4079bd0e551 64 if(key_collect2 == false) {
el17arm 17:b4079bd0e551 65 lcd.drawSprite(x,y,3,4,(int *)key);
el17arm 17:b4079bd0e551 66 }
el17arm 17:b4079bd0e551 67 if(lcd.getPixel(x-1,y+2)&& key_collect2 == false) {
el17arm 17:b4079bd0e551 68 key_collect2 = true;
el17arm 17:b4079bd0e551 69 _keys++;
el17arm 17:b4079bd0e551 70 lcd.drawSprite(x,y,3,4,(int *)key_collected);
el17arm 16:8384e9a480ef 71 }
el17arm 16:8384e9a480ef 72 }
el17arm 16:8384e9a480ef 73
el17arm 17:b4079bd0e551 74 void Levelengine::draw_key3(int x, int y, N5110 &lcd)
el17arm 17:b4079bd0e551 75 {
el17arm 17:b4079bd0e551 76 if(key_collect3 == false) {
el17arm 17:b4079bd0e551 77 lcd.drawSprite(x,y,3,4,(int *)key);
el17arm 17:b4079bd0e551 78 }
el17arm 17:b4079bd0e551 79 if(lcd.getPixel(x-1,y+2)&& key_collect3 == false) {
el17arm 17:b4079bd0e551 80 key_collect3 = true;
el17arm 17:b4079bd0e551 81 _keys++;
el17arm 17:b4079bd0e551 82 lcd.drawSprite(x,y,3,4,(int *)key_collected);
el17arm 17:b4079bd0e551 83 }
el17arm 17:b4079bd0e551 84 }
el17arm 16:8384e9a480ef 85
el17arm 17:b4079bd0e551 86 void Levelengine::draw_key4(int x, int y, N5110 &lcd)
el17arm 17:b4079bd0e551 87 {
el17arm 17:b4079bd0e551 88 if(key_collect4 == false) {
el17arm 17:b4079bd0e551 89 lcd.drawSprite(x,y,3,4,(int *)key);
el17arm 17:b4079bd0e551 90 }
el17arm 17:b4079bd0e551 91 if(lcd.getPixel(x-1,y+2)&& key_collect4 == false) {
el17arm 17:b4079bd0e551 92 key_collect4 = true;
el17arm 17:b4079bd0e551 93 _keys++;
el17arm 17:b4079bd0e551 94 lcd.drawSprite(x,y,3,4,(int *)key_collected);
el17arm 17:b4079bd0e551 95 }
el17arm 17:b4079bd0e551 96 }
el17arm 17:b4079bd0e551 97
el17arm 17:b4079bd0e551 98 void Levelengine::draw_key5(int x, int y, N5110 &lcd)
el17arm 17:b4079bd0e551 99 {
el17arm 17:b4079bd0e551 100 if(key_collect5 == false) {
el17arm 17:b4079bd0e551 101 lcd.drawSprite(x,y,3,4,(int *)key);
el17arm 17:b4079bd0e551 102 }
el17arm 17:b4079bd0e551 103 if(lcd.getPixel(x-1,y+2)&& key_collect5 == false) {
el17arm 17:b4079bd0e551 104 key_collect5 = true;
el17arm 17:b4079bd0e551 105 _keys++;
el17arm 17:b4079bd0e551 106 lcd.drawSprite(x,y,3,4,(int *)key_collected);
el17arm 17:b4079bd0e551 107 }
el17arm 17:b4079bd0e551 108 }
el17arm 17:b4079bd0e551 109
el17arm 17:b4079bd0e551 110 int Levelengine::keys_collected()
el17arm 17:b4079bd0e551 111 {
el17arm 17:b4079bd0e551 112 int k = _keys;
el17arm 17:b4079bd0e551 113 return k;
el17arm 17:b4079bd0e551 114 }