Si vuole sviluppare un programma per la simulazione del gioco della pallavolo. Si
suppone di avere due squadre di 4 giocatori ognuna. Il campo da gioco viene
considerato come una mappa regolare di dimensioni 6 x 6. Ogni giocatore, per ogni
squadra, possiede una regione (cella) identificata casualmente.
fin qui ho creato l'algoritmo:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{int squadrax=4;
int squadrao=4;
    int  j,i,nx,ny;
    char giocator1='x';      /*giocatori maglia x*/
    char giocator2='o';      /*giocatori maglia o*/
    char campo [][6]= {{' ',' ',' ',' ',' ',' '},
                               {' ',' ',' ',' ',' ',' '},
                               {' ',' ',' ',' ',' ',' '},
                               {' ',' ',' ',' ',' ',' '},
                               {' ',' ',' ',' ',' ',' '},
                               {' ',' ',' ',' ',' ',' '}};
 
    srand(time(NULL));
    char rete='I';
    for(i=0;i<6;i++){
        campo[i][2]=rete;
    }
 
    i=1;
    while(i<=squadrax){
        nx=rand()%6;
        ny=3+rand()%3;             /*sposto sulle ultime 3 celle*/
        if(campo[nx][ny]!='x')     /*controllo che i giocatori non siano ripetuti sulla stessa cella*/
            i++;
        campo[nx][ny]=giocator1;
    }
    j=1;
    while(j<=squadrao){
        nx=rand()%6;
        ny=rand()%2;                 /*sposto sulle prime 3 celle*/
        if(campo[nx][ny]!='o')          /*controllo che i giocatori non siano ripetuti sulla stessa cella*/       
            j++;
        campo[nx][ny]=giocator2;
    }
 
    for(i=0; i<6; i++){
        for(j=0; j<6; j++)
            printf("%c",campo[i][j]);
        printf("\n");
    }
  system("PAUSE");	
  return 0;
}
Il gioco procede in questo modo:
· In modo casuale si sceglie la squadra che batte la palla.
· La palla viene lanciata nel campo avversario e cade in una cella scelta
casualmente.
. Se la palla cade in una cella vuota il punteggio viene dato alla
squadra attaccante. La squadra ricevente provvede a battere la palla.
. Se la palla cade in una cella con un giocatore la palla viene lanciata
nel campo avversario
· La palla lanciata ha il 40% di cadere sulla rete e il 20% di andare fuori. In
questo caso il punto va alla squadra avversaria a quella che batte.
Vince la squadra che per prima arriva a 20.
....
non ho capito come faccio a scegliere la squadra e fargli battere la palla...
??