Me estoy volviendo loco ¡¡necesito ayuda!!
Publicado por Nacho (2 intervenciones) el 27/10/2006 10:24:13
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:
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
Intento colocar cartas de un juego de forma aleatoria en el escritorio pero sin que se repitan
El código es este:
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
Valora esta pregunta


0