Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Level1/Level1.cpp@26:bce40bf4c9fc, 2019-04-09 (annotated)
- 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?
| User | Revision | Line number | New 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 |