Change structure
This commit is contained in:
parent
c9b8277d8f
commit
9934add502
1 changed files with 21 additions and 16 deletions
|
@ -16,11 +16,13 @@ You only need to worry about the grid itself and any ghosts on the North/South/E
|
|||
|
||||
## Exercise
|
||||
|
||||
1. Implement [PacManAI::pelletClosestToPacman](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Find pellet closest to pacman"_
|
||||
### Part 1
|
||||
|
||||
The function should return the position of the pellet that is "closest" to PacMan. One implementation could be
|
||||
to sort the vector of pellets by the distance they have to PacMan, and then return the first one.
|
||||
Implement [PacManAI::pelletClosestToPacman](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Find pellet closest to pacman"_
|
||||
|
||||
The function should return the position of the pellet that is "closest" to PacMan. One implementation could be to sort
|
||||
the vector of pellets by the distance they have to PacMan, and then return the first one.
|
||||
|
||||
```cpp
|
||||
GridPosition PacManAI::pelletClosestToPacman(GridPosition pacmanGridPosition,
|
||||
|
@ -31,20 +33,22 @@ GridPosition PacManAI::pelletClosestToPacman(GridPosition pacmanGridPosition,
|
|||
|
||||
<details>
|
||||
<summary>Hint 1</summary>
|
||||
|
||||
|
||||
Use the `positionDistance` function to find the distance to PacMan.
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>Hint 2</summary>
|
||||
|
||||
|
||||
Use the [std::sort](https://en.cppreference.com/w/cpp/algorithm/sort) function to sort the vector.
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
2. Implement [PacManAI::isValidMove](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Is valid move"_
|
||||
|
||||
### Part 2
|
||||
|
||||
Implement [PacManAI::isValidMove](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Is valid move"_
|
||||
|
||||
```cpp
|
||||
bool PacManAI::isValidMove(const Move & move) {
|
||||
return false;
|
||||
|
@ -53,13 +57,14 @@ bool PacManAI::isValidMove(const Move & move) {
|
|||
|
||||
<details>
|
||||
<summary>Hint</summary>
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
3. Implement [PacManAI::optimalDirection](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Is optimal direction"_
|
||||
|
||||
</details>
|
||||
|
||||
### Part 3
|
||||
|
||||
Implement [PacManAI::optimalDirection](../../../lib/PacManAI.cpp) and test your implementation with the test
|
||||
in [testPacmanAI.cpp](../../../test/testPacmanAI.cpp) called _"Is optimal direction"_
|
||||
|
||||
```cpp
|
||||
Direction PacManAI::optimalDirection(const std::array<Move, 4> & moves) {
|
||||
return Direction::NONE;
|
||||
|
|
Loading…
Reference in a new issue