Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41
  1. #1
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22

    [c] simula partita pallavolo

    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...
    ??

  2. #2
    Ah ma io pensavo di essere sottoposto ad una specie di esame nell'altro post
    Era una richiesta d'aiuto allora!
    Dimmi se per caso le mie idee ti sembrano buone!
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

  3. #3
    Non devi scegliere la "squadra che batte la palla". Se il campo è 6x6 fai una roba del tipo


    codice:
    
    printf("Che squadra vuoi che batta?");
    scanf("%i", &n)
    
    battere(n, &x, &y);
    
    ....
    
    casella[6][6];
    
    battere(int n, int* x, int* y)
    {
       if(n==1)
       {      *x=rand()%3;
             *y=rand()%3;
       } else
     {
        *x=rand()%3+3;
      *y=rand()%3+3;
    }

  4. #4
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22
    Originariamente inviato da Laikius91
    Ah ma io pensavo di essere sottoposto ad una specie di esame nell'altro post
    Era una richiesta d'aiuto allora!
    Dimmi se per caso le mie idee ti sembrano buone!

    Per te è una specie di esame...
    A me potrebbe servire come aiuto!!

  5. #5
    Originariamente inviato da ninuzz
    Per te è una specie di esame...
    A me potrebbe servire come aiuto!!
    Le mie risposte fanno schifo? XD

  6. #6
    Originariamente inviato da _Alfabetagamma_
    Le mie risposte fanno schifo? XD
    Nono a me sembrano alquanto valide, anche se hai bypassato la scelta casuale della squadra e non hai specificato come debba avvenire il lancio del pallone!


    [b]Originariamente inviato da Ninuzz [b]
    Per te è una specie di esame...
    A me potrebbe servire come aiuto!!
    Ahahah si fa interessante la faccenda! Dimmi se trovi qualche spunto interessante tra le mie idee..
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

  7. #7
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22
    Originariamente inviato da _Alfabetagamma_
    Non devi scegliere la "squadra che batte la palla". Se il campo è 6x6 fai una roba del tipo


    codice:
    
    printf("Che squadra vuoi che batta?");
    scanf("%i", &n)
    
    battere(n, &x, &y);
    
    ....
    
    casella[6][6];
    
    battere(int n, int* x, int* y)
    {
       if(n==1)
       {      *x=rand()%3;
             *y=rand()%3;
       } else
     {
        *x=rand()%3+3;
      *y=rand()%3+3;
    }
    diciamo che non ho capito la variabile " int n" per cosa vuole significare??

  8. #8
    Originariamente inviato da Laikius91
    Nono a me sembrano alquanto valide, anche se hai bypassato la scelta casuale della squadra e non hai specificato come debba avvenire il lancio del pallone!
    Dalla sua richiesta

    "Come faccio a scegliere le squadre?"

    Pensavo volesse sceglierle lui (in questo caso prendevo il valore in n e lo passavo a battere).

    Il lancio del pallone avviene con la funzione battere, dal momento in cui tu gli passi due variabili che lui ti motifica (randomicamente) che chiaramente posiziona nel lato "opposto" del "campo".

    Per rendere la scelta randomica basta scrivere

    n=rand()%2;

    mandarla dentro battere e decidere. Se la squadra uno sta a sinistra (n==0) allora le caselle vanndo scelte come

    *x=3+rand()%3;
    *y=3+rand()%3;

    else senza il tre davanti. Pensavo fosse chiaro, magari mi sono espresso male.

    A questo punto la palla è in x,y se c'è un giocatore.... ecc ecc XD

  9. #9
    Sisi direi che torna tutto alla perfezione, è un buon punto di partenza direi!
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

  10. #10
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22
    Originariamente inviato da _Alfabetagamma_
    Dalla sua richiesta

    "Come faccio a scegliere le squadre?"

    Pensavo volesse sceglierle lui (in questo caso prendevo il valore in n e lo passavo a battere).

    Il lancio del pallone avviene con la funzione battere, dal momento in cui tu gli passi due variabili che lui ti motifica (randomicamente) che chiaramente posiziona nel lato "opposto" del "campo".

    Per rendere la scelta randomica basta scrivere

    n=rand()%2;

    mandarla dentro battere e decidere. Se la squadra uno sta a sinistra (n==0) allora le caselle vanndo scelte come

    *x=3+rand()%3;
    *y=3+rand()%3;

    else senza il tre davanti. Pensavo fosse chiaro, magari mi sono espresso male.

    A questo punto la palla è in x,y se c'è un giocatore.... ecc ecc XD
    non sn affatto male le tue risposte anzi...
    cmq per rendere la scelta randomica basta scrivere
    n=1+rand()%2;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.