#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int nd;//numero di dadi
int maxi=0;// numero dadi *6 = valore massimo che possono assumere i dadi
int d = 0;//dado
int n =0;//numero inserito da utente
int nc=0;//numero generato dal computer
int i=0;//contatore do..while principale per rigiocare se vale 1 il ciclo si ripete
printf("GIOCO DEI DADI: Giocatore1 vs. PC (VERSIONE 1.2)\n\n "); do{ //loop generale...alla fine del ciclo verra chiesto di rigiocare..con i==1 si ripete con 0 esce
printf("\n\nCon quanti dadi vuoi giocare?: "); scanf("%d",&nd
); //l'utente sceglie con quanti dadi può giocare NB: il numero di dadi corrisponde al valore minimo dei dadi maxi=nd*6; //moltiplicando per 6 otengo il valore massimo che possono assumere i dadi
printf("Hai scelto di giocare con %d dadi, numeri consentiti da %d a %d",nd
,nd
,maxi
); printf("\n\nInserisci numero: "); if(n>maxi||n<nd){ //se il numero inserito dall'utente non rientra del range di valori possibili
do{ //continua a chiedergli un altro valore finche non ne inserisce uno diverso
printf("\nScelta non consentita\n Inserisci un valore tra %d e %d \n",nd
,maxi
); }while(n>maxi||n<nd);
}
nc
=(rand()%maxi
)+1;//il resto va da 0 a divisore-1, qundi gli aggiungo 1 per farlo andare da 1 a divisore(max)
if(nc<nd){ //se il valore del numero generato per la giocata "PC" è minore del valore minimo assegno il valore minimo
nc+=nd;
}
if(d<nd){//se il valore del dado generato è minore del valore minimo assegno il valore minimo
d+=nd;
}
if(n==d){ // controlla se il numero inserito dall'utente è uguale al dado
if(nc==d){ // numero utente e numero del computer sono uguali al dado
printf("\n PAREGGIO!!!\n\n Il numero inserito e': %d\n\n Il numero inserito dal PC e': %d\n\n valore dado: %d",n
,nc
,d
); }
else{ //solo il numero inserito dall'utente è uguale al dado
printf("\n HAI VINTO!!!\n\n Il numero inserito e': %d\n\n Il numero inserito dal PC e': %d\n\n Valore dado: %d",n
,nc
,d
); }
}
else{ // numero inserito dall'utente è diverso dal dado
if(nc==d){ //numero pc uguale a dado
printf("\n HA VINTO IL PC\n\n Il numero inserito e': %d\n\n Il numero inserito dal PC e': %d\n\n Valore dado: %d",n
,nc
,d
); }
else{//numero utente e numero pc diversi da dado
printf("\n NESSUN VINCITORE\n\n Il numero inserito e': %d\n\n Il numero inserito dal PC e': %d\n\n Valore dado: %d",n
,nc
,d
); }
}
printf("\n\n\nVuoi rigiocare?\n 1 = Si\n 0 = No \n"); if(i!=0&&i!=1){ //se inserisce una scelta diversa dalle consentite (1 e 0)
printf("\n Scelta non consentita"); while(i!=0&&i!=1){ //continua a ripetersi finche non inserisce una scelta valida
printf("\n\n\nVuoi rigiocare?\n 1 = Si\n 0 = No \n"); }
}
}while(i==1);
}