New Features
Movement Policies
RandomMove
This policy will take a list of all adjacent locations and will choose a random location
RuleBased
This policy will identify all neighboring objects and creates a list of locations with energy. Then a random location is chosen, if there are no neighboring energy objects, the Dooder will not move.
Simple Artificial Neural Network
This policy will use a simple ANN to determine the best location to move to. The model, for the time being, will have 9 inputs (one for each location) and 9 outputs (one for each location). The neural network will need to select the best option, and will learn over its lifetime.
More details on the results of the Movement Policy design can be found [here](https://github.com/csmangum/Dooders/blob/main/docs/plans/MovementPolicy.md)
Location Class
Class that provided methods and attributes for every location in the environment. A location is any cell within the grid.
Code can be found [here](https://github.com/csmangum/Dooders/blob/main/sdk/modules/location.py)
Neighborhood Class
Returns Location objects for the locations adjacent to the Dooder, with additional methods and attributes
Code can be found [here](https://github.com/csmangum/Dooders/blob/main/sdk/modules/neighborhood.py)