pacman/lib/SuperPellets.cpp

26 lines
593 B
C++
Raw Normal View History

#include "SuperPellets.hpp"
2021-06-16 13:31:42 +00:00
#include <algorithm>
2021-07-05 12:10:01 +00:00
namespace pacman {
2021-07-07 09:39:09 +00:00
SuperPellets::SuperPellets()
2021-07-08 15:42:24 +00:00
: positions(initialSuperPelletPositions()) {}
2021-06-16 11:59:16 +00:00
bool SuperPellets::isPellet(GridPosition p) const {
auto match = [&p](GridPosition pellet) {
return p.x == pellet.x && p.y == pellet.y;
};
return std::any_of(positions.begin(), positions.end(), match);
}
2021-07-05 11:54:54 +00:00
bool SuperPellets::eatPelletAtPosition(GridPosition p) {
2021-06-16 11:59:16 +00:00
auto it = std::find(positions.begin(), positions.end(), p);
if (it == positions.end())
return false;
positions.erase(it);
return true;
}
2021-07-05 12:10:01 +00:00
} // namespace pacman