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
Diff: Gameengine/Gameengine.cpp
- Revision:
- 34:c5a042973e0c
- Parent:
- 33:023f57d52b1c
- Child:
- 35:b7a0f0b363d0
- Child:
- 36:203ec93b4cc7
--- a/Gameengine/Gameengine.cpp Wed Apr 10 17:56:13 2019 +0000
+++ b/Gameengine/Gameengine.cpp Thu Apr 11 21:29:48 2019 +0000
@@ -36,7 +36,6 @@
{
t.start();
read_direction(pad);
- //get_miner_pos();
_sprites.miner_move(_d, lcd);
_sprites.miner_gravity(lcd);
_sprites.miner_jump(lcd, pad);
@@ -44,25 +43,29 @@
lose_life(lcd);
game_over();
next_level(lcd);
-
+
_sprites.enemy_move(0, 0.5, lcd);
_sprites.enemy_move(1, 1, lcd);
-
+
}
-void Gameengine::draw(Key _k, N5110 &lcd, Gamepad &pad)
+void Gameengine::draw(keyed _k, N5110 &lcd, Gamepad &pad)
{
if (_level_select == 1) {
-
+
_sprites.enemy_collision(0);
_sprites.enemy_collision(1);
_sprites.miner_draw(lcd);
_l1.level_platforms(lcd);
_l1.soft_blocks(lcd);
- _l1.solid_blocks(lcd);
- _l1.keys(lcd, pad);
- _l1.keys_collected();
- _l1.traps(lcd);
+ solid_blocks(lcd);
+ _sprites.keys_collected();
+ //_l1.traps(lcd);
+ _sprites.key_collect(0, 79, 12, lcd, pad);
+ _sprites.key_collect(1, 36, 22, lcd, pad);
+ _sprites.key_collect(2, 40, 6, lcd, pad);
+ _sprites.key_collect(3, 62, 6, lcd, pad);
+ _sprites.key_collect(4, 75, 0, lcd, pad);
}
if(_level_select == 2) {
@@ -76,7 +79,7 @@
bool Gameengine::enemy_death()
{
if(_sprites.enemy_collision(0) || _sprites.enemy_collision(1) ||
- _sprites.enemy_collision(2) || _sprites.enemy_collision(3))
+ _sprites.enemy_collision(2) || _sprites.enemy_collision(3))
return true;
else {
@@ -86,7 +89,7 @@
void Gameengine::lose_life(N5110 &lcd)
{
- if (_l1.traps(lcd) == 1 || enemy_death() == true) {
+ if (trap_death(lcd) == true || enemy_death() == true) {
_lives--;
_sprites.miner_init(3, 33);
wait(1);
@@ -111,4 +114,20 @@
_sprites.miner_init(3,0);
printf("Final score is %f \n ",_lives * (60 - t.read())+ (10 * _l1.keys_collected()));
}
+}
+
+bool Gameengine::trap_death(N5110 &lcd)
+{
+ if(_sprites.trap (0, 25, 44, lcd) || _sprites.trap(1,58, 6, lcd) ||
+ _sprites.trap(2, 75, 6, lcd) || _sprites.trap(3,23,6,lcd)) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+void Gameengine::solid_blocks(N5110 &lcd)
+{
+ _sprites.blocks(0, 49,37, lcd);
+ _sprites.blocks(1, 42,22, lcd);
}
\ No newline at end of file