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.