Fondamentalement, je crée un puzzle où vous pouvez échanger des pièces. Et je veux m'assurer que lors de l'échange de 2 éléments, la sélection est valide.Comparer 2 éléments d'une matrice 3x3 pour voir si l'élément 2 est adjacent à l'élément 1
Depuis le casse-tête est seulement 9 pièces (3x3), je suis actuellement en utilisant le code:
function valid_selection(p1, p2) {
if (p1 == 1 && (p2 == 2 || p2 == 4)) return true;
if (p1 == 2 && (p2 == 1 || p2 == 3 || p2 == 5)) return true;
if (p1 == 3 && (p2 == 2 || p2 == 6)) return true;
if (p1 == 4 && (p2 == 1 || p2 == 5 || p2 == 7)) return true;
if (p1 == 5 && (p2 == 2 || p2 == 4 || p2 == 6 || p2 == 8)) return true;
if (p1 == 6 && (p2 == 3 || p2 == 5 || p2 == 9)) return true;
if (p1 == 7 && (p2 == 4 || p2 == 8)) return true;
if (p1 == 8 && (p2 == 5 || p2 == 7 || p2 == 9)) return true;
if (p1 == 9 && (p2 == 6 || p2 == 8)) return true;
return false;
}
Mais, puis-je faire programatically? Quelqu'un sait-il d'un tel algorithme?
Toute aide est appréciée.
S'il vous plaît décrire la séquence de contrôle, parce que nous ne savons pas les règles du jeu. – Drakosha
Vous pouvez facilement voir cela en étudiant mon code actuel. C'est un peu difficile à expliquer, – google
On dirait un programme pour moi. –