Merci nickadele pour le post que tu as mis sur le site, je l'ai regardé et j'ai mieux compris et sa ma permis d'optimiser mon code et j'en arrive a un code similaire au tiens. En fait je me prenait trop la tête avec les lignes et colonnes mais la j'ai mieux compris et j'ai bien commenté mon code afin de le refaire correctement à tout moment.
Et tu avais raison pour les compteurs, maintenant j'en utilise plus que un seul.
Franchement merci à toi d'avoir pris sur ton temps pour m'aider à faire ce tableau spirale et franchement c'est vraiment gentil de ta part de m'avoir accordé cette aide précieuse nickadele.
MERCI MERCI MERCI
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 25 nov. 2007 à 11:51
Bonjour,
si la taille du carré est supérieure à 1
if (vartaille>1){
je m'assure d'avoir une valeur entière, pour bien faire il faudrait également tester qu'il ne s'agit pas d'une chaine de caractère ou d'une valeur undifined
var taille=parseInt(vartaille);
var nbr=0;
var damier=new Array(taille);
Calcul le nombre de carré qu'il y a dans mon carré initiale en fonction de la taille
ex : si j'ai un carré de taille 4 il contient 2 carrés (4/2)
var nbrcarre = parseInt(taille / 2);
...........
il s'agit du calcul du modulo (reste d'une division) si taille vaut 5, la division de 5 par 2 donne comme reste 1 (5%2)=1. J'ai fait ce test car si tu regardes le remplissage du carré avec une taille impaire tu t'apercevras qu'il reste un carré de 1 sur 1 (le centre) en fin de remplissage. Il faut donc le remplir avec la dernière valeur.
if (taille%2){
damier[premiereligne][premiereligne]=nbr;
//affichage
affichagetableau(damier);
}
25 nov. 2007 à 15:11
Et tu avais raison pour les compteurs, maintenant j'en utilise plus que un seul.
Franchement merci à toi d'avoir pris sur ton temps pour m'aider à faire ce tableau spirale et franchement c'est vraiment gentil de ta part de m'avoir accordé cette aide précieuse nickadele.
MERCI MERCI MERCI
25 nov. 2007 à 11:51
si la taille du carré est supérieure à 1
if (vartaille>1){
je m'assure d'avoir une valeur entière, pour bien faire il faudrait également tester qu'il ne s'agit pas d'une chaine de caractère ou d'une valeur undifined
var taille=parseInt(vartaille);
var nbr=0;
var damier=new Array(taille);
Calcul le nombre de carré qu'il y a dans mon carré initiale en fonction de la taille
ex : si j'ai un carré de taille 4 il contient 2 carrés (4/2)
var nbrcarre = parseInt(taille / 2);
...........
il s'agit du calcul du modulo (reste d'une division) si taille vaut 5, la division de 5 par 2 donne comme reste 1 (5%2)=1. J'ai fait ce test car si tu regardes le remplissage du carré avec une taille impaire tu t'apercevras qu'il reste un carré de 1 sur 1 (le centre) en fin de remplissage. Il faut donc le remplir avec la dernière valeur.
if (taille%2){
damier[premiereligne][premiereligne]=nbr;
//affichage
affichagetableau(damier);
}
25 nov. 2007 à 11:29
if (vartaille>1){
var taille=parseInt(vartaille);
var nbr=0;
var damier=new Array(taille);
var nbrcarre = parseInt(taille / 2);
et aussi cette partie de code:
if (taille%2){
damier[premiereligne][premiereligne]=nbr;
//affichage
affichagetableau(damier);
}
Je te remercie beaucoup nickadele