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: Enemy/Enemy1.cpp
- Revision:
- 11:953141c3f7dd
- Parent:
- 10:7ba63530dc04
- Child:
- 12:200a1266ceee
--- a/Enemy/Enemy1.cpp Mon Apr 29 22:08:22 2019 +0000 +++ b/Enemy/Enemy1.cpp Thu May 02 17:50:39 2019 +0000 @@ -0,0 +1,84 @@ +#include "Enemy1.h" + +Enemy1::Enemy1(){ + x_enem = 27; + y_enem = 17; +} + +Enemy1::~Enemy1(){ + +} + +void Enemy1::init(int x,int y){ + x_enem = x; + y_enem = y; +} + +int Enemy1::get_x_enem() +{ + return x_enem; +} + +int Enemy1::get_y_enem() +{ + return y_enem; +} + +void Enemy1::drawSprite(N5110 &lcd){ + lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_01); +} + +void Enemy1::movement(N5110 &lcd){ + accel = 1; + + if (southCollision(x_enem, y_enem, lcd) == true && westCollision(x_enem, y_enem, lcd) == true){ + y_enem -= accel; + } else if (southCollision(x_enem, y_enem, lcd) == true && eastCollision(x_enem, y_enem, lcd) == true){ + x_enem -= accel; + } else if (northCollision(x_enem, y_enem, lcd) == true && westCollision(x_enem, y_enem, lcd) == true){ + x_enem += accel; + } else if (northCollision(x_enem, y_enem, lcd) == true && eastCollision(x_enem, y_enem, lcd) == true){ + y_enem += accel; + } +} + + +bool Enemy1::northCollision(int x, int y, N5110 &lcd){ + + for (int i = 0; i < 7; i++) { + if (lcd.getPixel(x + i,y + 1) == 1) { + return true; + } + } + return false; +} + +bool Enemy1::southCollision(int x, int y, N5110 &lcd){ + + for (int i = 0; i < 7; i++) { + if (lcd.getPixel(x + i,y + 7) == 1) { + return true; + } + } + return false; +} + +bool Enemy1::eastCollision(int x, int y, N5110 &lcd){ + + for (int i = 0; i < 7; i++) { + if (lcd.getPixel(x + 6,y + i) == 1) { + return true; + } + } + return false; +} + +bool Enemy1::westCollision(int x, int y, N5110 &lcd){ + + for (int i = 0; i < 7; i++) { + if (lcd.getPixel(x + 1,y + i) == 1) { + return true; + } + } + return false; +} \ No newline at end of file