Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include<string.h>
- #define clear system("cls")
- int main(){
- FILE *ifp;
- char Parola[46]; /*la parola + lunga in italiano ha 29 lettere, abbondiamo*/
- char lettera;
- ifp = fopen("C:\\Temp\\dizionario.txt", "r");
- if (ifp == NULL) {
- printf("Impossibile aprire il file del dizionario");
- return 1;
- }
- int WordCounter=0;
- int tuttotrovato;
- int tentativi;
- while (fscanf(ifp, "%s", Parola) != EOF) WordCounter++;
- fclose(ifp);
- char** Dizionario = (char**) malloc(WordCounter*sizeof(char*));
- int i; for (i=0;i<WordCounter;i++) Dizionario[i]=(char*) malloc(46*sizeof(char));
- ifp = fopen("C:\\Temp\\dizionario.txt", "r");
- WordCounter=0;
- while (fscanf(ifp, "%s", Parola) != EOF) strcpy(Dizionario[WordCounter++],Parola);
- fclose(ifp);
- do{
- clear;
- int ParolaDaIndovinare = rand()%WordCounter;
- int* LettereTrovate=(int*) malloc(strlen(Dizionario[ParolaDaIndovinare])*sizeof(int));
- for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++) LettereTrovate[i]=0;
- tentativi=6;
- printf("Gioco dell'Impiccato\n");
- do{clear;
- printf("Parola da Indovinare:\n");
- for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++){
- if (LettereTrovate[i])
- printf("%c ",Dizionario[ParolaDaIndovinare][i]);
- else
- printf("_ ");
- }
- printf("\nTentativi Rimasti: %d\nInserisci una lettera: ",tentativi);
- scanf("%c",&lettera); fflush(stdin);
- int LetteraTrovata=0;
- for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++){
- if(Dizionario[ParolaDaIndovinare][i]==lettera){
- LetteraTrovata=1; LettereTrovate[i]=1;
- }
- }
- tuttotrovato=0;
- if (!LetteraTrovata) tentativi--;
- else{
- tuttotrovato=1;
- for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]) && tuttotrovato;i++) tuttotrovato=LettereTrovate[i];
- }
- }while(tentativi>0 && !tuttotrovato);
- if (tuttotrovato) printf("\nComplimenti!!! Hai Vinto!!!\nVuoi Giocare Ancora? s/n ");
- else printf("\nPeccato, Hai perso\nVuoi Giocare Ancora? s/n ");
- free(LettereTrovate);
- scanf("%c",&lettera); fflush(stdin);
- }while(lettera=='s' || lettera=='S');
- for (i=0;i<WordCounter;i++) free(Dizionario[i]); free(Dizionario)
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement