[Rio-pm] Golf: Criando rodadas de um campeonato

Fernando Oliveira fernandocorrea em gmail.com
Terça Julho 1 09:17:32 PDT 2008


Tipo, eu não sei nada de futebol, mas me diz, como fica se tiver numero
impar?
E como é esse negocio de jogo ida e volta?

2008/7/1 Gabriel Vieira <gabriel.vieira em gmail.com>:

> Então,
>
> só fiz mudar nomes de variáveis a algumas funções pra diminuir o código.
> Como sei que o Fernando vai fazer isso em 30 caracteres, fica só de
> tacada inicial :P
>
> ----------------------8<----------------------
> my($c,$d,$i);
> format Rodada =
>
>
> ^##@| @<<<<<<
> $i,"a","Rodada"
>
> .
> format Jogos =
> ^<<<<<<<<<<<<  @|  @>>>>>>>>>>>>
> $c,"x",$d
> .
> my em t=("Atlético MG","Atlético
>
> PR","Botafogo","Coritiba","Cruzeiro","Figueirense","Flamengo","Fluminense","Goiás","Grêmio","Internacional","Ipatinga","Náutico","Palmeiras","Portuguesa","Santos","São
> Paulo","Sport","Vasco","Vitória");
> my$j=($#t+1)/2;
> my em a=@t[0..$j-1];
> my em b=reverse em t[$j..$#t];
> push(@a,"")if$j=~/\./;
> for(0..$#t-1){
> i(((++$i/2)=~/\./?(\@b,\@a):(\@a,\@b)));
> @a=(shift em a,shift em b, em a);
> push(@b,pop em a);
> }
> sub i{
> $~='Rodada';
> write;
> my$i=-1;
> $~='Jogos';
> for(@{$_[0]}){
> $c=@{$_[0]}[++$i];
> $d=@{$_[1]}[$i];
> write if $c and $d;
> }
> }
> ---------------------->8----------------------
>
> Abraços,
>
> ---------- Forwarded message ----------
> From: Gabriel Vieira <gabriel.vieira em gmail.com>
> Date: 2008/7/1
> Subject: Golf: Criando rodadas de um campeonato
> To: Perl Mongers Rio de Janeiro <rio-pm em pm.org>
>
>
> Opa!
>
> Um colega me veio pedindo ajuda em um código para elaborar as rodadas
> de um campeonato.
>
> Me mostrou o seguinte link
> (
> http://pt.wikipedia.org/wiki/Torneio#Algoritmo_para_marca.C3.A7.C3.A3o_de_jogos
> ).
>
> Entreguei, então pensei num golfe ;)
>
> Seria um programa que a partir de uma lista @times organiza um
> campeonato com 1 jogo apenas entre as mesmas equipes.
>
> Ou caso queiram, podemos fazer um jogo de ida e outro de volta.
>
> Só para ilustração:
>
> -----------------8<-----------------
> my @times = (   "Atlético MG",
>               "Botafogo",
>               "Cruzeiro",
>               "Flamengo",
>               "Fluminense",
>               "Ipatinga",
>               "Palmeiras",
>               "São Paulo",
>               "Vasco",
>               "Vitória",
> );
> ----------------->8-----------------
>
> Exemplo:
>
> -----------------8<-----------------
> my @times = (   "Atlético MG",
>               "Botafogo",
>               "Cruzeiro",
>               "Flamengo",
> );
> ----------------->8-----------------
>
>
> Saída:
> -----------------8<-----------------
>  1a  Rodada
>
> Flamengo        x      Atlético MG
> Cruzeiro        x         Botafogo
>
>
>  2a  Rodada
>
> Atlético MG     x         Cruzeiro
> Flamengo        x         Botafogo
>
>
>  3a  Rodada
>
> Botafogo        x      Atlético MG
> Flamengo        x         Cruzeiro
> ----------------->8-----------------
>
> Deu pra entender?
>
> Abraços!
>
> --
> Gabriel Vieira
>
>
>
> --
> Gabriel Vieira
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Just another Perl Hacker,
Fernando (SmokeMachine)
http://perl-e.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20080701/8475f325/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm