Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Implementare un gioco in cui l'utente deve indovinare un numero nasconto entro un numero massimo di tentativi
- Non essendo altrimenti specificato, stabilisco un numero massimo di tentativi max = 3 e un intervallo del numero segreto che va da 1 a 10 [1..10]
- */
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- void indovina(); // Prototipo della funzione "indovina"
- int main() {
- int s,p=1; // s => scelta, p => contatore partite
- srand(time(NULL));
- printf("######## INDOVINA IL NUMERO #########\n");
- printf("Verrà generato un numero segreto compreso tra 1 e 10, hai a disposizione 3 tentativi per indovinarlo\n");
- printf("Pronto?\n");
- printf("1) Giochiamo!\n");
- printf("DEFAULT) Uscita\n");
- scanf("%d", &s);
- while(s == 1){
- printf("\n\n####### Partita %d° #######\n", p);
- indovina(3);
- printf("\n\nVuoi giocare ancora?\n");
- printf("1) Sì\n");
- printf("DEFAULT) No\n");
- scanf("%d", &s); // Se inserisco un numero diverso da 1, la condizione del while viene invalidata ed esco dal ciclo
- p++; // Incremento il numero di partite
- }
- return 0;
- }
- // Funzione "indovina"
- void indovina(int max){ // max => massimo numero di tentativi
- int i,n,t; // i => contatore for, n => numero segreto, t => tentativo corrente
- n = rand()%10+1; // Generazione del numero casuale
- for (i = 0; i < max; i++) {
- printf("[%d] > ", max-i); // Stampa del numero di tentativi restanti (es. per max = 3 e i = 2, si ha "[1] > ")
- scanf("%d", &t);
- if(t == n){ // Se il tentativo corrente è corretto
- printf("Complimenti! Hai indovinato! Il numero era proprio %d\n", n); // Stampo un messaggio di successo
- break; // Esco dal ciclo
- }
- }
- if(i == 3){ // Se sono uscito dal ciclo esaurendo i tentativi senza aver indovinato
- printf("Tentativi esauriti!\nIl numero era %d\n", n); // Comunico all'utente il numero segreto
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement