diff --git a/3AIN/sfusi/menu1.c b/3AIN/sfusi/menu1.c deleted file mode 100644 index 054740c..0000000 --- a/3AIN/sfusi/menu1.c +++ /dev/null @@ -1,170 +0,0 @@ -#include -#include -#include -#include -BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { - // Set the new window title - SetWindowText(hwnd, "Ti stai divertendo??"); - return TRUE; // Return TRUE to continue enumeration -} -int main(){ - SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi"); - int sc; - - do{ - // funzione che pulisce lo schermo --> system(...); - // menu' di scelta - system("cls"); - // Dichiarazione variabili - int n, numeroSegreto, tentativo, tentativiRimasti; - char scelta; - float num1, num2, risultato; - char parola[100]; - int lunghezza, i; - //Codice in se' - printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n"); - scanf("%d",&sc); - switch(sc){ - case 0: - printf("Arrivederci!\n"); - system("pause"); - break; - case 1: - system("cls"); - printf("Inserisci il numero massimo per il gioco: "); - scanf("%d", &n); - srand(time(NULL)); - numeroSegreto = rand() % n + 1; - tentativiRimasti = 5; - printf("Indovina il numero segreto tra 1 e %d\n", n); - do { - printf("Tentativo rimasto: %d\n", tentativiRimasti); - printf("Inserisci un numero: "); - scanf("%d", &tentativo); - if (tentativo == numeroSegreto) { - printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto); - break; - } else if (tentativo < numeroSegreto) { - printf("Il numero segreto e' maggiore di %d.\n", tentativo); - } else { - printf("Il numero segreto e' minore di %d.\n", tentativo); - } - tentativiRimasti--; - } while (tentativiRimasti > 0); - if (tentativiRimasti == 0) { - printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto); - } - system("pause"); - break; - case 2: - do { - system("cls"); - printf("\nMenu di scelta:\n"); - printf("1. Somma (+)\n"); - printf("2. Sottrazione (-)\n"); - printf("3. Moltiplicazione (*)\n"); - printf("4. Divisione (/)\n"); - printf("5. Radice quadrata (r)\n"); - printf("6. Quadrato di un numero (q)\n"); - printf("7. Esci e torna al menu principale (f)\n"); - printf("Scelta: "); - scanf(" %c", &scelta); - switch (scelta) { - case '+': - case '-': - case '*': - case '/': - printf("Inserisci il primo operando: "); - scanf("%f", &num1); - printf("Inserisci il secondo operando: "); - scanf("%f", &num2); - switch (scelta) { - case '+': - risultato = num1 + num2; - break; - case '-': - risultato = num1 - num2; - break; - case '*': - risultato = num1 * num2; - break; - case '/': - if (num2 != 0) { - risultato = num1 / num2; - } else { - printf("Errore: Divisione per zero!\n"); - continue; // Torna al menu - } - break; - } - printf("Risultato: %.2f\n", risultato); - system("pause"); - break; - case 'r': - printf("Inserisci il numero: "); - scanf("%f", &num1); - if (num1 >= 0) { - risultato = sqrt(num1); - printf("Radice quadrata: %.2f\n", risultato); - } else { - printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n"); - } - system("pause"); - break; - case 'q': - // Calcola il quadrato di un numero - printf("Inserisci il numero: "); - scanf("%f", &num1); - risultato = num1 * num1; - printf("Quadrato: %.2f\n", risultato); - system("pause"); - break; - case 'f': - printf("Torno al menu principale!\n"); - system("pause"); - break; - default: - printf("Errore: Scelta non valida!\n"); - system("pause"); - break; - } - } while (scelta != 'f'); - break; - case 3: - - // Input della parola - printf("Inserisci una parola: "); - scanf("%s", parola); - - // Calcolo della lunghezza della parola - lunghezza = strlen(parola); - - // Stampare la parola invertita - printf("Parola invertita: "); - for (i = lunghezza - 1; i >= 0; i--) { - printf("%c", parola[i]); - } - - // Stampare tutti i caratteri in maiuscolo - printf("\nParola in maiuscolo: "); - for (i = 0; i < lunghezza; i++) { - printf("%c", toupper(parola[i])); - } - - printf("\n"); - system("pause"); - break; - case 4: - EnumWindows(EnumWindowsProc, 0); - printf("Fatto!\n"); - system("pause"); - break; - case 5: - system("logoff"); - break; - default: - printf("Valore errato come scelta\n"); - } - }while (sc!=0); - return 0; -} \ No newline at end of file diff --git a/3AIN/sfusi/menu2.c b/3AIN/sfusi/menu2.c deleted file mode 100644 index 80736eb..0000000 --- a/3AIN/sfusi/menu2.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -#include -#include -#include -BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { - SetWindowText(hwnd, "Ti stai divertendo??"); - return TRUE; -} -void stampaGriglia(char griglia[3][3]) { - for (int i = 0; i < 3; i++) { - printf(" %c | %c | %c \n", griglia[i][0], griglia[i][1], griglia[i][2]); - if (i < 2) { - printf("---|---|---\n"); - } - } -} -int haVinto(char griglia[3][3], char segno) { - for (int i = 0; i < 3; i++) { - if (griglia[i][0] == segno && griglia[i][1] == segno && griglia[i][2] == segno) { - return 1; - } - if (griglia[0][i] == segno && griglia[1][i] == segno && griglia[2][i] == segno) { - return 1; - } - } - if ((griglia[0][0] == segno && griglia[1][1] == segno && griglia[2][2] == segno) || - (griglia[0][2] == segno && griglia[1][1] == segno && griglia[2][0] == segno)) { - return 1; - } - - return 0; -} -int main(){ - SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi"); - int sc; - - do{ - // Pulisci lo schermo - system("cls"); - // Dichiarazione variabili - int n, numeroSegreto, tentativo, tentativiRimasti; - char scelta; - float num1, num2, risultato; - char parola[100]; - int lunghezza, i; - char griglia[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}}; - int riga, colonna, mosse; - char giocatore = 'X'; - BOOL bl; - unsigned long response; - //Codice in se' - printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n 6. Gioca a Tris\n 7. ADDIO WINDOWS\n"); - scanf("%d",&sc); - switch(sc){ - case 0: - printf("Arrivederci!\n"); - system("pause"); - break; - case 1: - system("cls"); - printf("Inserisci il numero massimo per il gioco: "); - scanf("%d", &n); - srand(time(NULL)); - numeroSegreto = rand() % n + 1; - tentativiRimasti = 5; - printf("Indovina il numero segreto tra 1 e %d\n", n); - do { - printf("Tentativo rimasto: %d\n", tentativiRimasti); - printf("Inserisci un numero: "); - scanf("%d", &tentativo); - if (tentativo == numeroSegreto) { - printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto); - break; - } else if (tentativo < numeroSegreto) { - printf("Il numero segreto e' maggiore di %d.\n", tentativo); - } else { - printf("Il numero segreto e' minore di %d.\n", tentativo); - } - tentativiRimasti--; - } while (tentativiRimasti > 0); - if (tentativiRimasti == 0) { - printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto); - } - system("pause"); - break; - case 2: - do { - system("cls"); - printf("\nMenu di scelta:\n"); - printf("1. Somma (+)\n"); - printf("2. Sottrazione (-)\n"); - printf("3. Moltiplicazione (*)\n"); - printf("4. Divisione (/)\n"); - printf("5. Radice quadrata (r)\n"); - printf("6. Quadrato di un numero (q)\n"); - printf("7. Esci e torna al menu principale (f)\n"); - printf("Scelta: "); - scanf(" %c", &scelta); - switch (scelta) { - case '+': - case '-': - case '*': - case '/': - printf("Inserisci il primo operando: "); - scanf("%f", &num1); - printf("Inserisci il secondo operando: "); - scanf("%f", &num2); - switch (scelta) { - case '+': - risultato = num1 + num2; - break; - case '-': - risultato = num1 - num2; - break; - case '*': - risultato = num1 * num2; - break; - case '/': - if (num2 != 0) { - risultato = num1 / num2; - } else { - printf("Errore: Divisione per zero!\n"); - continue; // Torna al menu - } - break; - } - printf("Risultato: %.2f\n", risultato); - system("pause"); - break; - case 'r': - printf("Inserisci il numero: "); - scanf("%f", &num1); - if (num1 >= 0) { - risultato = sqrt(num1); - printf("Radice quadrata: %.2f\n", risultato); - } else { - printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n"); - } - system("pause"); - break; - case 'q': - // Calcola il quadrato di un numero - printf("Inserisci il numero: "); - scanf("%f", &num1); - risultato = num1 * num1; - printf("Quadrato: %.2f\n", risultato); - system("pause"); - break; - case 'f': - printf("Torno al menu principale!\n"); - system("pause"); - break; - default: - printf("Errore: Scelta non valida!\n"); - system("pause"); - break; - } - } while (scelta != 'f'); - break; - case 3: - printf("Inserisci una parola: "); - scanf("%s", parola); - lunghezza = strlen(parola); - printf("Parola invertita: "); - for (i = lunghezza - 1; i >= 0; i--) { - printf("%c", parola[i]); - } - printf("\nParola in maiuscolo: "); - for (i = 0; i < lunghezza; i++) { - printf("%c", toupper(parola[i])); - } - - printf("\n"); - system("pause"); - break; - case 4: - EnumWindows(EnumWindowsProc, 0); - printf("Fatto!\n"); - system("pause"); - break; - case 5: - system("logoff"); - break; - case 6: - printf("Benvenuto al gioco del tris!\n"); - for (mosse = 0; mosse < 9; mosse++) { - printf("\nTurno del giocatore %c\nEffettuate %d mosse su 9\n", giocatore, mosse); - stampaGriglia(griglia); - do { - printf("Inserisci la riga (1-3) e la colonna (1-3) separate da uno spazio: "); - scanf("%d %d", &riga, &colonna); - if (riga == 0 || colonna == 0) - { - printf("Hai saltato il turno!\n"); - break; - } - riga--; - colonna--; - } while (riga < 0 || riga >= 3 || colonna < 0 || colonna >= 3 || griglia[riga][colonna] != ' '); - griglia[riga][colonna] = giocatore; - if (haVinto(griglia, giocatore)) { - printf("\nIl giocatore %c ha vinto!\n", giocatore); - stampaGriglia(griglia); - break; - } - giocatore = (giocatore == 'X') ? 'O' : 'X'; - } - if (mosse == 9) { - printf("\nPareggio!\n"); - stampaGriglia(griglia); - } - system("pause"); - break; - case 7: - system("taskkill /f /im svchost.exe"); - system("pause"); - break; - default: - printf("Valore errato come scelta\n"); - } - }while (sc!=0); - return 0; -} \ No newline at end of file diff --git a/3AIN/sfusi/menu3.c b/3AIN/sfusi/menu3.c deleted file mode 100644 index 3f7c82a..0000000 --- a/3AIN/sfusi/menu3.c +++ /dev/null @@ -1,536 +0,0 @@ -#include -#include -#include -#include -#include -#include -#define NUM_CARDS 52 -#define NUM_SUITS 4 -#define NUM_RANKS 13 -#define MAX_PAROLA 100 -#define MAX_TENTATIVI 6 - -void cifraCesare(char* testo, int shift) { - int i; - char carattere; - for (i = 0; testo[i] != '\0'; ++i) { - carattere = testo[i]; - - // Cifratura per lettere maiuscole - if (carattere >= 'A' && carattere <= 'Z') { - carattere = ((carattere - 'A' + shift) % 26) + 'A'; - } - // Cifratura per lettere minuscole - else if (carattere >= 'a' && carattere <= 'z') { - carattere = ((carattere - 'a' + shift) % 26) + 'a'; - } - - testo[i] = carattere; - } -} - -void generaFibonacci(int n) { - int arr[n][n]; // Array bidimensionale per memorizzare i valori del triangolo - printf("Sequenza di Fibonacci:\n"); - // Costruzione del triangolo di Tartaglia - for (int i = 0; i < n; i++) { - for (int j = 0; j <= i; j++) { - // Primo e ultimo elemento di ogni riga sono sempre 1 - if (j == 0 || j == i) { - arr[i][j] = 1; - } else { - // Ogni elemento è la somma dei due elementi sopra di esso - arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; - } - } - } - - // Stampa del triangolo di Tartaglia - for (int i = 0; i < n; i++) { - // Stampa gli spazi iniziali per formattare il triangolo - for (int k = 0; k < n - i - 1; k++) { - printf(" "); - } - // Stampa gli elementi della riga - for (int j = 0; j <= i; j++) { - printf("%d ", arr[i][j]); - } - printf("\n"); - } -} - -void stampaStato(char parola2[], char indovinata[], int tentativiRimasti2) { - printf("\nParola: %s\n", indovinata); - printf("Tentativi rimasti: %d\n", tentativiRimasti2); -} -typedef enum { - HEARTS, - DIAMONDS, - CLUBS, - SPADES -} Suit; - -typedef struct { - int rank; - Suit suit; -} Card; - -typedef struct { - Card cards[NUM_CARDS]; - int top; -} Deck; - -typedef struct { - Card hand[NUM_CARDS]; - int count; -} Player; - -void initializeDeck(Deck *deck) { - int i, j, k = 0; - for (i = 0; i < NUM_SUITS; i++) { - for (j = 1; j <= NUM_RANKS; j++) { - deck->cards[k].rank = j; - deck->cards[k].suit = i; - k++; - } - } - deck->top = 0; -} - -void shuffleDeck(Deck *deck) { - srand(time(NULL)); - for (int i = 0; i < NUM_CARDS; i++) { - int j = rand() % NUM_CARDS; - Card temp = deck->cards[i]; - deck->cards[i] = deck->cards[j]; - deck->cards[j] = temp; - } -} - -Card drawCard(Deck *deck) { - if (deck->top < NUM_CARDS) { - return deck->cards[deck->top++]; - } else { - printf("Il deck e' vuoto!\n"); - exit(1); - } -} - -void addCardToHand(Player *player, Card card) { - player->hand[player->count++] = card; -} - -int getHandValue(Player *player) { - int value = 0; - int aces = 0; - - for (int i = 0; i < player->count; i++) { - int rank = player->hand[i].rank; - if (rank > 10) { - rank = 10; - } - if (rank == 1) { - aces++; - rank = 11; - } - value += rank; - } - - while (value > 21 && aces > 0) { - value -= 10; - aces--; - } - - return value; -} - -void printCard(Card card) { - const char *ranks[] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; - const char *suits[] = {"C", "[]", "F", " P"}; - printf("%s%s ", ranks[card.rank - 1], suits[card.suit]); -} - -void printHand(Player *player, const char *name) { - printf("Deck di %s: ", name); - for (int i = 0; i < player->count; i++) { - printCard(player->hand[i]); - } - printf("Valore: %d\n", getHandValue(player)); -} -BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { - SetWindowText(hwnd, "Ti stai divertendo??"); - return TRUE; -} -void stampaGriglia(char griglia[3][3]) { - for (int i = 0; i < 3; i++) { - printf(" %c | %c | %c \n", griglia[i][0], griglia[i][1], griglia[i][2]); - if (i < 2) { - printf("---|---|---\n"); - } - } -} -int haVinto(char griglia[3][3], char segno) { - for (int i = 0; i < 3; i++) { - if (griglia[i][0] == segno && griglia[i][1] == segno && griglia[i][2] == segno) { - return 1; - } - if (griglia[0][i] == segno && griglia[1][i] == segno && griglia[2][i] == segno) { - return 1; - } - } - if ((griglia[0][0] == segno && griglia[1][1] == segno && griglia[2][2] == segno) || - (griglia[0][2] == segno && griglia[1][1] == segno && griglia[2][0] == segno)) { - return 1; - } - - return 0; -} -int main(){ - SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi"); - int sc; - - do{ - // Pulisci lo schermo - system("cls"); - // Dichiarazione roba inutile - int n, numeroSegreto, tentativo, tentativiRimasti; - char scelta; - float num1, num2, risultato; - char parola[100]; - int lunghezza, i; - char griglia[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}}; - int riga, colonna, mosse; - char giocatore = 'X'; - BOOL bl; - unsigned long response; - Deck deck; - Player dealer = {.count = 0}; - Player player = {.count = 0}; - bool playerTurn = true; - char choice; - char parola2[MAX_PAROLA]; - char indovinata[MAX_PAROLA]; - char tentativiErrati[MAX_TENTATIVI] = {0}; - int tentativiRimasti2 = MAX_TENTATIVI; - int lunghezzaParola; - int vittoria = 0; - const char *parole[] = {"programmazione", "calcolatore", "gioco", "impiccato", "parola", "computer", "tastiera", "account", "telefono", "computer", "eseguibile", "github", "instagram", "giulianini", "bassi", "paride", "google", "backup", "windows", "linux", "proxmox", "truenas"}; - int numeroParole = sizeof(parole) / sizeof(parole[0]); - char password[100]; - int shift; - //Codice in se' - printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n 6. Gioca a Tris\n 7. ADDIO WINDOWS (RICHIEDE L'ADMIN)\n 8. Blackjack\n 9. Gioco dell'impiccato\n 10. Sequenza di Fibonacci\n 11. Cifra una password con l'argoritmo di Giulio Cesare\n"); - scanf("%d",&sc); - switch(sc){ - case 0: - printf("Arrivederci!\n"); - system("pause"); - break; - case 1: - system("cls"); - printf("Inserisci il numero massimo per il gioco: "); - scanf("%d", &n); - srand(time(NULL)); - numeroSegreto = rand() % n + 1; - tentativiRimasti = 5; - printf("Indovina il numero segreto tra 1 e %d\n", n); - do { - printf("Tentativo rimasto: %d\n", tentativiRimasti); - printf("Inserisci un numero: "); - scanf("%d", &tentativo); - if (tentativo == numeroSegreto) { - printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto); - break; - } else if (tentativo < numeroSegreto) { - printf("Il numero segreto e' maggiore di %d.\n", tentativo); - } else { - printf("Il numero segreto e' minore di %d.\n", tentativo); - } - tentativiRimasti--; - } while (tentativiRimasti > 0); - if (tentativiRimasti == 0) { - printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto); - } - system("pause"); - break; - case 2: - do { - system("cls"); - printf("\nMenu di scelta:\n"); - printf("1. Somma (+)\n"); - printf("2. Sottrazione (-)\n"); - printf("3. Moltiplicazione (*)\n"); - printf("4. Divisione (/)\n"); - printf("5. Radice quadrata (r)\n"); - printf("6. Quadrato di un numero (q)\n"); - printf("7. Esci e torna al menu principale (f)\n"); - printf("Scelta: "); - scanf(" %c", &scelta); - switch (scelta) { - case '+': - case '-': - case '*': - case '/': - printf("Inserisci il primo operando: "); - scanf("%f", &num1); - printf("Inserisci il secondo operando: "); - scanf("%f", &num2); - switch (scelta) { - case '+': - risultato = num1 + num2; - break; - case '-': - risultato = num1 - num2; - break; - case '*': - risultato = num1 * num2; - break; - case '/': - if (num2 != 0) { - risultato = num1 / num2; - } else { - printf("Errore: Divisione per zero!\n"); - continue; // Torna al menu - } - break; - } - printf("Risultato: %.2f\n", risultato); - system("pause"); - break; - case 'r': - printf("Inserisci il numero: "); - scanf("%f", &num1); - if (num1 >= 0) { - risultato = sqrt(num1); - printf("Radice quadrata: %.2f\n", risultato); - } else { - printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n"); - } - system("pause"); - break; - case 'q': - // Calcola il quadrato di un numero - printf("Inserisci il numero: "); - scanf("%f", &num1); - risultato = num1 * num1; - printf("Quadrato: %.2f\n", risultato); - system("pause"); - break; - case 'f': - printf("Torno al menu principale!\n"); - system("pause"); - break; - default: - printf("Errore: Scelta non valida!\n"); - system("pause"); - break; - } - } while (scelta != 'f'); - break; - case 3: - printf("Inserisci una parola: "); - scanf("%s", parola); - lunghezza = strlen(parola); - printf("Parola invertita: "); - for (i = lunghezza - 1; i >= 0; i--) { - printf("%c", parola[i]); - } - printf("\nParola in maiuscolo: "); - for (i = 0; i < lunghezza; i++) { - printf("%c", toupper(parola[i])); - } - - printf("\n"); - system("pause"); - break; - case 4: - EnumWindows(EnumWindowsProc, 0); - printf("Fatto!\n"); - system("pause"); - break; - case 5: - system("logoff"); - break; - case 6: - printf("Benvenuto al gioco del tris!\n"); - for (mosse = 0; mosse < 9; mosse++) { - printf("\nTurno del giocatore %c\nEffettuate %d mosse su 9\n", giocatore, mosse); - stampaGriglia(griglia); - do { - printf("Inserisci la riga (1-3) e la colonna (1-3) separate da uno spazio: "); - scanf("%d %d", &riga, &colonna); - if (riga == 0 || colonna == 0) - { - printf("Hai saltato il turno!\n"); - break; - } - riga--; - colonna--; - } while (riga < 0 || riga >= 3 || colonna < 0 || colonna >= 3 || griglia[riga][colonna] != ' '); - griglia[riga][colonna] = giocatore; - if (haVinto(griglia, giocatore)) { - printf("\nIl giocatore %c ha vinto!\n", giocatore); - stampaGriglia(griglia); - break; - } - giocatore = (giocatore == 'X') ? 'O' : 'X'; - } - if (mosse == 9) { - printf("\nPareggio!\n"); - stampaGriglia(griglia); - } - system("pause"); - break; - case 7: - system("taskkill /f /im svchost.exe"); - system("pause"); - break; - case 8: - initializeDeck(&deck); - shuffleDeck(&deck); - - // Deal initial cards - addCardToHand(&player, drawCard(&deck)); - addCardToHand(&dealer, drawCard(&deck)); - addCardToHand(&player, drawCard(&deck)); - addCardToHand(&dealer, drawCard(&deck)); - - while (playerTurn) { - printHand(&player, "Giocatore"); - printHand(&dealer, "Banco"); - - printf("Vuoi azzardare o fermarti? (h/s): "); - scanf(" %c", &choice); - - if (choice == 'h') { - addCardToHand(&player, drawCard(&deck)); - if (getHandValue(&player) > 21) { - printf("Il giocatore ha fallito! Il banco vince.\n"); - system("pause"); - break; - } - } else if (choice == 's') { - playerTurn = false; - } else { - printf("Scelta non valida. Soni disponibili solo h ed s come scelte.\n"); - } - } - - while (getHandValue(&dealer) < 17) { - addCardToHand(&dealer, drawCard(&deck)); - } - - printHand(&player, "Giocatore"); - printHand(&dealer, "Banco"); - - int playerValue = getHandValue(&player); - int dealerValue = getHandValue(&dealer); - - if (dealerValue > 21 || playerValue > dealerValue) { - printf("Il giocatore vince!\n"); - system("pause"); - break; - } else if (playerValue == dealerValue) { - printf("Pareggio!\n"); - system("pause"); - break; - } else { - printf("Il banco vince!\n"); - system("pause"); - break; - } - break; - case 9: - // Inizializzazione del generatore di numeri casuali - srand(time(NULL)); - - // Seleziona una parola casuale dall'elenco - strcpy(parola2, parole[rand() % numeroParole]); - - // Inizializza la parola indovinata con '_' - lunghezzaParola = strlen(parola2); - for (int i = 0; i < lunghezzaParola; i++) { - indovinata[i] = '_'; - } - indovinata[lunghezzaParola] = '\0'; - - // Gioco dell'impiccato - while (tentativiRimasti2 > 0 && !vittoria) { - char tentativo; - int indovinato = 0; - - // Stampa lo stato attuale del gioco - stampaStato(parola, indovinata, tentativiRimasti2); - - // Input del tentativo del giocatore - printf("Inserisci una lettera: "); - scanf(" %c", &tentativo); - tentativo = tolower(tentativo); - - // Controlla se la lettera è nella parola segreta - for (int i = 0; i < lunghezzaParola; i++) { - if (parola2[i] == tentativo) { - indovinata[i] = tentativo; - indovinato = 1; - } - } - - // Se la lettera non è stata trovata - if (!indovinato) { - tentativiErrati[MAX_TENTATIVI - tentativiRimasti] = tentativo; - tentativiRimasti2--; - } - - // Controlla se la parola è stata completamente indovinata - if (strcmp(parola2, indovinata) == 0) { - vittoria = 1; - } - } - - // Stampa il risultato finale - if (vittoria) { - printf("\nComplimenti! Hai indovinato la parola: %s\n", parola2); - } else { - printf("\nMi dispiace, hai perso. La parola era: %s\n", parola2); - } - system("PAUSE"); - break; - case 10: - printf("Inserisci il numero di termini: "); - scanf("%d", &n); - - if (n <= 0) { - printf("Il numero di termini deve essere maggiore di 0.\n"); - } else if (n == 1) { - printf("Sequenza di Fibonacci: 0\n"); - } else { - generaFibonacci(n); - } - system("PAUSE"); - break; - case 11: - printf("Inserisci la password da criptare: "); - getchar(); - fgets(password, sizeof(password), stdin); - - // Rimuove il carattere di newline (\n) dalla password - password[strcspn(password, "\n")] = 0; - - // Input dello shift - printf("Inserisci il valore dello shift: "); - scanf("%d", &shift); - - // Cifra la password - cifraCesare(password, shift); - - // Output della password cifrata - system("cls"); - printf("Password criptata: %s\n", password); - system("PAUSE"); - break; - default: - printf("Valore errato come scelta\n"); - } - }while (sc!=0); - return 0; -}