Estratto del documento

Progetto programmazione 1: tiro al bersaglio

Appunti a cura di Giacomo Gargiulo
Università degli Studi di Napoli Parthenope
Per tutte le info o osservazioni: giacomo.gargiulo.made4Core@gmail.com

Funzione gioco

#include "header.h"

Dati di input e output

I dati di input comprendono:

  • Il vettore a[7][5] che rappresenta il bersaglio.
  • La variabile struttura Tiratore[] relativa alla struct TIRATORE.
  • Il vettore Vet che rappresenta le vittorie di una partita di 50 turni.
  • nx che è il numero di righe del bersaglio.
  • my che è il numero di colonne del bersaglio.

I dati di output includono:

  • La visualizzazione del bersaglio con i relativi punteggi posizionali.
  • La posizione in righe-colonne di dove è stato colpito il bersaglio da ogni singolo giocatore.
  • Il punteggio posizione fatto da ogni giocatore.
  • Il punteggio massimo fatto alla fine di ogni turno.
  • Il numero del turno corrente.
  • Il numero del giocatore/i che hanno vinto.

Caratteristiche del gioco

Questa procedura consente di svolgere tutte le parti principali che riguardano il gioco:

  • Vedere il bersaglio facendo uso di un ciclo annidato for.
  • Generare 5 posizioni casuali sulle caselle con la funzione rand.
  • Assegnare il punteggio posizionale ai giocatori.
  • Determinare quale è stato il punteggio massimo all'interno di ogni turno.
  • Stabilire la vittoria del giocatore/i utilizzando principalmente un ciclo for che considera la variabile Giocatore come indice.
  • Utilizzare cicli che consentono il corretto funzionamento del programma.

Implementazione della funzione

La funzione gioco accetta i seguenti parametri:

void gioco(char a[][5], struct TIRATORE Tiratore[], int Vet[], int nx, int my) {
    int turno; // Variabile turno utilizzata in un ciclo for da cui si uscirà se il turno è maggiore di 50
    int i, j; // Contatori rispettivamente relativi al numero di righe e colonne del bersaglio
    int Pos_max = 0; // Variabile inizializzata a zero per assegnare il valore del punteggio posizione ai giocatori
    int Punteggio_max = 0;
    int Giocatore = 0; // Indice per la variabile Giocatore

    for (turno = 0; turno < 50 && Punteggio_max < 100; turno++) {
        printf("\n!!!PICCOLA ANNOTAZIONE!!!= Quando il punteggio posizione vale o1 o 2, \nil punteggio assegnato al giocatore è sempre 1.\nPer il resto il punteggio posizionale coincide con il punteggio assegnato.");
        printf("\n\n");

        // Ciclo for per visualizzare il bersaglio di 7 righe x 5 colonne
        for (i = 0; i < 7; i++) {
            for (j = 0; j < 5; j++) {
                printf("[_%c_]", a[i][j]);
            }
            printf("\n");
        }

        // Stabilisco il valore "posizionale" dei punteggi dei turni
        // (N.B. Le righe vanno lette dal numero 0 al numero 6 e le colonne dal numero 0 al numero 4)
        for (Giocatore = 0; Giocatore < 5; Giocatore++) {
            Tiratore[Giocatore].Punteggio_Posizione = 0; // Inizializziamo a zero la variabile Punteggio_posizione interna alla struct
            nx = rand() % 7; // Posizioni casuali da 0 a 6 sulle righe
            my = rand() % 5; // Posizioni casuali da 0 a 4 sulle colonne
            Tiratore[Giocatore].Punteggio_Posizione = a[nx][my] - 48; // Sottraiamo il valore del char a 48 per ottenere l'equivalente intero poiché in C i caratteri sono trattati mediante il codice ASCII
            // 48 è il codice ASCII dello zero
            printf("\nIl %d-simo giocatore ha un punteggio di posizione calcolato...\n", Giocatore);
        }
    }
}
Anteprima
Vedrai una selezione di 3 pagine su 7
Tiro al Bersaglio Pag. 1 Tiro al Bersaglio Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Tiro al Bersaglio Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher GG4core di informazioni apprese con la frequenza delle lezioni di Programmazione I e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Napoli - Parthenope o del prof Giunta Giulio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community