bool Map::CanMove(const Direction & d1, const Point2i & pos) const { return (_cases[pos.x][pos.y].canDirection(d1) && GetCase(pos.addDirection(d1)).canDirection(directionOpposee(d1)) && GetPracticable(pos.addDirection(d1))); }