Risolto come funzionano le variabili bool?

emina

Utente Iron
18 Maggio 2021
25
6
7
19
ciao ragazzi sono al 1 anno di università, devo realizzare una parte del codice dove vengono usato nel file.h le variabili bool
la traccia di questo gioco 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:

__________________________________________________________________________________________________________________

Questo sotto è il blocco che devo aggiungere nel file.h utilizzando le variabili bool ma non riesco a capire come...
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.
il blocco di codice che ho usato è questo Però e incompleto :


C:
void torna_caravan(struct Giocatore* giocatore) {
int caravan = 1;
int fantasma = 2;
int probabilità;
//impostazione di probabilita che troviamo un fantasma;

switch (difficulty_level)
{
case 1:
  probabilità = 0.1;
    break;
    case 2:
    probabilità = 0.3;
    break;
    case 3:
    probabilità = 0.5;
    break;
    default:
  probabilità = 0.1;
  break;
 }


srand(time (NULL)); //generiamo in numero casuale tra 1 o 0;
float numero_casuale = (float)rand() / RAND_MAX;

if (giocatore -> posizione == caravan){
  printf("Il giocatore %s è ritornato al caravan.\n", giocatore->nome_giocatore);

} else if (giocatore -> posizione == fantasma){
if (numero_casuale < probabilità){

    printf("il giocatore non puo ritornare al carvan perche e presente un fantsma all'interno\n");

} else {
    printf("giocatore e ritornato al carvan\n");
}

giocatore -> posizione _>pFirst;
}

il blocco del codice che ho creato e questo ma è incompleto:

questo e il mio file.h


C:
#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();


bool
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 };
eum Tipo_caravan{ caravan}

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;
}


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

};
#endif