cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
18 août 2008 à 13:18
cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
18 août 2008 à 16:46
Bonjour,
J'aimerais obtenir la position x : y de la n ième case sur cette petite
grille isométrique. J'ai essayé de passer par une division et le reste
mais cela ne fonctionne pas pour les multiple de 5. J'aimerais éviter
de passer par des if, etc. alors que je pense qu'il y a bien plus
simple.
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 18 août 2008 à 16:24
Dans mon exemple je suis parti a partir de 0 à 24 (cf le schéma que j'ai fait tout à l'heure).
Vu que toi a priori le 5 est à la place 0:4, cela voudrait dire que tu commence ta numérotation de 0 à 25. Dans ce cas il faut bien un replacer $c par $c-1.
Par contre je ne comprends pas pourquoi tu veux utiliser une valeur absolue vu que si c varie entre 1 et 25, c-1 variera entre 0 et 24.
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 18 août 2008 à 15:07
Si 'c' représente la nième case (de 0 à 24) dans le cas d'un grille 5 *5..
$x = floor($_POST["c"] / 5);
$y = $_POST["c"] % 5;
(ou l'inverse en fonction de ta numérotation).
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 18 août 2008 à 15:53
C'est normal.
Sur une grille 5 * 5 les numérotation vont de 0:0 a 4:4 (comme sur ton dessin d'ailleurs.
La position 0:5 n'existe pas. Ou alors il s'agit d'une grille 6 * 6.
Pour calculer les x et y je me suis basé sur l'exemple suivant
Tu n'as peut être pas ordonné dans le même ordre que moi, il suffit peut être seulement d'inverser le x et le y.
Avec un grille 5:5
Position
0:0 1:0 2:0 3:0 4:0
0:1 1:1 2:1 3:1 4:1