#include <Coord.hpp>
#include <Board.hpp>
#include <Constexpr.hpp>
#include "check_path.tpp"
Aller au code source de ce fichier.
|
template<std::size_t N, std::size_t M> |
CONSTEXPR bool | check_path_straight_1_instance (Board< N, M > const &board, Coord const &dpt, Coord const &arv, std::size_t position, std::optional< Coord > position_other_piece_merge) |
| Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement orthogonale.
|
|
template<std::size_t N, std::size_t M> |
CONSTEXPR bool | check_path_diagonal_1_instance (Board< N, M > const &board, Coord const &dpt, Coord const &arv, std::size_t position, std::optional< Coord > position_other_piece_merge) |
| Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement diagonale.
|
|
template<std::size_t N, std::size_t M> |
CONSTEXPR bool | check_path_queen_1_instance (Board< N, M > const &board, Coord const &dpt, Coord const &arv, std::size_t position, std::optional< Coord > position_other_piece_merge) |
| Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement orthogonale ou diagonale.
|
|
◆ check_path_diagonal_1_instance()
template<std::size_t N, std::size_t M>
CONSTEXPR bool check_path_diagonal_1_instance |
( |
Board< N, M > const & | board, |
|
|
Coord const & | dpt, |
|
|
Coord const & | arv, |
|
|
std::size_t | position, |
|
|
std::optional< Coord > | position_other_piece_merge ) |
Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement diagonale.
- Paramètres du template
-
N | Le nombre de ligne du plateau |
M | Le nombre de colonnes du plateau |
- Paramètres
-
[in] | board | Le plateau |
[in] | dpt | Les coordonnées de la case de départ |
[in] | arv | Les coordonnées de la case d'arrivé |
[in] | position | L'instance du plateau |
- Renvoie
- true si le mouvement est possible
-
false si le mouvement est bloqué, on si ce n'est pas un mouvement diagonale.
◆ check_path_queen_1_instance()
template<std::size_t N, std::size_t M>
CONSTEXPR bool check_path_queen_1_instance |
( |
Board< N, M > const & | board, |
|
|
Coord const & | dpt, |
|
|
Coord const & | arv, |
|
|
std::size_t | position, |
|
|
std::optional< Coord > | position_other_piece_merge ) |
Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement orthogonale ou diagonale.
- Paramètres du template
-
N | Le nombre de ligne du plateau |
M | Le nombre de colonnes du plateau |
- Paramètres
-
[in] | board | Le plateau |
[in] | dpt | Les coordonnées de la case de départ |
[in] | arv | Les coordonnées de la case d'arrivé |
[in] | position | L'instance du plateau |
- Renvoie
- true si le mouvement est possible
-
false si le mouvement est bloqué, on si ce n'est pas un mouvement orthogonal ou diagonale.
◆ check_path_straight_1_instance()
template<std::size_t N, std::size_t M>
CONSTEXPR bool check_path_straight_1_instance |
( |
Board< N, M > const & | board, |
|
|
Coord const & | dpt, |
|
|
Coord const & | arv, |
|
|
std::size_t | position, |
|
|
std::optional< Coord > | position_other_piece_merge ) |
Vérififie si il y a une pièce entre deux cases sur une instance du plateau pour un mouvement orthogonale.
- Paramètres du template
-
N | Le nombre de ligne du plateau |
M | Le nombre de colonnes du plateau |
- Paramètres
-
[in] | board | Le plateau |
[in] | dpt | Les coordonnées de la case de départ |
[in] | arv | Les coordonnées de la case d'arrivé |
[in] | position | L'instance du plateau |
- Renvoie
- true si le mouvement est possible
-
false si le mouvement est bloqué, on si ce n'est pas un mouvementorthogonal