Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
ab2149ec8This file is pinned to the selected release. Download the original to open it in your design tool.
/*
* FinderInterface.hpp
*
* Created on: Mar 5, 2017
* Author: vagrant
*/
#ifndef FINDERINTERFACE_HPP_
#define FINDERINTERFACE_HPP_
#include "Wall.hpp"
#include "Direction.hpp"
#include "Position.hpp"
#include "PositionController.hpp"
class FinderInterface
{
public:
/* Examine if there is a wall or not.
* It may look like @row and @col is not needed for @RealMouse, however, we
* can use them to see if the @RealMouse's sensor actually can reach that cell.
* if the sensor is considered it cannot reach that wall, it will return @Wall::unknown.
* @mousePos is not important for @SimulMouse but it is needed for @RealMouse
* to decide which sensor to use. */
virtual Wall examineWall(int row, int col, Direction wallDir, PositionController &mousePos) = 0;
Wall examineWall(Position pos, Direction wallDir, PositionController &mousePos)
{
return examineWall(pos.row, pos.col, wallDir, mousePos);
}
};
#endif /* FINDERINTERFACE_HPP_ */