[HOW TO RUN THE GAME] Start the game by executing the following commands on OpenLab: g++ -std=c++0x main.cpp World.cpp Tile.cpp Helper.cpp DummyAgent.cpp PoorAgent.cpp AverageAgent.cpp SmartAgent.cpp ./a.out [RESIZING WINDOW] If the game board looks strange (cells are not lined up), resize the window by stretching the window horizontally. [GAME CONFIGURATION] First, it will ask user for the gameboard dimension (4x4, 5x5, 6x6, or 7x7). Then, it will allow the user to choose to see one game board (by typing in 'c' manually) at a time OR view the game results instantly. Once the user configures these game settings, the game will begin. After each game, you have an option to start another game. Simply type in any string and press enter to reply. If you wish to quit the game, type in 'q'. [DIFFERENT AI LEVELS] There are 3 different agents provided in this zip file: 1. DummyAgent - allows user to "self play" and decide the agent's move. 2. PoorAgent - poor AI that never shoots arrow and miscalculates pit likelihood. 3. AverageAgent - average AI that finds the gold most of the time and exits safely. Once it finds the gold, it traces back the path it took to find the gold (inefficient and not optimized). 4. SmartAgent - smart AI that ALWAYS finds the gold and exits the cave safely OR exits the cave without gold when there are no longer safe moves to make. Once the agent finds the gold, it finds the shortest path back to the exit. [USING DIFFERENT AI] By default, the game runs using SmartAgent. However, you can choose to run other Agent versions by commenting/uncommenting a few lines of code in World.hpp and World.cpp. World.cpp (lines 117-120) World.hpp (lines 41-44) In both header and cpp files of World, comment out SmartAgent line and uncomment the agent you wish to run. Recompile and run the game. (Note: Attempted to allow user to select AI level in the beginning of the game (in game configuration) but did not work due to the game logic design. C++ variables are not type-free and would not allow overwrite/assignment to different agent types! [ABBREVIATIONS ON GAME BOARD] -S DeadWumpus W Wumpus B Breeze S Stench G Gold P Pit If you have any questions, please email mwee@uci.edu. Poor/Average/Smart AI created by Minjae Wee