Après avoir créé les tableaux de couleurs, il faut maintenant les attribuer aux cartes. Nous allons pour cela utiliser une fonction qui va boucler sur toutes les cartes du memory. En actionscript 3, on peut transmettre un tableau dans un tableau de manière très simple avec :

monTableauReceveur = monTableauAvecLesDonnees

Et voilĂ  la fonction pour attribuer les couleurs des cartes du memory :

function fctAttribuerCouleur( nbLignes:Number, nbColonnes:Number ):void {
	nbCartes = nbLignes * nbColonnes ;
	nbPairesADefinir = nbCartes / 2 ;

	// On initialise le tableau temporaire avec les couleurs du tableau principal
	arrTeinteTmp = arrTeinte ;

	// La boucle qui va attribuer les couleurs aux cartes
	for ( var i:int = 0 ; i < nbCartes ; i++ ) {
		if ( arrTeinteTmp.length > 1 ) {
			arrCouleurCarte[ i ] = arrTeinteTmp[ Math.round( Math.random( ) * ( nbPairesADefinir - 1 ) + 1 ) ] ;
		}
		else {
			// La valeur 0 du tableau arrTeinteTmp est celle de la dos de carte
			arrCouleurCarte[ i ] = arrTeinteTmp[ 1 ] ;
		}
		for ( var j:int = 0 ; j < nbCartes ; j++ ) {
			if ( arrCouleurCarte[ i ] == arrCouleurCarte[ j ] && i != j ) {
				// On appelle la fonction qui va supprimer la couleur qui est utilisée deux fois.
				fctRedefinirArrTeinteTemp( arrCouleurCarte [ i ] ) ;
				break ;
			}
		}
	}
}

A voir aussi :

Quelques articles au hasard

Plus de liens