Étant donné une entrée de quatre entiers x 1 , y 1 , x 2 et y 2 , indiquez si un roi blanc aux échecs (avec les coordonnées ( x 1 , y 1 )) pourrait attraper un pion noir (avec les coordonnées ( x 2 , y 2 )) et capturez-le si le pion se déplace pour devenir une reine le plus rapidement possible.
Les coordonnées du conseil sont les suivantes:
first coordinate (x)
12345678
1 .#.#.#.#
2 #.#.#.#.
3 .#.#.#.#
second 4 #.#.#.#.
coordinate 5 .#.#.#.#
(y) 6 #.#.#.#.
7 .#.#.#.#
8 #.#.#.#.
Supposons qu'il soit blanc pour se déplacer (le tour du roi) et que les deux joueurs jouent de manière optimale (le roi se déplacera aussi vite que possible pour attraper le pion, et le pion se déplacera aussi vite que possible pour se promouvoir). Les coordonnées d'entrée seront toujours distinctes et le pion ne commencera jamais par une coordonnée y de 8.
Le roi se déplace d'un carré dans n'importe quelle direction à chaque tour (il peut se déplacer en diagonale), et le pion ne peut avancer que d'un espace vers l'avant (diminuer sa coordonnée y), à moins qu'il ne soit à sa position initiale (avec notre système de coordonnées, coordonnée y de 7), auquel cas il peut avancer de deux espaces.
L'entrée peut être donnée sous la forme d'une chaîne séparée par des espaces / virgules, un tableau de chaînes / entiers ou quatre arguments de fonction / ligne de commande / etc. Les coordonnées peuvent être données dans l'ordre qui convient le mieux / golfy (donc, accepter l'entrée comme [y 2 , y 1 , x 1 , y 2 ] est acceptable tant qu'elle est cohérente). La sortie doit être une valeur véridique ou fausse .
Puisqu'il s'agit de code-golf , le code le plus court en octets l'emporte.
Cas de test véridiques :
5 3 3 2
6 1 1 7
3 3 3 2
4 1 4 7
7 7 1 7
1 8 1 7
Cas de test de falsification :
6 4 3 2
8 8 1 7
3 4 3 2
1 8 1 7
, où le roi capture avant que le pion ne puisse déplacer deux espaces. Je pense que toutes les réponses se trompent maintenant. Cette situation rend le problème beaucoup plus difficile.
x1 y1 x2 y2
?