Name changes and typos

This commit is contained in:
Patricia Aas 2021-08-02 14:09:03 +02:00
parent 335f15e276
commit ab9664d07f
4 changed files with 9 additions and 8 deletions

View File

@ -23,7 +23,8 @@ Position Blinky::target(const GameState & gameState) const {
if (isInPen())
return penDoorPosition();
return state == State::Chase ? gridPositionToPosition(gameState.pacMan.positionInGrid()) : scatterTarget();
const auto pacManPosition = gridPositionToPosition(gameState.pacMan.positionInGrid());
return state == State::Chase ? pacManPosition : scatterTarget();
}
Position Blinky::initialPosition() const {

View File

@ -26,10 +26,10 @@ Position Clyde::target(const GameState & gameState) const {
// Clyde always target its scatter target, unless pacman is further than 8 tiles away
auto targetPosition = scatterTarget();
const auto & pacmanPosition = gameState.pacMan.positionInGrid();
auto distanceFomPacMan = std::hypot(pos.x - pacmanPosition.x, pos.y - pacmanPosition.y);
const auto pacManPosition = gameState.pacMan.positionInGrid();
auto distanceFomPacMan = std::hypot(pos.x - pacManPosition.x, pos.y - pacManPosition.y);
if (state == State::Chase && distanceFomPacMan > 8)
targetPosition = gridPositionToPosition(pacmanPosition);
targetPosition = gridPositionToPosition(pacManPosition);
return targetPosition;
}

View File

@ -199,14 +199,14 @@ void Ghost::updateAnimation(std::chrono::milliseconds time_delta) {
* Ghosts alternate between the scatter and chase states at
* specific intervals
*/
Ghost::State Ghost::defaultStateAtDuration(std::chrono::seconds s) {
Ghost::State Ghost::defaultStateAtDuration(std::chrono::seconds seconds) {
// This array denotes the duration of each state, alternating between scatter and chase
std::array changes = { /*scatter*/ 7, 20, 7, 20, 5, 20, 5 };
// To know the current state we first compute the cumulative time using std::partial_sum
// This gives us {7, 27, 34, 54, 59, 79, 84}
std::partial_sum(std::begin(changes), std::end(changes), std::begin(changes));
// Then we look for the first value in the array greater than the time spend in chase/scatter states
auto it = std::upper_bound(std::begin(changes), std::end(changes), s.count());
// Then we look for the first value in the array greater than the time spent in chase/scatter states
auto it = std::upper_bound(std::begin(changes), std::end(changes), seconds.count());
// We get the position of that iterator in the array
auto count = std::distance(std::begin(changes), it);
// Because the first positition is scatter, all the even positions will be scatter

View File

@ -41,7 +41,7 @@ private:
void updateDirection(const GameState & gameState);
protected:
State defaultStateAtDuration(std::chrono::seconds s);
State defaultStateAtDuration(std::chrono::seconds seconds);
virtual double speed(const GameState & gameState) const = 0;
virtual Position target(const GameState & gameState) const = 0;