La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Gioco dell’impiccato in C Casuccio Giuseppe. Approccio modulare Parte operativa Parte grafica.

Presentazioni simili


Presentazione sul tema: "Gioco dell’impiccato in C Casuccio Giuseppe. Approccio modulare Parte operativa Parte grafica."— Transcript della presentazione:

1 Gioco dell’impiccato in C Casuccio Giuseppe

2 Approccio modulare Parte operativa Parte grafica

3 Parte Operativa Come funziona il programma

4 Il programma sceglie una parola a caso dal dizionario presente in memoria

5 int *p_parola; /*puntatore*/ char dizionario [MAX_PAROLE] [MAX_LUNG_PAROLE+1]; dizionario = {“alfa”; “beta”; “gamma”;...} randomize(); p_parola = dizionario[ random( MAX_PAROLE -1 ) ] lunghezza_parola = strlen(p_parola);

6 Come stampare la parola? Inizializzo un vettore di VISIBILITA’ Se vett_visib[indice] è VISIBILE stampa ( parola[indice] ) Altrimenti stampa(“__”) aumenta incognite stampate;

7 typedef enum {NASCOSTA, VISIBILE} stato_lettera; stato_lettera vett_visib[MAX_LUNG_PAR+1]; /* tutte le entrate sono NASCOSTE tranne la prima e l’ultima*/ vett_visib[0] = VISIBILE; vett_visib[lung_par] = VISIBILE; /* DA AGGIORNARE OGNI LETTERA CHIAMATA */

8 leggi_lettera() Già chiamata?  Si: esito = GIA_CHIAMATA  No: E’ in parola?  Si : esito = TROVATA; aggiorna vett_visib;  No:esito = NON_TROVATA; aumenta numero_errori;

9 leggi_lettera(); if (lettera_gia_chiamata(lettera)) /* Memorizzare un vettore esito = GIA_CHIAMATA;di lettere chiamate */ else { if (lettera_in_parola(lettera)) { esito = TROVATA; aggiorna_vett_visib(lettera); } else { num_errori++; esito = ERRORE; }

10 Parte Grafica “la schermata”

11 …blank… P-a-r-o-l-a …blank… rimanenti …blank… STAMPA LA FIGURA

12 }}}} Stampa_blank rimanenti(); - - -Stampa_blank();- - -printf(“ _____ - - -Stampa_blank();- - -printf(“ | | Stampa_parola(); printf(“ | Stampa_blank(); - - -printf(“ | -| Stampa_blank(); - - -printf(“ | / \ - - -Stampa_blank(); - - -printf(“___.___ Stampa_figura_e_parola (int errori) {/* esempio con errori = MAX_ERRORI */ switch ( errori ): { case MAX_ERRORI:

13 Errori rimanenti ESITO PRECEDENTE Leggi nuova mossa STAMPA LE INFORMAZIONI:

14 printf (“ Errori Rimanenti: %d \n”, MAX_ERR – errori_fatti); Stampa_esito_precedente();* [GIA’ CHIAMATA] * [TROVATA] * [NON TROVATA] printf (“Inserisci una lettera: \n”); leggi_lettera();

15 La stampa della pagina deve essere in un ciclo, che termina quando:  C’è l’IMPICCATO (troppi errori);  Gioco Completato;  EOF (CTRL+Z)

16 Alla fine si controlla il motivo per cui si è usciti dal ciclo:

17 Se per troppi errori, stampa: IMPICCATO, la parola esatta era: stampa_parola( );

18 Se per il gioco completato, stampa: COMPLIMENTI, HAI VINTO! Il gioco è completato se il numero di incognite stampate = 0 *// */ *

19 Se per il comando di EOF, stampa: Hai deciso di uscire!

20 Fine presentazione

21


Scaricare ppt "Gioco dell’impiccato in C Casuccio Giuseppe. Approccio modulare Parte operativa Parte grafica."

Presentazioni simili


Annunci Google