C++ #20 Realizzazione un simulatore di gare di Formula1

Obiettivo: Realizzare un programma che implementi un simulatore di gare di Formula1  utilizzando il linguaggio di programmazione C++.

Le automobili

Ogni automobile è caratterizzata da una serie di attributi, alcuni di questi non cambiano nel corso di una gara e sono utilizzati per determinare il tempo di percorrenza sul giro o altre importanti informazioni, altri parametri invece sono utilizzati per tenere traccia di alcune informazioni e cambiano nel corso di un gara (vedi ad esempio la benzina, che per ogni giro diminuisce).

Lista degli attributi costanti

  • string nome;
  • int velocità;
  • int accelerazione;
  • int controllo;
  • int affidabilita;
  • int consumo;

Lista degli attributi variabili

  • int ritiro;
  • int tempoGiro;
  • int tempoGara;
  • int benzina;
  • int punteggio;

Le gare

Ogni gara è caratterizzata da una serie di attributi:

  • string nome;
  • string descrizione
  • int lunghezza;
  • int numeroGiri;

Il codice

Viene in seguito illustrato il codice utilizzato per implementare un gioco di simulazione di gare di formula 1.

Struttura del codice

  • Definisce due strutture principali:
    Auto: rappresenta una macchina con caratteristiche (velocità, accelerazione, controllo, ecc.) e dati di gara (tempo, benzina, punteggio).
    Gara: rappresenta un circuito con nome, descrizione, lunghezza e numero di giri.
  • Nel main vengono inizializzate alcune auto e alcune gare.
    Per ogni gara:
    – Resetta i parametri delle auto.
    – Simula giro per giro la corsa (calcolo tempo, consumo benzina, ecc.).
    – Permette all’utente di scegliere azioni durante i giri (es. rifornimento, guida aggressiva).
    – Stampa i tempi e la classifica.
    – Alla fine assegna punteggi e determina il vincitore (anche se alcune funzioni sono ancora da completare, segnate con TODO).