sabato 30 novembre 2013

Gioco del dado con lancio di 2 dadi (con Funzioni per menu e lancio)

Programma che simula il lancio di due dado, viene chiesto all'utente su quale numero voglia puntare dopo di che il programma genera un numero pseudo casuale da 1 a 6 per ogni dado, somma i due risultati e li confronta con quello inserito dall'utente verificando se l'utente ha vinto o perso. Alla fine di ogni partita un menu permette all'utente di rigiocare una partita o uscire dal programma; quando l'utente decide di uscire dal programma viene visualizzato quante partite sono state giocate dall'utente e quante ne ha vinte o perse.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int scelta;
int dado1;
int dado2;
int dadi;
int contatore=0;
int vittorie=0;
int sconfitte=0;
int menu=1;
int lancio();
int funzmenu();

using namespace std;

int main()
{
    printf("\tLANCIO DI DUE DADI");
    while(menu==1)   //mentre variabile menu ha valore 1 esegui il ciclo
    {
         printf("\nScegli il numero su cui puntare");
         scanf("%d",&scelta);
         if((scelta>1) && (scelta<13))   //se il numero inserito dall'utente è compreso tra 1 e 12 esegui
         {
              contatore++;   //variabile contatore
              dado1=lancio();   //chiamata funzione dado
              dado2=lancio();   //chiamata funzione dado
              dadi=dado1+dado2;   //somma il valore di dado1 e dado2 così da confrontarlo successivamente con la puntata del giocatore
              printf("\nAl lancio dei dadi e' uscito %d e %d la cui somma e': %d",dado1,dado2,dadi);
              if(scelta==dadi)   //se il numero scelto dall'utente è uguale alla somma dei dadi
                   {
                   printf("\n\tHai vinto");
                   vittorie++;   //contatore vittorie   
                   }
              else   //altrimenti esegui
                   printf("\n\tHai perso");
                   sconfitte++;   //contatore sconfitte
              menu=funzmenu();   //chiamata a funzione menu
         }   //altrimenti se numero inserito dall'utente non compreso tra 1 e 6 esegui
         else
             printf("\n\tInserire un numero da 2 a 12");
    }
    printf("\nHai giocato %d partite\thai vinto %d volte\thai perso %d volte",contatore,vittorie,sconfitte);
}

int funzmenu()
{
int scelta;
printf("\n\n1)Riprova a giocare \n2)Esci \n");   //menu di gioco
scanf("%d",&scelta);
return scelta;
}

int lancio()
{
int dado;
srand(time(0));   //generazione del seme tramite orologio computer
    dado=rand()%6;   //genero un valore casuale tra 0 e 5 e lo salvo nella variabile dado1
    dado++;   //incremento la variabile dado1 così da avere un valore da 1 a 6
    return dado;   //restituisco valore pseudo casuale di dado
}

Nessun commento:

Posta un commento