Come faccio a correggere questo codice usando bool

di il
5 risposte

Come faccio a correggere questo codice usando bool

Ciao sto  frequentando il primo anno di università devo finire questo programma (gioco) realizzato in c per poter dare esame di programmazione scritto.

incollo qui il codice scritto nel file.h (puo serivere per correggermi il codice :)..)



#ifndef H_GAMELIB
#define H_GAMELIB

extern void imposta_gioco();
extern void gioca();
extern void termina_gioco();
extern void inserisci_zona();
extern void stampa_mappa();
extern void chiudi_mappa();
extern void cancella_zona();
extern void scelta_menu();
extern void avanza();
extern void torna_caravan();
extern void stampa_giocatore();
extern void stampa_zona();
extern void avanza();
extern void raccogli_prova();
extern void raccogli_oggetto();
extern void usa_oggetto();
extern void passa_turno();
extern void scegli_oggetto_rimanente();

enum Tipo_Difficolta
{
    dilettante,
    intermedio,
    incubo
};
enum Tipo_oggetto_iniziale
{
    EMF,
    spirit_box,
    videocamera,
    calmanti,
    sale
};
enum Tipo_oggetto_zona
{
    adrenalina,
    cento_dollari,
    coltello,
    calmanti1,
    nessun_oggetto
};
enum Tipo_zona
{
    cucina,
    soggiorno,
    camera,
    bagno,
    garage,
    seminterrato
};
enum Tipo_prova
{
    prova_EMF,
    prova_spirit_box,
    prova_videocamera,
    nessuna_prova
};

    struct Zona_mappa
{
    enum Tipo_Difficolta livello;
    enum Tipo_zona zona;
    enum Tipo_prova prova;
    enum Tipo_oggetto_zona oggetto_zona;
    struct Zona_mappa *prossima_zona;
}

class oggetto_trovato {
    bool emf_trovato;
    bool spirit_box_trovato;
    bool videocamera_trovato;
    bool fantasma_presente;
    int posizione_attuale;
    int turno;
};

class Caravan {
    std::vector<int> zone;
    bool emf_trovato;
    bool spirit_box_trovato;
    bool videocamera_trovato;
};


struct Giocatore
{
    char nome_giocatore[30];
    unsigned char sanita_mentale;
    struct Zona_mappa *posizione;
    unsigned char zaino[4];
};

#endif

ho un problema in questo blocco di codice scritto nel file:c

la traccia del compito dice questo: • torna_caravan(): il caravan è la base d’appoggio per i giocatori: può essere visto come una zona spe-
ciale e ne esiste sempre una ed una sola: non può essere quindi generata un’altra zona caravan durante
la creazione della mappa. Con questa funzione il giocatore ritorna automaticamente al caravan: le prove
eventualmente raccolte dal giocatore verranno lasciata nel caravan, marcandole come trovate. **inizio
modifica** Al posto della prova, nello zaino comparirà uno dei rimanenti oggetti tra EMF, spirit_box,
videocamera che non è ancora stato distribuito ai giocatori (altrimenti risulterebbe impossibile raccoglie-
re tutte e tre le prove e concludere il gioco) **fine modifica** . Alla fine il giocatore verrà posizionato
sulla prima zona della lista e il turno passerà al prossimo giocatore. La presenza del fantasma nella stessa
zona impedisce di ritornare al caravan, e quindi questa funzione non potrà essere chiamata.



void torna_caravan Giocatore, &giocatore, Caravan &caravan{
   if (giocatore.fantasma_presente) {
        cout << "Non puoi ritornare al caravan con il fantasma presente in questa zona.\n";
        return;
    }

Sono incrisi bloccato non riesco ad andare avanti con il programma: qualche programmatore riesce a darmi un aiutino grazie mille.

5 Risposte

Devi accedere o registrarti per scrivere nel forum
5 risposte