[C]Simulazione gioco cani e gatti

di il
2 risposte

[C]Simulazione gioco cani e gatti

Salve, volevo mostrarvi il mio problema , praticamente mi hanno assegnato un progetto per l'esame di progr 1 dove mi viene chiesto di simulare un gioco tra cani e gatti,inizialmente vengono predisposti in modo random i 4 animali sulla scacchiera , successivamente viene calcolata la distanza tra i cani e il gatto , a quel punto il cane si muove nella direzione del gatto piu vicino , il gioco finisce o quando i cani raggiungono i gatti oppure quando si raggiungono un certo numero di passi , il mio problema principale sta nella stesura del codice , in quanto ho già costruito una mappa e scritto tutti i procedimenti ma non avendo avuto la possibilità di seguire il corso ho questi problemi sul codice , vi posto uno "pseudo codice " spero che qualcuno possa aiutarm , la scandeza è per il 21
        #include<stdio.h>//header file che consente le varie operazioni di input e output
        #include<stdlib.h>//header file che consente l'uso di rand, srand e di RAND_MAX
        #include<time.h>//fornisce un accesso standardizzato alle funzioni di acquisizione e manipolazione del tempo.
        #include<math.h>
        #define n 2;




        typedef struct animali{
            int nx;
            int ny;

        }animali ;
        animali_cani[2];
        animali_gatti[2];





        void inserisci_animali(char scacchiera[8][8])





        int main()
        {



            /*
            Dichiarazione delle variabili.
            */
            int i,nx,ny; /* Contatore per i cicli while.*/
            int posRiga, posCol; /* Variabili utilizzate per riempire la scacchiera in modo pseudo-random*/
            char gatti[2];
            char cani[2];
            srand(time(NULL)); /* Funzione che inizializza lo pseudo-random. Se non ci fosse, ad ogni avvio del programma
                                  la posizione dei pedoni e della regina, sarebbe sempre la stessa.*/
            char colonne[8] = {'a','b','c','d','e','f','g','h'}; /*Dichiarazione e inizializzazione della stringa utilizzata
                                                                 per definire le colonne della scacchiera.*/
            char scacchiera[][8] =                    
            {{'b','n','b','n','b','n','b','n'},
            {'n','b','n','b','n','b','n','b'},
            {'b','n','b','n','b','n','b','n'},
            {'n','b','n','b','n','b','n','b'},
            {'b','n','b','n','b','n','b','n'},
            {'n','b','n','b','n','b','n','b'},
            {'b','n','b','n','b','n','b','n'},
            {'n','b','n','b','n','b','n','b'}}; /* Dichiarazione e inizializzazione della scacchiera.*/
            char s;
            
        void inserisci_cane(char scacchiera[8][8],animali_cani[n],animali_gatti[n]);
        int i,n  ; 

            srand((unsigned int)time(0));
            for (i=0;i<n;i++){
            animali_cani[i].nx=rand%8;
            animali_cani[i].ny=rand%8 }
            
            for (i=0;i<n;i++) {
            animali_gatti[i].nx=rand%8;
            animali_gatti[i].ny=rand%8;
            
            scacchiera[animali_cani[nx][ny]='C'
             scacchiera[animali_gatti[nx][ny]='G';
        }
            printf("Cani inseriti nella posizione %d,%d\n",animali_cani[nx][ny])
            printf("Cani inseriti nella posizione %d,%d\n",animali_gatti[nx][ny])
            
        }

        int distanza(animali_gatti[2],animali_cani[2],char scacchera[8][8]);
        int d1,d2,d3,d4,origine1,origine2,;

        printf ("I Cani si trovano in posizione">>>ricavare le coordinate dalla funzione inserisce cane
        origine1=animali_cani[nx][ny];
        printf ("i gatti si trovano in posizione">> ricavare coordinate gatti dalla funzione inserisci cane
        origine1=animali_gatti[nx][ny]
        distanzaCane1Gatto1 = formula con pitagora; 
        distanzaCane1Gatto2 = formula con pitagora; 
        distanzaCane2Gatto1 = formula con pitagora; 
        distanzaCane2Gatto2 = formula con pitagora; 
        if (d1< d2) AND (d1 < d3) AND ( d1 < d4) variabileDiScelta = 1; 
        else if( d2 < d1) || (d2 < d3) || ( d2 < d4) variabileDiScelta = 2; 
        else if( d3 < d1) || (d3 < d2) || ( d3 < d4) variabileDiScelta = 3;
         else if(d4 < d1) || (d4 < d2) || (d4 < d3) variabileDiScelta = 4;
         switch(variabileDiScelta) 
        case 1: ---PRIMO CANE VA INCONTRO AL PRIMO GATTO--- endcase;
         case 2: ---PRIMO CANE VA INCONTRO AL SECONDO GATTO--- endcase;
         case 3: ---SECONDO CANE VA INCONTRO AL PRIMO GATTO--- endcase; 
        case 4: ---SECONDO CANE VA INCONTRO AL SECONDO GATTO--- endcase; 
        endswitch






        void visualizza_scaccheria(char schacchiera[][8])
        {
            int i,j,n;
                for(i=0;i<n;++i)
                    {    
                        for(j=0;j<n;++j)
                            printf("%c",scacchiera[i][j]);
                        printf("\n");
                    }
        }

    Modifica/Elimina Modifica messaggio   Rispondi rapidamente in questo messaggio Rispondi   Rispondi quotando Rispondi quotando   Multi-Quote questo messaggio      

+ Rispondi
Navigazione veloce Programmazione Vai in cima
Risposta veloce Risposta veloce
Devi accedere o registrarti per scrivere nel forum
2 risposte