Mortal Kombat Game ELEC2645
Dependencies: mbed N5110 ShiftReg Joystick
Enemy.cpp
- Committer:
- ozy
- Date:
- 2021-04-23
- Revision:
- 10:e83899f11e8a
- Parent:
- 8:e2e2eb4ea0ca
- Child:
- 12:b4477a312158
File content as of revision 10:e83899f11e8a:
#include "Enemy.h" #include "mbed.h" Enemy::Enemy() {} int Enemy::get_x() { return _x; } int Enemy::get_y() { return _y; } void Enemy::set_x(int x) { _x = x; } void Enemy::set_y(int y) { _y = y; } void Enemy::add_x(int x) { _x += x; } void Enemy::add_y(int y) { _y += y; } void Enemy::init() { set_x(50); set_y(34); } void Enemy::draw(N5110 &lcd, int input) { const int look_left[12][10] = { { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,1,0,1,1,0,0,1,0 }, { 1,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 0,1,1,0,0,0,1,1,0,0 }, { 0,0,1,1,0,0,0,1,1,0 }, { 0,0,0,1,0,0,0,0,1,0 }, { 0,1,1,1,0,0,0,1,1,0 }, }; const int look_right[12][10] = { { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,1,1,1,0,1,0 }, { 0,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 0,0,1,1,0,0,0,1,1,0 }, { 0,1,1,0,0,0,1,1,0,0 }, { 0,1,0,0,0,1,1,0,0,0 }, { 0,1,1,0,1,1,1,1,0,0 }, }; if (input == 1) { lcd.drawSprite(_x,_y,12,10,(int *)look_right); } else { lcd.drawSprite(_x,_y,12,10,(int *)look_left); } // lcd.refresh(); } // ************************************************************************ void Enemy::move_left(N5110 &lcd){ const int run_left[12][10] = { { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,1,0,1,1,0,0,1,0 }, { 1,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 0,1,1,0,0,0,1,1,1,1 }, { 0,0,1,1,0,0,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)run_left); } void Enemy::move_left2(N5110 &lcd){ const int run_left[12][10] = { { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,1,1,1,0,0,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,1,0,1,1,0,0,1,0 }, { 1,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,0,1,0,1,0,0,0 }, { 0,0,0,1,0,0,0,1,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)run_left); } // ************************************************************************ void Enemy::move_right(N5110 &lcd) { const int run_right[12][10] = { { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,1,1,1,0,1,0 }, { 0,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 1,1,1,1,0,0,0,1,1,0 }, { 0,0,0,0,0,0,1,1,0,0 }, { 0,0,0,0,0,1,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)run_right); } void Enemy::move_right2(N5110 &lcd) { const int midrun_right[12][10] = { { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,0,0,1,1,1,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,1,1,1,0,1,0 }, { 0,1,1,0,1,1,0,1,1,1 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,0,1,0,0,0,0 }, { 0,0,1,0,0,0,1,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)midrun_right); } void Enemy::sword_right(N5110 &lcd) { const int swordsprite[12][10] = { { 0,0,1,1,1,1,0,0,0,0 }, { 1,0,1,1,1,1,0,0,0,0 }, { 1,0,0,1,1,0,0,0,0,0 }, { 1,1,0,1,1,0,1,0,0,0 }, { 0,1,1,1,1,1,1,1,1,1 }, { 0,0,0,1,1,0,1,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,1,1,1,1,0,0,0,0 }, { 0,1,1,0,0,1,1,0,0,0 }, { 0,1,0,0,1,1,0,0,0,0 }, { 1,1,0,0,1,0,0,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); } // ************************************************************************ void Enemy::sword_left(N5110 &lcd) { const int swordsprite[12][10] = { { 0,0,0,0,1,1,1,1,0,0 }, { 0,0,0,0,1,1,1,1,0,1 }, { 0,0,0,0,0,1,1,0,0,1 }, { 0,0,0,1,0,1,1,0,1,1 }, { 1,1,1,1,1,1,1,1,1,0 }, { 0,0,0,1,0,1,1,0,0,0 }, { 0,0,0,0,0,1,1,0,0,0 }, { 0,0,0,0,0,1,1,0,0,0 }, { 0,0,0,0,1,1,1,1,0,0 }, { 0,0,0,1,1,0,0,1,1,0 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,0,0,1,0,0,1,1 }, }; lcd.drawSprite(_x,_y,12,10,(int *)swordsprite); } // ************************************************************************ void Enemy::kick_right(N5110 &lcd) { const int kick[12][10] = { { 0,1,1,0,0,0,0,0,0,0 }, { 0,1,1,0,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,1 }, { 0,0,1,1,1,0,0,0,1,1 }, { 0,1,1,1,1,1,1,1,0,0 }, { 0,1,0,0,1,1,1,0,0,0 }, { 1,1,1,0,1,1,0,0,0,0 }, { 0,1,0,0,1,0,0,0,0,0 }, { 0,1,0,1,1,0,0,0,0,0 }, { 0,0,0,1,0,0,0,0,0,0 }, { 0,0,1,1,0,0,0,0,0,0 }, { 0,0,1,1,0,0,0,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)kick); } // ************************************************************************ void Enemy::kick_left(N5110 &lcd) { const int kick[12][10] = { { 0,0,0,0,0,0,0,1,1,0 }, { 0,0,0,0,1,1,0,1,1,0 }, { 1,0,0,1,1,1,1,0,0,0 }, { 1,1,0,0,0,1,1,1,0,0 }, { 0,0,1,1,1,1,1,1,1,0 }, { 0,0,0,1,1,1,0,0,1,0 }, { 0,0,0,0,1,1,0,1,1,1 }, { 0,0,0,0,0,1,0,0,1,0 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,0,1,0,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, }; lcd.drawSprite(_x,_y,12,10,(int *)kick); } // ************************************************************************