# Read Me for Maze Challenge Project ## Team: Group 9 - Invalid Pointer Members: Samiha Datta, Mer Anderson, Sabrina Jain GitHub usernames: samihadatta, meranderson, sabrinajain747 Date: March 9th, 2020 ### Overview The goal of the maze challenge project is to implement a maze solving method where multiple avatars drop into an unknown maze. The objective is for the avatars to traverse the maze and find each other to beat the challenge. See `DESIGN.md` for more information. ## Functional Decomposition into Modules * `AMstartup` (connects with maze server, gets maze port, creates log file and starts avatar threads) * `libmaze` library (holds all data structures created specifically for the maze challenge) * `avatar` (represents an avatar moving through maze) * `avatar_info` (the information passed to each `avatar` thread) * `message` (handles the reading and writing of messages to and from the server) * `pointlib` (useful functions related to the `XYPos` structure) * `coordinate` (doubly-linked list node) * `discovered` (doubly-linked list manipulator) * `move_algorithm` (methods that determine the optimal next move for each avatar) * `output` library (holds anything used to create user-friendly output) * `graphics` (graphical user interface methods) * `logfile` (used for printing to console and logfile) * `given` library (holds data structures that were not explicitly created for the project) * `hashtable` (hashtable data structure) * `hash function` (some module that provides a hash function for the hashtable) * `set` (set data structure) See `AMstartup/README.md`, `libmaze/README.md`, `output/README.md`, and `given/README.md` for more information. ### Compilation To build, run `make`. To clean up, run `make clean`.