ELEC2645 (2018/19) / Mbed 2 deprecated fy14lkaa

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Sat Apr 27 16:21:34 2019 +0000
Revision:
62:0bd9b22ad5ed
Parent:
61:b248d2c31b4f
Child:
63:5a33437d2267
added _bullet.update(); to update the bullet before  checking collisions to be able to correct for it before updating the display.

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 62:0bd9b22ad5ed 51 _bullet.update();
fy14lkaa 60:c5f97e0a14eb 52
fy14lkaa 61:b248d2c31b4f 53 void SpaceInvadersEngine::update(Gamepad&pad) {
fy14lkaa 61:b248d2c31b4f 54 _A1.update(_d,_mag);
fy14lkaa 57:45c5de9cefdf 55
fy14lkaa 61:b248d2c31b4f 56 }
fy14lkaa 61:b248d2c31b4f 57 void SpaceInvadersEngine::check_wall_collision(Gamepad &pad) {
fy14lkaa 57:45c5de9cefdf 58
fy14lkaa 61:b248d2c31b4f 59 // read current Alien attributes
fy14lkaa 61:b248d2c31b4f 60 Vector2D Alien_pos = _Alien.get_pos();
fy14lkaa 61:b248d2c31b4f 61 Vector2D Alien_velocity = _Alien.get_velocity();
fy14lkaa 57:45c5de9cefdf 62
fy14lkaa 61:b248d2c31b4f 63 }
fy14lkaa 54:095eae44895b 64
fy14lkaa 56:c8fc0a1f4132 65
fy14lkaa 57:45c5de9cefdf 66