Jump to content

rand()


suzy

Recommended Posts

4 [][][][]?

Queres dizer 4 arrays? Não entendi muito bem essa parte...

Ora, eu se fosse a ti fazia uma class jogador:

class joagador {
   public:
   int posicao; // 1- defesa; 2 - medios
   int equipa; // 1- equipa 1; 2 - equipa 2
   jogador() {posicao=0;equipa=0;}
}

Depois é só criares os 22 jogadores (Não vou considerar suplentes);

joagador jogadores[22];
for (int n=0;n<2;n++) {
     for (int m=0;m<11;m++) {
        jogadores[m+(11*n)].equipa=1+n;
        jogadores[m+(11*n)].posicao=1+rand()%2;
    }
}

Depois, considerando que tens 1 arrays para cada posição:

int defesas1[22];
int medios1[22];
int defesas2[22];
int medios2[22];

//Contadores para manter as coisas organizadas e para deposis, se usares vectores, puderes fazer resize facilmente
int _defesas1=0;
int _medios1=0;
int _defesas2=0;
int _medios2=0;

for (int n=0;n<22;n++) {
   if (jogadores[n].equipa==1 && jogadores[n].posicao==1) {defesas1[_defesas1]=n;_defesas1++;}
   else if (jogadores[n].equipa==1 && jogadores[n].posicao==2) {medios1[_medios1]=n;_medios1++;}
   else if (jogadores[n].equipa==2 && jogadores[n].posicao==1) {defesas2[_defesas2]=n;_defesas2++;}
   else if (jogadores[n].equipa==2 && jogadores[n].posicao==2) {medios2[_medios2]=n;_medios2++;}
}

Não está um código lá muito bonito, mas acho que é isto...

Para além disso, caso jogadores[n].posicao ou jogadores[n].equipa for igual a 0 sabes que houve um erro.

Nota que este código também tem alguns problemas... por exemplo, pode calhar uma equipa sem defesas ou sem médios (Já agora, o que é feito dos avançados? 😛 )

MIEIC @ FEUP

http://project557.blogspot.com/ --- Development Blog

Proteja a sua pen: http://lastknight.pt.vu

Link to comment
Share on other sites

Tens razão, se calhar fiz mal em dar o código todo, mas como não entendi o que eram os 4[][][][] acabei por por assim.

De qualquer das formas o código deve ter de ser muito alterado para ser usado no que se pretende, o que obriga a que se entenda o que está feito. 🙂

MIEIC @ FEUP

http://project557.blogspot.com/ --- Development Blog

Proteja a sua pen: http://lastknight.pt.vu

Link to comment
Share on other sites

😞 nao fui bem explicira, desculpem.

a prof disse, que a classe campo deve ter uma funçao para gerar uma nova posiçao aleatoria entre 2 valores limites (-1 e 1), para as abcissas podendo o y variar completamente.

ou seja os jogadores mudam de posiçao  com a sua função vaguear que gera 2 numeros aleatorios entre -1 e 1. Um desses numeros soma-se a x outro a y, e obtermos assim uma nova posição, depois e preciso ver se a posiçao esta livre e esta dentro dos limites.

como faço esta funçao?? nunca fiz nada disto:(

obrigada

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.