Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22
    Originariamente inviato da YuYevon
    Come hai saputo che vendo i lupini?
    Dalla pescheria giù al molo
    sei conosciuto, io ti conosco solo tramite il web
    E se ti sei risposto da solo perché devo farti un esempio io?
    Basta che ti ricordi di incrementare i (o in qualsiasi modo tu voglia chiamare il contatore) *solo se* hai posizionato una x, e non in automatico ad ogni iterazione.

    PS: attenzione alle abbreviazioni da sms... sono poco tollerate sui forum e cagionano crisi epilettiche a molti utenti
    quindi questo if(scacchiera[nx][ny]!='x'), lo posizionato così...e l'ho eseguito svariate volte
    e posso dire che funziona perchè ora mi genera sempre 6 posizioni...
    YuYevon questo programmino mi è stato di una elevata utilità perchè ho lo stesso problema con il progetto assegnatomi da "It' Banal" .... quindi il minimo che posso dirti è grazie...x l'aiuto...e grazie per gli esercizi svolti di fisica anche quelli sono stati utili ....a presto

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {int i,j,nx,ny;
    char scacchiera[][5]={{' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' '}};
    srand(time(NULL));
      i=1;
      while( i<=6)
      {
      nx=(5*rand()/(RAND_MAX+1));
      ny=(5*rand()/(RAND_MAX+1));
      if (scacchiera[nx][ny]!='x')
    i++;
      scacchiera[nx][ny]='x';
      
      }
      for(i=0; i<5; i++){
               for(j=0; j<5; j++)
               printf("%c",scacchiera[i][j]);
               printf("\n");
    }

  2. #12
    Originariamente inviato da YuYevon

    Non volevo essere scortese eh, è che era una risposta singolare

    Sisi certo l'avevo capito e so bene anche di aver risposto un po' singolarmente
    Il mio problema è di essere agli inizi dell'Informatica e di approfittare di ogni occasione per apprendere/apprendere/apprendere ecc ecc...
    Dai però, tolta la mia mancanza, avevo intuito il problema della rand ()
    Va bien, la finisco con le chiacchiere!
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

  3. #13
    Utente di HTML.it L'avatar di ninuzz
    Registrato dal
    Jan 2011
    Messaggi
    22
    Originariamente inviato da Laikius91
    Sisi certo l'avevo capito e so bene anche di aver risposto un po' singolarmente
    Il mio problema è di essere agli inizi dell'Informatica e di approfittare di ogni occasione per apprendere/apprendere/apprendere ecc ecc...
    Dai però, tolta la mia mancanza, avevo intuito il problema della rand ()
    Va bien, la finisco con le chiacchiere!
    ho un pò di programmazione e ti faccio cogliere l'occasione..
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {char squadrax;
    char squadrao;
        int  j,i,nx,ny;
        char palla='q';
        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<=4){
            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<=4){
            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;
    }
    questo codice in pratica ti mette 4 giocatori per ogni squadra sul campo 6x6
    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.
    Come fai a selezionare la squadra casualmente e fargli battere la palla??

  4. #14
    Originariamente inviato da ninuzz
    ho un pò di programmazione e ti faccio cogliere l'occasione..
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {char squadrax;
    char squadrao;
        int  j,i,nx,ny;
        char palla='q';
        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<=4){
            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<=4){
            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;
    }
    questo codice in pratica ti mette 4 giocatori per ogni squadra sul campo 6x6
    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.
    Come fai a selezionare la squadra casualmente e fargli battere la palla??
    Dunque dunque se ho capito bene fin'ora hai solo creato il campo e disposto i giocatori con la rand () giusto?

    Mi stai chiedendo come selezionare la squadra casualmente e fargli battere la palla...
    Bè bisognerà casualmente spostarsi sulle celle del campo fino a quando non si giunge in corrispondenza di un giocatore 'o' o di un giocatore 'x'; da qui occorrerà scegliere casualmente una cella del campo avversario (il campo lo scegli con 3+rand()%3 o rand()%2) e posizionarvi la palla (il carattere 'q')....
    Qui poi si avrà tutto l'elenco di controlli per far rispettare le regole che hai elencato!
    Il tutto in un ciclo, fino a quando una variabile punteggio di una delle due squadre arriverà a 20!

    Ci sono circa?
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

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 © 2026 vBulletin Solutions, Inc. All rights reserved.