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
