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()


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;
}
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.

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:




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;
}
Grazie a tutti.