Ok, forse e` una domanda un po` idiota ma![]()
Allora, ecco il problema:
Io ho questo programma, che simula il gioco dei dadi craps, e` presente solo la funzione main() e quella che simula il lancio casuale dei dadi tiro()
Ora io dovrei impacchettare la funionem main() che esegue il gioco in una funzione normale, e avere una main che permetta al giocatore di eseguire una puntata.codice:#include <stdio.h> #include <stdlib.h> #include <time.h> int tiro(void); main() { int stato, somma, punteggio; srand(time(NULL)); somma = tiro(); switch (somma) { case 7: case 11: stato = 1; break; case 2: case 3: case 12: stato = 2; break; default: stato = 0; punteggio = somma; printf ("il punteggio e` %d \n" , punteggio); break; } while (stato == 0) { somma = tiro(); if (somma == punteggio) stato = 1; else if (somma == 7) stato = 2; } if (stato == 1) printf ("hai vinto!\n"); else printf ("hai perso\n"); return 0; } int tiro(void) { int dado1, dado2, sommadadi; dado1 = 1 + (rand() %6); dado2 = 2 + (rand() %6); sommadadi = dado1 + dado2; printf ("la somma di %d e %d e` %d \n" , dado1 , dado2, sommadadi); return sommadadi; }
Tutto filerebbe liscio, se non fosse per il fatto che non so come richiamare la funzione gioco() [la vecchia main]
Il programma mi verrebbe cosi`, dove ci sono i commenti dovrei caricare la funzione gioco e tutte le variabili che contiene. Come fare? :master:
Grazie a tutti.codice:#include <stdio.h> #include <stdlib.h> #include <time.h> int gioco(); int tiro(void); main() { int puntata, soldi; soldi = 1000; printf ("gioco dei dadi craps - \n"); do { printf ("inserisci una puntata valida \n"); scanf (" %d " , &puntata); // qui dovrei far partire la funzione gioco() if (stato == 1) { printf ("hai vinto la tua puntata! \n"); soldi = soldi + puntata; printf ("ora hai un totale di %d soldi \n" , soldi); } else { printf ("peccato, hai perso la tua puntata \n"); soldi == soldi - puntata; printf (" ora hai un totale di %d soldi \n" , &soldi); } while (puntata <== soldi); return 0; } int gioco() { int stato, somma, punteggio; srand(time(NULL)); somma = tiro(); switch (somma) { case 7: case 11: stato = 1; break; case 2: case 3: case 12: stato = 2; break; default: stato = 0; punteggio = somma; printf ("il punteggio e` %d \n" , punteggio); break; } while (stato == 0) { somma = tiro(); if (somma == punteggio) stato = 1; else if (somma == 7) stato = 2; } if (stato == 1) printf ("hai vinto!\n"); else printf ("hai perso\n"); return gioco(); } int tiro(void) { int dado1, dado2, sommadadi; dado1 = 1 + (rand() %6); dado2 = 2 + (rand() %6); sommadadi = dado1 + dado2; printf ("la somma di %d e %d e` %d \n" , dado1 , dado2, sommadadi); return sommadadi; }![]()


Rispondi quotando
