ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jkeo

Dependencies:   mbed

Committer:
josh_ohara
Date:
Wed Apr 01 11:23:25 2020 +0000
Revision:
11:c174d84e4866
Parent:
10:9189419fda68
Child:
12:be491ab6e742
Bullet vector completed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
josh_ohara 7:06a2558155f0 1
josh_ohara 7:06a2558155f0 2 #include "SpaceInvaderEngine.h"
josh_ohara 7:06a2558155f0 3
josh_ohara 8:86cb9a9f8a73 4 // N5110 lcd1;
josh_ohara 8:86cb9a9f8a73 5
josh_ohara 7:06a2558155f0 6 SpaceInvaderEngine::SpaceInvaderEngine()
josh_ohara 7:06a2558155f0 7 {
josh_ohara 7:06a2558155f0 8
josh_ohara 7:06a2558155f0 9 }
josh_ohara 7:06a2558155f0 10
josh_ohara 8:86cb9a9f8a73 11 SpaceInvaderEngine::~SpaceInvaderEngine()
josh_ohara 8:86cb9a9f8a73 12 {
josh_ohara 8:86cb9a9f8a73 13
josh_ohara 8:86cb9a9f8a73 14 }
josh_ohara 8:86cb9a9f8a73 15
josh_ohara 9:8e695df3cc36 16 void SpaceInvaderEngine::init(int ship_height, int ship_width, int alien_size) {
josh_ohara 7:06a2558155f0 17
josh_ohara 7:06a2558155f0 18 S1_height = ship_height;
josh_ohara 7:06a2558155f0 19 S1_width = ship_width;
josh_ohara 9:8e695df3cc36 20 A1_size = alien_size;
josh_ohara 8:86cb9a9f8a73 21
josh_ohara 9:8e695df3cc36 22 A1y = BORDER + 5;
josh_ohara 11:c174d84e4866 23
josh_ohara 11:c174d84e4866 24 Vector2D ship_pos = S1.get_position();
josh_ohara 11:c174d84e4866 25 BS1x = ship_pos.x;
josh_ohara 11:c174d84e4866 26 BS1y = ship_pos.y;
josh_ohara 7:06a2558155f0 27
josh_ohara 9:8e695df3cc36 28 A1.init(A1y,A1_size);
josh_ohara 7:06a2558155f0 29 S1.init(S1_height,S1_width);
josh_ohara 11:c174d84e4866 30 BS1.init();
josh_ohara 8:86cb9a9f8a73 31
josh_ohara 7:06a2558155f0 32 }
josh_ohara 7:06a2558155f0 33
josh_ohara 7:06a2558155f0 34 void SpaceInvaderEngine::read_input(Gamepad &pad)
josh_ohara 7:06a2558155f0 35 {
josh_ohara 7:06a2558155f0 36 D = pad.get_direction();
josh_ohara 7:06a2558155f0 37 Mag = pad.get_mag();
josh_ohara 7:06a2558155f0 38 }
josh_ohara 8:86cb9a9f8a73 39
josh_ohara 8:86cb9a9f8a73 40 void SpaceInvaderEngine::render(N5110 &lcd)
josh_ohara 8:86cb9a9f8a73 41 {
josh_ohara 8:86cb9a9f8a73 42 S1.render(lcd);
josh_ohara 9:8e695df3cc36 43 A1.render(lcd);
josh_ohara 11:c174d84e4866 44 BS1.render(lcd);
josh_ohara 8:86cb9a9f8a73 45 }
josh_ohara 8:86cb9a9f8a73 46
josh_ohara 10:9189419fda68 47 void SpaceInvaderEngine::update(Gamepad &pad, N5110 &lcd)
josh_ohara 8:86cb9a9f8a73 48 {
josh_ohara 8:86cb9a9f8a73 49 S1.update(D,Mag);
josh_ohara 10:9189419fda68 50 A1.update(lcd);
josh_ohara 11:c174d84e4866 51 get_ship_pos();
josh_ohara 11:c174d84e4866 52 BS1.update(pad, BS1x, BS1y);
josh_ohara 8:86cb9a9f8a73 53 }
josh_ohara 8:86cb9a9f8a73 54
josh_ohara 11:c174d84e4866 55 void SpaceInvaderEngine::get_ship_pos()
josh_ohara 11:c174d84e4866 56 {
josh_ohara 11:c174d84e4866 57 Vector2D ship_pos = S1.get_position();
josh_ohara 11:c174d84e4866 58 BS1x = ship_pos.x + 4;
josh_ohara 11:c174d84e4866 59 BS1y = ship_pos.y;
josh_ohara 11:c174d84e4866 60 }
josh_ohara 11:c174d84e4866 61
josh_ohara 11:c174d84e4866 62
josh_ohara 11:c174d84e4866 63