Para quem não lembra, postei aqui no blog mesmo sobre um desafio de linguagens que estava ocorrendo no forum Webly, onde deveríamos sortear jogos entre 16 seleções pré definidas, até chegar no campeão.
Fiz em Javascript e terminei com 347 caracteres e o código segue abaixo para quem quiser ver:
Comentado:
// Coloca de forma aleatoria o ARRAY e gera aleatoriamente os gols
function c(){
return Math.floor(Math.random()*6)-1;
}
// Aqui crio uma string, que depois explode com split, vira uma array,
// que mando sortear usando a funcao "c"
t="Itália,França,Alemanha,Portugal,Brasil,Argentina,Inglaterra,Ucrânia,Espanha,
Holanda,Suíça,Suécia,Austrália,México,Uruguai,Gana".split(",").sort(c);
// atalhos para os textos
a = ["Oitavas de f","Quartas de f","Semif","F"];
f = "inal:";
//atalho para usar quebra de linha
q="n";
// iniciando a variavel que guardara todo o texto que sera exibido
// no final
j="";
// um laço para rodar entre todas as etapas
for(i=0;i<4;i++){
// coloco quebra de linhas, depois o texto indicando
// que etapa estamos
// Oitavas, quartas, semi e final
j+=q+q+a[i]+f;
// Inicio array temporario
w=[];
// Segundo laço para varrer o array, sortear os gols e
// eliminar os perdedores
for(o=0;o
// enquanto os gols nao forem diferentes fica preso no laço
while((p=c()+1)==(s=c()+1));
// Poe o resultado e mostra o vencedor de cada jogo, tudo
// dentro da string
// e ainda guarda o vencedor no array temporario "w"
j += q+t[o]+" "+p+" x "+s+" "+t[o+1]+" - "+(w[o/2] = p>s ? t[o] : t[o+1]);
}
// passa o valor do array temporario "w" para o principal "t"
t=w;
}
// Imprime na tela todos os resultados
alert(j+" campeão");
Somente o código:
function c(){
return Math.floor(Math.random()*6)-1;
}
t="Itália,França,Alemanha,Portugal,Brasil,Argentina,Inglaterra,Ucrânia,Espanha,
olanda,Suíça,Suécia,Austrália,México,Uruguai,Gana".split(",").sort(c);
a = ["Oitavas de f","Quartas de f","Semif","F"];
f = "inal:";
q="n";
j="";
for(i=0;i<4;i++){
j+=q+q+a[i]+f;
w=[];
for(o=0;o
while((p=c()+1)==(s=c()+1));
j += q+t[o]+" "+p+" x "+s+" "+t[o+1]+" - "+(w[o/2] = p>s ? t[o] : t[o+1]);
}
t=w;
}
alert(j+" campeão");
Loucura total, mas foi muito divertido participar do desafio.
Categories: Desenvolvimento, Javascript
3 Comentarios »