|  |  | @ -20,43 +20,7 @@ namespace prism { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& print(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printModelType(const ModelType &modelType); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printConstants(std::ostream &os, const std::vector<std::string> &constants); | 
			
		
	
		
			
				
					|  |  |  |        /* | 
			
		
	
		
			
				
					|  |  |  |         * Representation for Slippery Tile. | 
			
		
	
		
			
				
					|  |  |  |         *  -) North: Slips from North to South | 
			
		
	
		
			
				
					|  |  |  |         *  -) East: Slips from East to West | 
			
		
	
		
			
				
					|  |  |  |         *  -) South: Slips from South to North | 
			
		
	
		
			
				
					|  |  |  |         *  -) West: Slips from West to East | 
			
		
	
		
			
				
					|  |  |  |         */ | 
			
		
	
		
			
				
					|  |  |  |       enum class SlipperyType { North, East, South, West }; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       /* | 
			
		
	
		
			
				
					|  |  |  |        * Prints Slippery on move action. | 
			
		
	
		
			
				
					|  |  |  |        * | 
			
		
	
		
			
				
					|  |  |  |        * @param neighborhood: Information of wall-blocks in 8-neighborhood { n, nw, e, se, s, sw, w, nw }. If entry is false, then corresponding neighboorhood position is a wall. | 
			
		
	
		
			
				
					|  |  |  |        * @param orientation: Information of slippery type (either north, south, east, west). | 
			
		
	
		
			
				
					|  |  |  |        */ | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printSlipperyMove(std::ostream &os, const AgentName &agentName, const size_t &agentIndex, const coordinates &c, std::set<std::string> &slipperyActions, const std::array<bool, 8>& neighborhood, SlipperyType orientation); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       /* | 
			
		
	
		
			
				
					|  |  |  |        * Prints Slippery on turn action. | 
			
		
	
		
			
				
					|  |  |  |        * | 
			
		
	
		
			
				
					|  |  |  |        * @param neighborhood: Information of wall-blocks in 8-neighborhood { n, nw, e, se, s, sw, w, nw }. If entry is false, then corresponding neighboorhood position is a wall. | 
			
		
	
		
			
				
					|  |  |  |        * @param orientation: Information of slippery type (either north, south, east, west). | 
			
		
	
		
			
				
					|  |  |  |        */ | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printSlipperyTurn(std::ostream &os, const AgentName &agentName, const size_t &agentIndex, const coordinates &c, std::set<std::string> &slipperyActions, const std::array<bool, 8>& neighborhood, SlipperyType orientation); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printInitStruct(std::ostream &os, const AgentNameAndPositionMap &agents, const KeyNameAndPositionMap &keys, const cells &lockedDoors, const cells &unlockedDoors, prism::ModelType modelType); | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printDoneActions(std::ostream &os, const AgentName &agentName); | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printPlayerStruct(std::ostream &os, const AgentName &agentName, const bool agentWithView, const std::vector<float> &probabilities = {}, const std::set<std::string> &slipperyActions = {}); | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printGlobalMoveVariable(std::ostream &os, const size_t &numberOfPlayer); | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printRewards(std::ostream &os, const AgentName &agentName, const std::map<coordinates, float> &stateRewards, const cells &lava, const cells &goals, const std::map<Color, cells> &backgroundTiles); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printConfiguration(std::ostream &os, const std::vector<Configuration>& configurations); | 
			
		
	
		
			
				
					|  |  |  |       std::ostream& printConfiguredActions(std::ostream &os, const AgentName &agentName); | 
			
		
	
		
			
				
					|  |  |  |       void printModelType(const ModelType &modelType); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       bool isGame() const; | 
			
		
	
	
		
			
				
					|  |  | @ -96,6 +60,15 @@ namespace prism { | 
			
		
	
		
			
				
					|  |  |  |       void printFaultyMovementModule(const AgentName &a); | 
			
		
	
		
			
				
					|  |  |  |       void printMoveModule(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       void printConstants(const std::vector<std::string> &constants); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       void printDoneActions(const AgentName &agentName); | 
			
		
	
		
			
				
					|  |  |  |       void printPlayerStruct(const AgentName &agentName, const std::vector<float> &probabilities = {}, const std::set<std::string> &slipperyActions = {}); | 
			
		
	
		
			
				
					|  |  |  |       void printRewards(const AgentName &agentName, const std::map<coordinates, float> &stateRewards, const cells &lava, const cells &goals, const std::map<Color, cells> &backgroundTiles); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       void printConfiguration(const std::vector<Configuration>& configurations); | 
			
		
	
		
			
				
					|  |  |  |       void printConfiguredActions(const AgentName &agentName); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       bool anyPortableObject() const; | 
			
		
	
		
			
				
					|  |  |  |       bool faultyBehaviour() const; | 
			
		
	
		
			
				
					|  |  |  |       bool slipperyBehaviour() const; | 
			
		
	
	
		
			
				
					|  |  | 
 |