Newer
Older
Position voisine(const Position& pos, int direction) {
Position res = pos ;
switch(direction) {
case 0: // haut
res.first-- ;
break ;
case 1: // gauche
res.second++ ;
break ;
case 2: // bas
res.first++ ;
break ;
case 3: // droite
res.second-- ;
break ;
default:
throw std::invalid_argument("Direction invalide") ;
}
}
std::ostream& operator<<(std::ostream& out, const Position& pos) {
out << "{" << pos.first << "," << pos.second << "}" ;
return out ;