Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Engine.cpp
- Committer:
- musallambseiso
- Date:
- 2017-03-21
- Revision:
- 4:e84724dcad49
- Child:
- 5:88886c1bd2c1
File content as of revision 4:e84724dcad49:
#include "Engine.h" Engine::Engine() { } Engine::~Engine() { } void Engine::init(int friendly_width,int friendly_height,int ship_size,int speed) { _friendly_width = friendly_width; _friendly_height = friendly_height; _ship_size = ship_size; _speed = speed; _friendlyx = GAP; _friendly.init(_friendlyx,_friendly_height,_friendly_width); _ship1.init(_ship_size,_speed); _ship2.init(_ship_size,_speed); _ship3.init(_ship_size,_speed); _ship4.init(_ship_size,_speed); _ship5.init(_ship_size,_speed); } void Engine::read_input(Gamepad &pad) { _d = pad.get_direction(); _mag = pad.get_mag(); } void Engine::draw(N5110 &lcd) { lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT); _friendly.draw(lcd); } void Engine::ship1_gen(N5110 &lcd) { _ship1.draw(lcd); } void Engine::ship2_gen(N5110 &lcd) { _ship2.draw(lcd); } void Engine::ship3_gen(N5110 &lcd) { _ship3.draw(lcd); } void Engine::ship4_gen(N5110 &lcd) { _ship4.draw(lcd); } void Engine::ship5_gen(N5110 &lcd) { _ship5.draw(lcd); } void Engine::update(Gamepad &pad) { check_pass(pad); check_death(pad); _friendly.update(_d,_mag); _ship1.update(); _ship2.update(); _ship3.update(); _ship4.update(); _ship5.update(); } void Engine::check_pass(Gamepad &pad) { Vector2D ship1_pos = _ship1.get_pos(); if (ship1_pos.x + _ship_size < 0) { _ship1.init(_ship_size,_speed); } Vector2D ship2_pos = _ship2.get_pos(); if (ship2_pos.x + _ship_size < 0) { _ship2.init(_ship_size,_speed); } Vector2D ship3_pos = _ship3.get_pos(); if (ship3_pos.x + _ship_size < 0) { _ship3.init(_ship_size,_speed); } Vector2D ship4_pos = _ship4.get_pos(); if (ship4_pos.x + _ship_size < 0) { _ship4.init(_ship_size,_speed); } Vector2D ship5_pos = _ship5.get_pos(); if (ship5_pos.x + _ship_size < 0) { _ship5.init(_ship_size,_speed); } } void Engine::check_death(Gamepad &pad) { Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship1_pos = _ship1.get_pos(); // overlap check if ((ship1_pos.y == friendly_pos.y) && (ship1_pos.x == friendly_pos.x) || (ship2_pos.y == friendly_pos.y) && (ship2_pos.x == friendly_pos.x) || (ship3_pos.y == friendly_pos.y) && (ship3_pos.x == friendly_pos.x) || (ship4_pos.y == friendly_pos.y) && (ship4_pos.x == friendly_pos.x) || (ship5_pos.y == friendly_pos.y) && (ship5_pos.x == friendly_pos.x)) { pad.tone(1000.0,0.1); } }