ajuda C#

priank

Power Member
boas pessoal,
eu tou a tentar fazer um programa tipo elifoot, mas nao sei como sortear equipas :S
agradecia toda a ajuda possivel...brigada :)
 
Boas! Ja pensaste em meter todas as equipas num contentor...tipo arraylist ou assim...Depois com o metodo Rand obtias 2 indices aleatorios. Esses dois idx eram as 2 equipas que se iam sortear...Fazias isto ate nao haver mais equipas...
Cumps
 
Como o Symbio ja disse, primeiro colocas todas as equipas num array (ou outro contentor). Depois, dependendo do numero de equipas que tiveres, deverás gerar dois numeros aleatoriamente, sendo que esses numeros corresponderão ao índice das equipas sorteadas.

Para gerar numeros aleatórios, em C# eu uso a classe System.Random. O método Next() desta classe gera um numero aleatoriamente, sendo que aceita como parametros o limite minimo que se pode gerar e/ou o limite maximo do número que se pode gerar.

Vá, cumps
 
Boas, não é aconselhável usares os números aleatórios directamente como índices do array pois os número aleatórios podem ser sempre os mesmos (embora improvável), o que vai resultar em equipas repetidas. Um método mais elegante e eficiente (que não vai ter equipas repetidas), consiste em baralhar (shuffle) as n primeiras posições do array, onde n é o número de equipas a sortear. Em seguida, podes utilizar as n primeiras equipas do array no sorteio. Algo do género:

Código:
shuffle( equipas[], n )
{
    for i = 1 to n
    {
        swap(equipas[i], random() % n)    
    }
}
 
shuffle ( {"A", "B", ..., "Z" }, 20 )
 
Boas, só agora vi o tópico eu também precisava de fazer algo idêntico ao elifoot mas bem mais simples, do género, duas equipas defrontam-se só, só mesmo para demonstrar uma simulação, alguém pode ajudar com um exemplo para eu tentar aqui, é que tentei chegar ao código do elifoot mas não consegui, e não faço ideia de como começar, mas só a simulação de um unico jogo bastava.
Cumprimentos.
 
Back
Topo