estoy intentando crear la pantalla principal de las bolas, he creado 4 clases, main, caja, matrix y logic.
En matrix intento que cuando se inicializa la pantalla sortee, pero sin más de 2 bolas juntas, siempre acaban apareciendome 3 o 4 . adjunto la función Scramble, para si alguien puede orientarme ,muchas gracias.
Código ActionScript :
private function scramble():void { var point:Point; var box:Box; var tmpBox:Box; var tmpBox2:Box; var rnd:uint; var indTablero:uint=0; var max:uint=_boxes.length-1; var triod:uint; var trioi:uint; var idviejo:uint=0; for (var i:uint=1; i<max; i++) { box=_boxes[i]; point=new Point(box.x,box.y); rnd=(Math.random()*max)+1; tmpBox=_boxes[rnd]; trioi=tmpBox.idBox-1; triod=tmpBox.idBox+1; while (tmpBox.colorCode==box.colorCode) { trace( tmpBox.colorCode ); trace( "box:"+box.colorCode ); rnd=(Math.random()*max)+1; tmpBox=_boxes[rnd]; } if (tmpBox.colorCode!=box.colorCode) { switchPlaces(box,tmpBox); } } for (var j:uint=0; j<max; j++) { trace( "El color al entrar es : " + _boxes[j].colorCode ); if ((_boxes[j].colorCode == _boxes[j+1].colorCode ) && (_boxes[j].colorCode == _boxes[j+1].colorCode) && (_boxes[j].colorCode == _boxes[j+2].colorCode )) { trace("Entro??"); idviejo=_boxes[j+1].colorCode; if (idviejo>4) { _boxes[j+1]=new Box(rnd,false); trace( "MA 4El color al cambiarlo en recto es : " + _boxes[j].colorCode ); } else { rnd=(Math.random()*4)+1; _boxes[j+1]=new Box(rnd,false); trace( "ME 4 El color al cambiarlo en recto es : " + _boxes[j].colorCode ); } } if ((j>7)&&(j<55)) { if ((_boxes[j].colorCode == _boxes[j-8].colorCode ) && (_boxes[j].colorCode == _boxes[j+8].colorCode) ) { trace("Entro???????"); idviejo=_boxes[j+1].colorCode; trace( "El color al cambiarlo en perpendicular es : " + _boxes[j+1].colorCode ); if (idviejo>4) { _boxes[j+1]=new Box(idviejo-2); trace( "MAyor de 4 El color al cambiarlo en perpendicular es : " + _boxes[j+1].colorCode ); } else { _boxes[j+1]=new Box(rnd,false); trace( "Menor de 4 El color al cambiarlo en perpendicular es : " + _boxes[j+i].colorCode ); } } } } }
Hay 2 for , he puesto los 2 para mostraros 2 pruebas que he intentado, pero con ninguno de los for logro que no se repita más de 2 bolas , en dirección derecha izquierda arriba o abajo.
Como siempre mil gracias, por todo.