Improve
Messages postés176Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention28 novembre 2009 27 nov. 2007 à 23:46
Fonctionnelle avec si peu de lignes. C'est ok, je l'ai bien saisi. Que dire des params . . . et le switch(){}. Merveilleux. @+
dj_ouf
Messages postés221Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention 6 septembre 2011 24 nov. 2007 à 01:09
nikel pour un tetris! rotation de pièces!
cs_Girou
Messages postés1203Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention23 juillet 20092 22 nov. 2007 à 08:52
@TOP30 : Excellente idée !!! J'ai développé cette 'astuce' dans une application ou je ne devais que déplacer d'une unité vers la gauche ou la droite mon tableau, mais ta proposition est nettement plus générique. Je prend !!! 10/10 :o)
zoolivier
Messages postés17Date d'inscriptionjeudi 7 octobre 2004StatutMembreDernière intervention13 mars 2009 21 nov. 2007 à 15:00
oui, bravo original et apporteur d'idée
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 21 nov. 2007 à 09:11
J'aime bien l'idée :
7/10
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 21 nov. 2007 à 09:10
J'aime bien l'edée de faire tourner dans un sens, ou dans l'autre. Chose ququel j'avais pas penser.
Mais j'aurais plutot ecris la classe comme suit :
// AS2
class [monChemin].ArrayRotation
{
public function ArrayRotation ($aWork : Array, $nSens : Number, $nTime : Number )
{
while (nTime --)
{
switch ($nSens )
{
case 1 :
$aWork.unshift ($aWork.pop ());
break ;
//
default :
$aWork.push ($aWork.shift ());
}
}
}
}
//
// AS3
package [monPackage]
{
public class ArrayRotation
{
public function ArrayRotation ($aWork : Array, $nSens : int 1, $nTime : int 1 )
{
while ($nTime --)
{
switch ($nSens )
{
case 1 :
$aWork.unshift ($aWork.pop ());
break ;
//
default :
$aWork.push ($aWork.shift ());
}
}
}
}
}
// Utilisation //
var test : Array = ('123456').split ('');
trace (test );
// 1,2,3,4,5,6
//
new ArrayRotation (test);
trace (test );
// 6,1,2,3,4,5
//
new ArrayRotation (test, -1, 3 );
trace (test );
// 3,4,5,6,1,2
27 nov. 2007 à 23:46
24 nov. 2007 à 01:09
22 nov. 2007 à 08:52
21 nov. 2007 à 15:00
21 nov. 2007 à 09:11
7/10
21 nov. 2007 à 09:10
Mais j'aurais plutot ecris la classe comme suit :
// AS2
class [monChemin].ArrayRotation
{
public function ArrayRotation ($aWork : Array, $nSens : Number, $nTime : Number )
{
while (nTime --)
{
switch ($nSens )
{
case 1 :
$aWork.unshift ($aWork.pop ());
break ;
//
default :
$aWork.push ($aWork.shift ());
}
}
}
}
//
// AS3
package [monPackage]
{
public class ArrayRotation
{
public function ArrayRotation ($aWork : Array, $nSens : int 1, $nTime : int 1 )
{
while ($nTime --)
{
switch ($nSens )
{
case 1 :
$aWork.unshift ($aWork.pop ());
break ;
//
default :
$aWork.push ($aWork.shift ());
}
}
}
}
}
// Utilisation //
var test : Array = ('123456').split ('');
trace (test );
// 1,2,3,4,5,6
//
new ArrayRotation (test);
trace (test );
// 6,1,2,3,4,5
//
new ArrayRotation (test, -1, 3 );
trace (test );
// 3,4,5,6,1,2