ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Tue Apr 09 01:36:47 2019 +0000
Revision:
26:bce40bf4c9fc
Parent:
24:9c7aca60e374
Child:
27:e73dd64ef334
created an enemy that will move side to side along a platform. I can control its speed also by making the _x increment in the if statement smaller or larger

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 18:ff0a53dcb862 1 #include "Level1.h"
el17arm 18:ff0a53dcb862 2
el17arm 18:ff0a53dcb862 3 Level1::Level1()
el17arm 18:ff0a53dcb862 4 {
el17arm 18:ff0a53dcb862 5 }
el17arm 18:ff0a53dcb862 6
el17arm 18:ff0a53dcb862 7 Level1::~Level1()
el17arm 18:ff0a53dcb862 8 {
el17arm 18:ff0a53dcb862 9 }
el17arm 18:ff0a53dcb862 10
el17arm 18:ff0a53dcb862 11 void Level1::level_platforms(N5110 &lcd)
el17arm 18:ff0a53dcb862 12 {
el17arm 20:78bd235f8caa 13 lcd.drawLine(0,47,83,47, 1);
el17arm 26:bce40bf4c9fc 14 lcd.drawRect(11,39, 38, 2, FILL_BLACK);
el17arm 26:bce40bf4c9fc 15 lcd.drawRect(65,37, 30, 2, FILL_BLACK);
el17arm 26:bce40bf4c9fc 16 lcd.drawRect(75,29, 8, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 17 lcd.drawRect(22, 25, 48, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 18 lcd.drawRect(0, 25, 12, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 19 lcd.drawRect(0, 17, 8, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 20 lcd.drawRect(0, 9, 27, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 21 lcd.drawRect(39, 9, 7, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 22 lcd.drawRect(58,9,32,2,FILL_BLACK);
el17arm 18:ff0a53dcb862 23 }
el17arm 18:ff0a53dcb862 24
el17arm 18:ff0a53dcb862 25 void Level1::soft_blocks(N5110 &lcd)
el17arm 18:ff0a53dcb862 26 {
el17arm 18:ff0a53dcb862 27 _level.soft_blocks(46, 8, lcd);
el17arm 18:ff0a53dcb862 28 _level.soft_blocks(52, 8, lcd);
el17arm 18:ff0a53dcb862 29 _level.soft_blocks(55, 36, lcd);
el17arm 18:ff0a53dcb862 30 _level.soft_blocks(33, 8, lcd);
el17arm 18:ff0a53dcb862 31 _level.soft_blocks(27, 8, lcd);
el17arm 18:ff0a53dcb862 32 _level.soft_blocks(59, 36, lcd);
el17arm 18:ff0a53dcb862 33 }
el17arm 18:ff0a53dcb862 34
el17arm 18:ff0a53dcb862 35 void Level1::solid_blocks(N5110 &lcd)
el17arm 18:ff0a53dcb862 36 {
el17arm 18:ff0a53dcb862 37 _level.draw_solid_block(49,37, lcd);
el17arm 18:ff0a53dcb862 38 _level.draw_solid_block(52,37, lcd);
el17arm 18:ff0a53dcb862 39 _level.draw_solid_block(45,22, lcd);
el17arm 18:ff0a53dcb862 40 _level.draw_solid_block(42,22, lcd);
el17arm 18:ff0a53dcb862 41 }
el17arm 18:ff0a53dcb862 42
el17arm 24:9c7aca60e374 43 void Level1::keys(N5110 &lcd, Gamepad &pad)
el17arm 18:ff0a53dcb862 44 {
el17arm 24:9c7aca60e374 45
el17arm 24:9c7aca60e374 46 _level.key_collect(0, 79, 12, lcd, pad);
el17arm 24:9c7aca60e374 47 _level.key_collect(1, 36, 22, lcd, pad);
el17arm 24:9c7aca60e374 48 _level.key_collect(2, 40, 6, lcd, pad);
el17arm 24:9c7aca60e374 49 _level.key_collect(3, 62, 6, lcd, pad);
el17arm 24:9c7aca60e374 50 _level.key_collect(4, 75, 0, lcd, pad);
el17arm 26:bce40bf4c9fc 51
el17arm 18:ff0a53dcb862 52 }
el17arm 18:ff0a53dcb862 53
el17arm 26:bce40bf4c9fc 54 int Level1::traps(N5110 &lcd)
el17arm 18:ff0a53dcb862 55 {
el17arm 26:bce40bf4c9fc 56 if(_level.trap(25, 45, lcd) || _level.trap(58, 7, lcd) ||
el17arm 26:bce40bf4c9fc 57 _level.trap(75, 7, lcd) || _level.trap(23,7,lcd)) {
el17arm 18:ff0a53dcb862 58 return 1;
el17arm 18:ff0a53dcb862 59 } else {
el17arm 18:ff0a53dcb862 60 return 0;
el17arm 18:ff0a53dcb862 61 }
el17arm 18:ff0a53dcb862 62 }
el17arm 18:ff0a53dcb862 63
el17arm 18:ff0a53dcb862 64 int Level1::keys_collected()
el17arm 18:ff0a53dcb862 65 {
el17arm 18:ff0a53dcb862 66 int k =_level.keys_collected();
el17arm 18:ff0a53dcb862 67 return k;
el17arm 20:78bd235f8caa 68 }
el17arm 20:78bd235f8caa 69
el17arm 20:78bd235f8caa 70 bool Level1::level1_exit(N5110 &lcd)
el17arm 20:78bd235f8caa 71 {
el17arm 26:bce40bf4c9fc 72 if(_level.exit_level(78,41,lcd) == true) {
el17arm 20:78bd235f8caa 73 return true;
el17arm 20:78bd235f8caa 74 } else {
el17arm 20:78bd235f8caa 75 return false;
el17arm 20:78bd235f8caa 76 }
el17arm 26:bce40bf4c9fc 77 }
el17arm 26:bce40bf4c9fc 78
el17arm 26:bce40bf4c9fc 79 void Level1::enemy_init(int x, int y, int d)
el17arm 26:bce40bf4c9fc 80 {
el17arm 26:bce40bf4c9fc 81 _x = x;
el17arm 26:bce40bf4c9fc 82 _y = y;
el17arm 26:bce40bf4c9fc 83 _d = d;
el17arm 26:bce40bf4c9fc 84
el17arm 26:bce40bf4c9fc 85 }
el17arm 26:bce40bf4c9fc 86
el17arm 26:bce40bf4c9fc 87 void Level1::enemies_right(N5110 &lcd)
el17arm 26:bce40bf4c9fc 88 {
el17arm 26:bce40bf4c9fc 89 lcd.drawSprite(_x,_y,5,3, (int *) enemy);
el17arm 26:bce40bf4c9fc 90 if (lcd.getPixel(_x+3,_y+4) == 0 && _d == 0) {
el17arm 26:bce40bf4c9fc 91 _x = _x + 0.25;
el17arm 26:bce40bf4c9fc 92 }
el17arm 26:bce40bf4c9fc 93 if (lcd.getPixel(_x+3,_y+4) == 1) {
el17arm 26:bce40bf4c9fc 94 _d = 1;
el17arm 26:bce40bf4c9fc 95 }
el17arm 26:bce40bf4c9fc 96 }
el17arm 26:bce40bf4c9fc 97
el17arm 26:bce40bf4c9fc 98 void Level1::enemies_left(N5110 &lcd)
el17arm 26:bce40bf4c9fc 99 {
el17arm 26:bce40bf4c9fc 100 if (_d == 1 && lcd.getPixel(_x, _y +5) == 1) {
el17arm 26:bce40bf4c9fc 101 _x = _x - 0.25;
el17arm 26:bce40bf4c9fc 102 }
el17arm 26:bce40bf4c9fc 103 if (lcd.getPixel(_x,_y+5) == 0) {
el17arm 26:bce40bf4c9fc 104 _d = 0;
el17arm 26:bce40bf4c9fc 105 }
el17arm 26:bce40bf4c9fc 106 printf("_d = %i \n", _d);
el17arm 26:bce40bf4c9fc 107 printf("pixel = %i \n", lcd.getPixel(_x+3,_y+5));
el17arm 26:bce40bf4c9fc 108 }
el17arm 26:bce40bf4c9fc 109