Comunidad de diseño web y desarrollo en internet online

NO CONSIGO QUE EL IF FUNCIONE EN ESTE SCRIPT

Citar            
MensajeEscrito el 27 Oct 2006 08:38 am
A ver si alguien me puede ayudar

Intento colocar cartas de un juego de forma aleatoria en el escritorio pero sin que se repitan

El código es este:

Código :

fscommand("fullscreen", "true");

// definimos variables de regilla
COLUMNS = 4;
ROWS = 2;
TILE_X = 170;
TILE_Y = 220;
TILE_Y_OFFSET = 180;
TILE_X_OFFSET = 180;

// definimos variables de cartas usadas
var used:Array = new Array (50);
/*for (var a = 0; a<50; a++) {
   used[a] = "no";
   trace (a); trace (used[a]);
}*/

init();

// colocamos las cartas
function init() {
   var contador = 0;
   for (var i = 0; i < COLUMNS; i++) {
      for (var j = 0; j < ROWS; j++) {
         colocado = true;
         while (colocado) {
            carta_x = Math.round (3*Math.random() + 1);
            carta_y = Math.round (1*Math.random() + 1);
            carta = "c" + carta_x +"_" + carta_y;
            usada = carta_x + "" + carta_y;
            if (used[usada] == undefined) {
               trace (carta);
               trace (usada);
               trace (used[carta]);
               var h = this.attachMovie(carta, ("ca" + i + "_" + j), contador++);
               h._x = i * TILE_X + TILE_X_OFFSET;
               h._y = j * TILE_Y + TILE_Y_OFFSET;      
               h.column = i;
               h.row = j;
               used[carta] = "si";
               trace (used[carta]);
               colocado = false;
               trace ("colocada");
               }
            else 
               {
                  trace (carta);
                  trace (usada);
                  trace (used[carta]);
                  trace ("no colocada");} 
         }
         
         
      }
   }
}

LO QUE ME DEVUELVE FLASH ES:

c2_1
21
undefined
si
colocada
c2_1
21
si
si
colocada
c1_1
11
undefined
si
colocada
c2_2
22
undefined
si
colocada
c2_2
22
si
si
colocada
c2_2
22
si
si
colocada
c3_1
31
undefined
si
colocada
c2_2
22
si
si
colocada

Así que me coloca siempre cartas repetidas... ¿por que no funciona el IF?

Mil gracias

Por nnacho

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2006 03:35 pm
if (used[usada] == undefined) cambialo por if (used[usada] == null) que es mas eficiente. y la palabla mas corta te haoras como 5 letras en el codigo ja ja ja...

Por yosvaniscc

5 de clabLevel



Genero:Masculino  

opera

 

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