ELEC2645 (2018/19) / Mbed 2 deprecated fy14lkaa

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Sat Apr 27 18:42:35 2019 +0000
Revision:
66:0123bd3dcbc6
Parent:
65:6105f47929dd
Child:
67:4299b64ad5fc
added these two functions check_Alien_collision(pad);; check_space_ship_collisions(pad); for spaceinvadersengine class to check the collisions of the Alien and Spaceship.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 12:45b1249b3d9a 1 #include "SpaceInvadersEngine.h"
fy14lkaa 12:45b1249b3d9a 2
fy14lkaa 12:45b1249b3d9a 3 SpaceInvadersEngine::SpaceInvadersEngine()
fy14lkaa 12:45b1249b3d9a 4 {
fy14lkaa 12:45b1249b3d9a 5
fy14lkaa 12:45b1249b3d9a 6 }
fy14lkaa 12:45b1249b3d9a 7
fy14lkaa 12:45b1249b3d9a 8 SpaceInvadersEngine::~SpaceInvadersEngine()
fy14lkaa 12:45b1249b3d9a 9 {
fy14lkaa 57:45c5de9cefdf 10
fy14lkaa 57:45c5de9cefdf 11
fy14lkaa 12:45b1249b3d9a 12 }
fy14lkaa 12:45b1249b3d9a 13
fy14lkaa 12:45b1249b3d9a 14
fy14lkaa 12:45b1249b3d9a 15
fy14lkaa 12:45b1249b3d9a 16
fy14lkaa 57:45c5de9cefdf 17 void SpaceInvadersEngine::init(int space_ship_width,int space_ship_height,int bullet_size, int Alien_size, int speed)
fy14lkaa 57:45c5de9cefdf 18 {
fy14lkaa 57:45c5de9cefdf 19 // initialise the game parameters
fy14lkaa 57:45c5de9cefdf 20
fy14lkaa 13:9d6ee753eca6 21 _space_ship_width= space_ship_width;
fy14lkaa 13:9d6ee753eca6 22 _space_ship_height= space_ship_height;
fy14lkaa 13:9d6ee753eca6 23 _bullet_size= bullet_size;
fy14lkaa 57:45c5de9cefdf 24 _Alien_size= Alien_size;
fy14lkaa 13:9d6ee753eca6 25 _speed= speed;
fy14lkaa 57:45c5de9cefdf 26
fy14lkaa 57:45c5de9cefdf 27
fy14lkaa 12:45b1249b3d9a 28 }
fy14lkaa 12:45b1249b3d9a 29
fy14lkaa 12:45b1249b3d9a 30 void SpaceInvadersEngine::read_input(Gamepad &pad)
fy14lkaa 12:45b1249b3d9a 31 {
fy14lkaa 12:45b1249b3d9a 32 _d = pad.get_direction();
fy14lkaa 13:9d6ee753eca6 33 _mag = pad.get_mag();
fy14lkaa 12:45b1249b3d9a 34 }
fy14lkaa 12:45b1249b3d9a 35
fy14lkaa 57:45c5de9cefdf 36 void SpaceInvadersEngine::draw(N5110 &lcd)
fy14lkaa 12:45b1249b3d9a 37 {
fy14lkaa 12:45b1249b3d9a 38 // draw the elements in the LCD buffer
fy14lkaa 12:45b1249b3d9a 39 // pitch
fy14lkaa 57:45c5de9cefdf 40
fy14lkaa 12:45b1249b3d9a 41 //score
fy14lkaa 57:45c5de9cefdf 42 print_scores(lcd);
fy14lkaa 57:45c5de9cefdf 43 _Alien.draw(lcd);
fy14lkaa 58:74742c821522 44 _space_ship.draw(lcd);
fy14lkaa 59:9e8e8d6be5b2 45 _bullet.draw(lcd);
fy14lkaa 56:c8fc0a1f4132 46 }
fy14lkaa 57:45c5de9cefdf 47
fy14lkaa 60:c5f97e0a14eb 48 void SpaceInvadersEngine::update(Gamepad &pad)
fy14lkaa 60:c5f97e0a14eb 49 {
fy14lkaa 62:0bd9b22ad5ed 50 check_goal(pad);
fy14lkaa 66:0123bd3dcbc6 51 _bullet.update();
fy14lkaa 66:0123bd3dcbc6 52 _space_ship.update(_d,_mag);
fy14lkaa 60:c5f97e0a14eb 53
fy14lkaa 66:0123bd3dcbc6 54 _A1ien.update(_d,_mag);
fy14lkaa 66:0123bd3dcbc6 55
fy14lkaa 66:0123bd3dcbc6 56 check_Alien_collision(pad);
fy14lkaa 66:0123bd3dcbc6 57 check_space_ship_collisions(pad);
fy14lkaa 66:0123bd3dcbc6 58
fy14lkaa 57:45c5de9cefdf 59
fy14lkaa 66:0123bd3dcbc6 60 }
fy14lkaa 66:0123bd3dcbc6 61 void SpaceInvadersEngine::check_Alien_collision(Gamepad &pad)
fy14lkaa 66:0123bd3dcbc6 62 {
fy14lkaa 57:45c5de9cefdf 63
fy14lkaa 66:0123bd3dcbc6 64 // read current bullet attributes
fy14lkaa 66:0123bd3dcbc6 65 Vector2D bullet_pos = _bullet.get_pos();
fy14lkaa 66:0123bd3dcbc6 66 Vector2D bullet_velocity = _bullet.get_velocity();
fy14lkaa 66:0123bd3dcbc6 67 //check if the bullet hit the top of the alien
fy14lkaa 57:45c5de9cefdf 68
fy14lkaa 66:0123bd3dcbc6 69 }
fy14lkaa 54:095eae44895b 70
fy14lkaa 56:c8fc0a1f4132 71
fy14lkaa 57:45c5de9cefdf 72