Ikenna Adrian Ozoemena 201157039

Dependencies:   mbed

Committer:
ikenna1
Date:
Sun Apr 14 06:25:16 2019 +0000
Revision:
20:5b4b3bf5795c
Parent:
18:2cc6898de6b2
Child:
28:6319e928f0aa
Gotten collision between ship and seeker to work

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ikenna1 15:009ccc07bb57 1 #include "Enemy.h"
ikenna1 15:009ccc07bb57 2
ikenna1 15:009ccc07bb57 3 Enemy::Enemy()
ikenna1 15:009ccc07bb57 4 {
ikenna1 15:009ccc07bb57 5
ikenna1 15:009ccc07bb57 6 }
ikenna1 15:009ccc07bb57 7
ikenna1 15:009ccc07bb57 8 Enemy::~Enemy()
ikenna1 15:009ccc07bb57 9 {
ikenna1 15:009ccc07bb57 10
ikenna1 15:009ccc07bb57 11 }
ikenna1 15:009ccc07bb57 12 const int seeker[7][9] = {
ikenna1 15:009ccc07bb57 13 {1,1,0,0,0,0,0,1,1},
ikenna1 15:009ccc07bb57 14 {1,0,1,0,0,0,1,0,1},
ikenna1 15:009ccc07bb57 15 {1,0,0,1,1,1,0,0,1},
ikenna1 15:009ccc07bb57 16 {0,1,0,0,0,0,0,1,0},
ikenna1 15:009ccc07bb57 17 {0,0,1,0,0,0,1,0,0},
ikenna1 15:009ccc07bb57 18 {0,0,1,1,0,1,1,0,0},
ikenna1 15:009ccc07bb57 19 {0,0,0,0,1,0,0,0,0},
ikenna1 15:009ccc07bb57 20 };
ikenna1 15:009ccc07bb57 21
ikenna1 15:009ccc07bb57 22 void Enemy::init(int seeker_xpos,int seeker_ypos)
ikenna1 15:009ccc07bb57 23 {
ikenna1 15:009ccc07bb57 24 _seeker_xpos = seeker_xpos;
ikenna1 15:009ccc07bb57 25 _seeker_ypos = seeker_ypos;
ikenna1 15:009ccc07bb57 26
ikenna1 15:009ccc07bb57 27 }
ikenna1 15:009ccc07bb57 28 // Draw the ship ***Note: figure out how to change ship type e.g from basic to devotion
ikenna1 15:009ccc07bb57 29 void Enemy::draw_seeker(N5110 &lcd)
ikenna1 15:009ccc07bb57 30 {
ikenna1 15:009ccc07bb57 31 lcd.drawSprite(_seeker_xpos,_seeker_ypos,7,9,(int *)seeker);
ikenna1 15:009ccc07bb57 32 }
ikenna1 15:009ccc07bb57 33 void Enemy::update_seeker(int ship_xpos, int ship_ypos)
ikenna1 15:009ccc07bb57 34 {
ikenna1 15:009ccc07bb57 35 int rangex = _seeker_xpos - ship_xpos;
ikenna1 15:009ccc07bb57 36 int rangey = _seeker_ypos - ship_ypos;
ikenna1 15:009ccc07bb57 37
ikenna1 15:009ccc07bb57 38 // make seeker move towards ship
ikenna1 15:009ccc07bb57 39 if(rangey < 0) {
ikenna1 15:009ccc07bb57 40 if(rangex < 0) {
ikenna1 15:009ccc07bb57 41 _seeker_xpos = _seeker_xpos + 2;
ikenna1 15:009ccc07bb57 42 } else if(rangex == 0) {
ikenna1 15:009ccc07bb57 43 _seeker_xpos = _seeker_xpos;
ikenna1 15:009ccc07bb57 44 } else {
ikenna1 15:009ccc07bb57 45 _seeker_xpos = _seeker_xpos - 2;
ikenna1 15:009ccc07bb57 46 }
ikenna1 15:009ccc07bb57 47 }
ikenna1 15:009ccc07bb57 48
ikenna1 15:009ccc07bb57 49 // reset seeker to top
ikenna1 15:009ccc07bb57 50 if(_seeker_ypos > 54) {
ikenna1 15:009ccc07bb57 51 _seeker_ypos = 0;
ikenna1 15:009ccc07bb57 52 }
ikenna1 15:009ccc07bb57 53 _seeker_ypos = _seeker_ypos + 2;
ikenna1 20:5b4b3bf5795c 54 // printf("seeker_xpos , seeker_ypos = %d, %d\n", _seeker_xpos, _seeker_ypos);
ikenna1 15:009ccc07bb57 55 }
ikenna1 18:2cc6898de6b2 56 void Enemy::reset_seeker()
ikenna1 18:2cc6898de6b2 57 {
ikenna1 18:2cc6898de6b2 58 _seeker_xpos = 0;
ikenna1 18:2cc6898de6b2 59 _seeker_ypos = 0;
ikenna1 18:2cc6898de6b2 60 }
ikenna1 15:009ccc07bb57 61 Vector2D Enemy::get_seekerpos()
ikenna1 15:009ccc07bb57 62 {
ikenna1 15:009ccc07bb57 63 Vector2D seeker_pos = {_seeker_xpos,_seeker_ypos};
ikenna1 15:009ccc07bb57 64 return seeker_pos;
ikenna1 15:009ccc07bb57 65 }