Flash - Me estoy volviendo loco ¡¡necesito ayuda!!

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Me estoy volviendo loco ¡¡necesito ayuda!!

Publicado por anonimo (2 intervenciones) el 28/10/2006 00:55:59
Por wey jaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

lo revisare

Publicado por edgar (15 intervenciones) el 28/10/2006 22:06:03
Hola revisare tu codigo,si puedes mandame el fla para ayudarte y entenderte lo que quieres hacer,me parece que conoces mas o menos el action script, sigue intentando lo que quieres hacer.suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me estoy volviendo loco ¡¡necesito ayuda!!

Publicado por anonimo (2 intervenciones) el 28/10/2006 00:59:31
JEJE no te creas. ES que me dio risa el titulo =P. Disculpa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me estoy volviendo loco ¡¡necesito ayuda!!

Publicado por Sebastian Corradi (93 intervenciones) el 06/11/2006 14:25:40
Bueno, el problema consiste en que en el If preguntas por
(used[usada] == undefined)

pero nunca modificas ese valor... lo que modificas es:
used[carta] = "si";

y el valor que mostras por pantalla tambien es :
trace (used[carta]);

entoces.....

en el if, tendrias q preguntar
if (used[carta] == undefined)

espero q te sirva

chau
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me estoy volviendo loco ¡¡necesito ayuda!!

Publicado por Nacho (2 intervenciones) el 13/11/2006 11:37:28
Un millón de gracias!!!!!! Ya funciona!!!!!!!!

Ni me había dado cuenta... menos mal que te has dado cuenta

Saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar