Comunidad de diseño web y desarrollo en internet online

ramdom con fichas exactas

Citar            
MensajeEscrito el 07 Abr 2011 10:41 am
hola, soy nueva en este foro, intentaré ser clara:
estoy programando un juego en el que hay que encontrar parejas y al pulsar sobre ellas se eliminan.
he usado duplicatemovieclip para ordenarlas aleatoriamente, pero se repiten algunas más que otras y quiero que solo aparezcan cuatro veces cada ficha, como puedo hacerlo?

Por mariamaria

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2011 02:19 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2011 03:08 pm
no funciona como quiero. me explico mejor: tengo un clip de pelicula con 36 imagenes, una por frame. llevo este clip de pelicula a la programación para que se coloquen en una matriz con 144 posiciones. uso duplicateviclip mas el random y en vez de crearse cuatro veces cada ficha, unas salen 6 veces, otras solo dos, etc. ¿ hay alguna forma para que salgan las mismas veces cada ficha y con orden aleatorio? gracias igualmente

Código ActionScript :

for (_global.nivel=0;_global.nivel<nNiveles;_global.nivel++){
 for (_global.fila=0;_global.fila<nFilas;_global.fila++){
   for (_global.col=0;_global.col<nCols;_global.col++){
      
      if (configTablero[_global.nivel][_global.fila][_global.col]==1){
         
          nombre="ficha"+_global.nivel+"_"+_global.fila+"_"+_global.col;
   
         duplicateMovieClip (_root.miFichaPatron, nombre, _global.nivel*nFilas*nCols+nCols*_global.fila+_global.col);
         tellTarget(nombre){
                nFicha=random(36)+1;
            configTablero[_global.nivel][_global.fila][_global.col]=nFicha;
            filaN=_global.fila;
             colN=_global.col;
            nivelN=_global.nivel;
            gotoAndStop (nFicha);
          }

Por mariamaria

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2011 05:20 pm
duplicateMovieClip, tellTarget, mucho _global, eso es sintaxis de Flash 4 ... hace mucho que no tocas el AS;
En realidad si lo piensas desde el punto de vista logico, tienes que colocar 4 cartas del mismo tipo en 144 posiciones. Si bien una grilla es un array bidimensional, lo puedes pensar con un simple listado, luego en tu loop vas cambiando la ubicación. Luego entonces tienes que armar un array en el que pones cuatro 1, cuatro 2, etc (donde cada nro es el frame destino al que va a ir el MovieClip), lo importante es que no pongas dos veces algo en la misma posición. Para eso te sirve el hilo de aleatorio sin repetir, una vez que rellenas todas las posiciones con tus numeros sin repetir, solo te queda recorrer el array resultante haciendo un gotoAndStop del numero de la casilla.
Piensalo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2011 07:30 pm
gracias por la respuesta, lo pensare aunque todavía no lo veo muy claro. gracias

Por mariamaria

5 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.