A voir également:
- ActionScript 3 : Créer un damier dans un jeu.
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Ai suite 3 download - Télécharger - Optimisation
- Captvty 3 - Télécharger - Télévision
- Télécommande gps clio 3 ne fonctionne plus - Forum GPS
1 réponse
Bonjour,
j'ai une solution pour ton probléme, mais que j'ai du mal a l'expliquer en texte, enfin je vais essayer.
je considere donc une grille qui fait 2*(3+1) par coter (3:capacité mouvement, 1:distance d'ataque) soit 8*8
j'indice cette grille avec i pour les colonnes, j pour les lignes.
Si je consider a l'interieur de cette grille 4 zones carré :
zone 1 : pour i de 1 à 4; j de 0 à 3
zone 2 : pour i de 5 à 8; j de 1 à 4
zone 3 : pour i de 0 à 3; j de 4 à 7
zone 4 : pour i de 4 à 7; j de 5 à 8
Claire pour le moment ?
bon, alors on continu...
je m'appercoit que pour la zone 1 et la zone 4 tes cases rouges correspondent aux diagonales
et pour les zones 2 et 3 se sont les antediagonales (ou quelque chose comme ca !)
il sufit donc de se rappeler que, dans un carré, la somme des indices est constant dans une diagonale !
Donc, dans la zone 1, les carrés rouge sont dans les cases dont i+j = 4 !
donc, en pseudo code :
pour ( i = 1 à 4 )
pour ( j = 0 à 3 )
si (i+j) = 4 alors case rouge;
sinon si ( i+j ) > 4 alors cases bleu !
fin pour
fin pour
Dans la zone 4, les carrés rouge sont dans les cases dont i+j = 12 !
donc, en pseudo code :
pour ( i = 4 à 7 )
pour ( j = 5 à 8 )
si (i+j) = 12 alors case rouge;
sinon si ( i+j ) < 12 alors cases bleu !
fin pour
fin pour
Toujours ok ?
Pour les antediagonales c'est la difference des indices qui est constant !
Pour la zone 2, les carrés rouge sont dans les cases dont i-j = 4 !
donc, en pseudo code :
pour ( i = 5 à 8 )
pour ( j = 1 à 4 )
si (i-j) = 4 alors case rouge;
sinon si ( i-j ) < 4 alors cases bleu !
fin pour
fin pour
Et pour la zone 3, les carrés rouge sont dans les cases dont j-i = 4 !
donc, en pseudo code :
pour ( i = 0 à 3 )
pour ( j = 4 à 7 )
si ( j-i ) = 4 alors case rouge;
sinon si ( j-i ) < 4 alors cases bleu !
fin pour
fin pour
Voila, il ne reste plus qu'a mettre la case [4;4] en vert et c'est fini !
Je te laisse trouver les astuces pour simplifier le code...
Se serait simpas de m'envoyer ton flash quand il marchera...
Bon courage !
sinon mail moi : jean.luc.andre@free.fr
j'ai une solution pour ton probléme, mais que j'ai du mal a l'expliquer en texte, enfin je vais essayer.
je considere donc une grille qui fait 2*(3+1) par coter (3:capacité mouvement, 1:distance d'ataque) soit 8*8
j'indice cette grille avec i pour les colonnes, j pour les lignes.
Si je consider a l'interieur de cette grille 4 zones carré :
zone 1 : pour i de 1 à 4; j de 0 à 3
zone 2 : pour i de 5 à 8; j de 1 à 4
zone 3 : pour i de 0 à 3; j de 4 à 7
zone 4 : pour i de 4 à 7; j de 5 à 8
Claire pour le moment ?
bon, alors on continu...
je m'appercoit que pour la zone 1 et la zone 4 tes cases rouges correspondent aux diagonales
et pour les zones 2 et 3 se sont les antediagonales (ou quelque chose comme ca !)
il sufit donc de se rappeler que, dans un carré, la somme des indices est constant dans une diagonale !
Donc, dans la zone 1, les carrés rouge sont dans les cases dont i+j = 4 !
donc, en pseudo code :
pour ( i = 1 à 4 )
pour ( j = 0 à 3 )
si (i+j) = 4 alors case rouge;
sinon si ( i+j ) > 4 alors cases bleu !
fin pour
fin pour
Dans la zone 4, les carrés rouge sont dans les cases dont i+j = 12 !
donc, en pseudo code :
pour ( i = 4 à 7 )
pour ( j = 5 à 8 )
si (i+j) = 12 alors case rouge;
sinon si ( i+j ) < 12 alors cases bleu !
fin pour
fin pour
Toujours ok ?
Pour les antediagonales c'est la difference des indices qui est constant !
Pour la zone 2, les carrés rouge sont dans les cases dont i-j = 4 !
donc, en pseudo code :
pour ( i = 5 à 8 )
pour ( j = 1 à 4 )
si (i-j) = 4 alors case rouge;
sinon si ( i-j ) < 4 alors cases bleu !
fin pour
fin pour
Et pour la zone 3, les carrés rouge sont dans les cases dont j-i = 4 !
donc, en pseudo code :
pour ( i = 0 à 3 )
pour ( j = 4 à 7 )
si ( j-i ) = 4 alors case rouge;
sinon si ( j-i ) < 4 alors cases bleu !
fin pour
fin pour
Voila, il ne reste plus qu'a mettre la case [4;4] en vert et c'est fini !
Je te laisse trouver les astuces pour simplifier le code...
Se serait simpas de m'envoyer ton flash quand il marchera...
Bon courage !
sinon mail moi : jean.luc.andre@free.fr