Rexobias
Power Member
Olá malta.
Escrevo isto neste momento muito frustrado. Fiquei em fazer uma pequena aplicação em Flash/ActionScript que consiste num sorteio de 16 equipas por 4 grupos.
A verdade é que pensava terminar isto em pouco tempo, mas a verdade é bem pior. Tenho a certeza que o algoritmo está bem, assim como o código parece-me bem, e não encontro qualquer razão para não trabalhar ... a verdade é que o FlashPlayer tem dado o aviso de ciclo infinito, e não consigo perceber o porque do mesmo.
O programa tem 16 Dynamic Text Box's (cada uma para guardar o nome das equipas que resultam do sorteio, e cada uma com uma var atribuida no respectivo campo - pos1, pos2, etc...), e um botão que é que faz o sorteio começar. Como tal, o botão é o único que tem código, sendo este o seguinte:
----------------------------------------------------------
----------------------------------------------------------
Se retirar o código a negrito, que é responsável por fazer uma verificação ao valor gerado para evitar que uma equipa seja sorteada mais do que uma vez, o sorteio funciona, mas como é óbvio eu preciso de fazer a filtragem.
array teste - guarda os valores gerados para verificar a repetição dos mesmos
pos1, pos2, pos3, etc... - Variáveis atribuidas ás Dynamic Text's
Escrevo isto neste momento muito frustrado. Fiquei em fazer uma pequena aplicação em Flash/ActionScript que consiste num sorteio de 16 equipas por 4 grupos.
A verdade é que pensava terminar isto em pouco tempo, mas a verdade é bem pior. Tenho a certeza que o algoritmo está bem, assim como o código parece-me bem, e não encontro qualquer razão para não trabalhar ... a verdade é que o FlashPlayer tem dado o aviso de ciclo infinito, e não consigo perceber o porque do mesmo.
O programa tem 16 Dynamic Text Box's (cada uma para guardar o nome das equipas que resultam do sorteio, e cada uma com uma var atribuida no respectivo campo - pos1, pos2, etc...), e um botão que é que faz o sorteio começar. Como tal, o botão é o único que tem código, sendo este o seguinte:
----------------------------------------------------------
Código:
on (release){[/FONT][/I]
[i][FONT=Arial] var sort, aleat, ver, i: Number;
var posicao = new Array();
var teste = new Array();
var equipas = new Array();
equipas[0] = "FC Porto";
equipas[1] = "SL Benfica";
equipas[2] = "Sporting";
equipas[3] = "Manchester Utd.";
equipas[4] = "Arsenal";
equipas[5] = "Chelsea";
equipas[6] = "AC Milan";
equipas[7] = "Inter";
equipas[8] = "Juventus";
equipas[9] = "Barcelona";
equipas[10] = "Real Madrid";
equipas[11] = "PSG";
equipas[12] = "O.Lyon";
equipas[13] = "Bayern Munchen";
equipas[14] = "Werder Bremen";
equipas[15] = "Celtic";
sort = 0;
i = 0;
while (i < 16)
{
teste[i] = 20;
i = i + 1;
}
while (sort < 16)
{
ver = 0;
i = 0;
aleat = Math.floor(Math.random()*16);
teste[sort] = aleat;
//Verifica se uma equipa já foi anteriormente sorteada
[B]while (i < 16)
{
if (aleat == teste[I]){
{
ver = ver + 1;
}
i = i + 1;
}
[/I][/B][I]
[B] if (ver == 0)
{
[/B] posicao[sort] = aleat;
sort = sort + 1;
[B] }
}
[/B] }[/I][/FONT]
[I][FONT=Arial] pos1 = equipas[posicao[0]];
pos2 = equipas[posicao[1]];
pos3 = equipas[posicao[2]];
pos4 = equipas[posicao[3]];
pos5 = equipas[posicao[4]];
pos6 = equipas[posicao[5]];
pos7 = equipas[posicao[6]];
pos8 = equipas[posicao[7]];
pos9 = equipas[posicao[8]];
pos10 = equipas[posicao[9]];
pos11 = equipas[posicao[10]];
pos12 = equipas[posicao[11]];
pos13 = equipas[posicao[12]];
pos14 = equipas[posicao[13]];
pos15 = equipas[posicao[14]];
pos16 = equipas[posicao[15]];
}
----------------------------------------------------------
Se retirar o código a negrito, que é responsável por fazer uma verificação ao valor gerado para evitar que uma equipa seja sorteada mais do que uma vez, o sorteio funciona, mas como é óbvio eu preciso de fazer a filtragem.
array teste - guarda os valores gerados para verificar a repetição dos mesmos
pos1, pos2, pos3, etc... - Variáveis atribuidas ás Dynamic Text's
Última edição pelo moderador: