Advertisement
VRonin

Impiccato

May 24th, 2013
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4. #define clear system("cls")
  5. int main(){
  6.     FILE *ifp;
  7.     char Parola[46]; /*la parola + lunga in italiano ha 29 lettere, abbondiamo*/
  8.     char lettera;
  9.     ifp = fopen("C:\\Temp\\dizionario.txt", "r");
  10.     if (ifp == NULL) {
  11.       printf("Impossibile aprire il file del dizionario");
  12.       return 1;
  13.     }
  14.     int WordCounter=0;
  15.     int tuttotrovato;
  16.     int tentativi;
  17.     while (fscanf(ifp, "%s", Parola) != EOF) WordCounter++;
  18.     fclose(ifp);
  19.     char** Dizionario = (char**) malloc(WordCounter*sizeof(char*));
  20.     int i; for (i=0;i<WordCounter;i++) Dizionario[i]=(char*) malloc(46*sizeof(char));
  21.     ifp = fopen("C:\\Temp\\dizionario.txt", "r");
  22.     WordCounter=0;
  23.     while (fscanf(ifp, "%s", Parola) != EOF) strcpy(Dizionario[WordCounter++],Parola);
  24.     fclose(ifp);
  25.     do{
  26.         clear;
  27.         int ParolaDaIndovinare = rand()%WordCounter;
  28.         int* LettereTrovate=(int*) malloc(strlen(Dizionario[ParolaDaIndovinare])*sizeof(int));
  29.         for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++) LettereTrovate[i]=0;
  30.         tentativi=6;
  31.         printf("Gioco dell'Impiccato\n");
  32.         do{clear;
  33.             printf("Parola da Indovinare:\n");
  34.             for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++){
  35.                 if (LettereTrovate[i])
  36.                     printf("%c ",Dizionario[ParolaDaIndovinare][i]);
  37.                 else
  38.                     printf("_ ");
  39.             }
  40.             printf("\nTentativi Rimasti: %d\nInserisci una lettera: ",tentativi);
  41.             scanf("%c",&lettera); fflush(stdin);
  42.             int LetteraTrovata=0;
  43.             for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]);i++){
  44.                 if(Dizionario[ParolaDaIndovinare][i]==lettera){
  45.                     LetteraTrovata=1; LettereTrovate[i]=1;
  46.                 }
  47.             }
  48.             tuttotrovato=0;
  49.             if (!LetteraTrovata) tentativi--;
  50.             else{
  51.                 tuttotrovato=1;
  52.                 for(i=0;i<strlen(Dizionario[ParolaDaIndovinare]) && tuttotrovato;i++) tuttotrovato=LettereTrovate[i];
  53.             }
  54.         }while(tentativi>0 && !tuttotrovato);
  55.         if (tuttotrovato) printf("\nComplimenti!!! Hai Vinto!!!\nVuoi Giocare Ancora? s/n ");
  56.         else printf("\nPeccato, Hai perso\nVuoi Giocare Ancora? s/n ");
  57.     free(LettereTrovate);
  58.         scanf("%c",&lettera); fflush(stdin);
  59.     }while(lettera=='s' || lettera=='S');
  60.     for (i=0;i<WordCounter;i++) free(Dizionario[i]); free(Dizionario)
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement