ECE 4180 Final
Dependencies: mbed wave_player mbed-rtos C12832_lcd 4DGL-uLCD-SE LCD_fonts SDFileSystem
Lane.cpp
- Committer:
- yqin70
- Date:
- 2019-12-08
- Revision:
- 21:cbcbb3480cad
- Parent:
- 20:7d56cdcbc9a5
File content as of revision 21:cbcbb3480cad:
#include "Lane.hpp" #include "globals.h" Lane::Lane(int x, int y) { xpos = x; ypos = y; empty = false; } void Lane::add() { ++bubblesDrawn; pops.push_back(Bubble(xpos, ypos)); } void Lane::draw() { if (!pops.empty()){ for (pops_ptr = pops.begin(); pops_ptr < pops.end(); pops_ptr++) { (*pops_ptr).draw(); } } } void Lane::moveDown() { // move each bubble //if they're past a certain horizontal limit, remove them from the dynamic array if ((pops.begin())->getYpos() >= 110+20) { // black out the bubble and remove it from the lane's vector (pops.begin())->clear(); pops.erase(pops.begin()); ++bubblesMissed; } for (pops_ptr = pops.begin(); pops_ptr < pops.end(); pops_ptr++) { (*pops_ptr).moveDown(); } } bool Lane::isEmpty() { return pops.empty(); } bool Lane::checkHit() { if ((pops.begin())->getYpos() <= 110+20 && (pops.begin())->getYpos() >= 110-20) { // black out the bubble and remove it from the lane's vector (pops.begin())->clear(); pops.erase(pops.begin()); return true; } return false; }