Anteprima
Vedrai una selezione di 1 pagina su 4
Programma C++ - Labirinto Pag. 1
1 su 4
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Questo programma in C++ rapresenta il classico gioco del labirinto!.
Estratto del documento

#include <conio.h>

#include <iostream>

#include <time.h>

#include <string.h>

#include <fstream>

#include <stdlib.h>

using namespace std;

/*apro il file che contiene i dati per il labirinto*/

fstream apert("lab.txt", ios::in | ios::out);

int pers=900;

/*serve per poi mettere la potenza dei mostri*/

struct mostri

{ int pv;

};

/*apro la struct classica con qualche modifica rispetto al solita sruct utilizzo

una con pi variabili booleane.*/

struct nodo

{ nodo *nord,*sud,*est,*ovest;

int info,stanza;

};

nodo *labi[12];

/*void per la creazione delle 12 stanze*/

void crea()

{ for(int i=0;i<12;i++)

{ nodo *stz;

stz=new nodo;

labi[i]=stz;

}

}

/*void che serve per creare il labirinto in grafica come avevamo fatto nei altri

programmi l'anno scorso.*/

void labiri(nodo *indice)

{ string pe,po,ps,pn;

int i=0;

if(indice->est==NULL)

pe="|";

else

pe="=";

if(indice->ovest==NULL)

po="|";

else

po="=";

if(indice->sud==NULL)

ps="-";

else

ps="||";

if(indice->nord==NULL)

pn="-";

else

pn="||";

cout<<" - "<<pn<<" - "<<"\n";

cout<<"| |"<<"\n";

cout<<po<<" "<<pe<<"\n";

cout<<"| |"<<"\n";

cout<<" - "<<ps<<" - "<<"\n";

}

/*serve per cambiare stanza e far si che si incontrino anche altri mostri!!!!*/

void cambi()

{ int n, info,i;

for(i=0;i<12;i++)

{

apert>>labi[i]->stanza;

/*parte ovest */

apert>>info;

if(info==-1)

{n-1;

labi[i]->ovest=NULL;

}else

labi[i]->ovest=labi[info-1];

apert>>info;

/*parte nord*/

if(info==-1)

{n=n-1;

labi[i]->nord=NULL;

}else

labi[i]->nord=labi[info-1];

apert>>info;

/*parte est*/

if(info==-1)

{n=n-1;

labi[i]->est=NULL;

}else

labi[i]->est=labi[info-1];

apert>>info;

/*parte sud*/

if(info==-1)

{n=n-1;

labi[i]->sud=NULL;

}else

labi[i]->sud=labi[info-1];

apert>>labi[i]->info;

}

}

/*scontri tra mostri e personaggio!*/

void bat (int &oa)

{ int scelta,n;

mostri t[4];

t[0].pv=300;

do{ n=0;

cout<<"mostro cosa vuoi fare?:"<<"\n";

cout<<"1:attacca 2:scappa"<<"\n";

cin>>scelta;

if(scelta==1)

{

do{

cout<<"pv pers: "<<pers<<"\tpunti mop: "<<t[n].pv<<"\n";

cout<<"hai attaccato"<<"\n";

t[n].pv=t[n].pv-(rand()%100);

if(t[n].pv<0)

cout<<"hai vinto"<<"\n";

else

pers=pers-(rand()%100);

if(pers<0)

cout<<"Sei morto.!!"<<"\n";

}while(t[n].pv>0 && pers>0 );}

if (scelta==2 )

{cout<<"scappi dal mostro "<<"\n";

} }while(scelta!=1 && scelta!=2 );

}

/* void per iniziare a spostarsi nelle stanze e per raccogliere l'oro.*/

void parte1()

{ int i=0,scelta,ot,oa,t,pa[4];

nodo *sat=labi[i];

ot=0;

oa=0;

do{ pa[0]=0;

pa[1]=0;

pa[2]=0;

pa[3]=0;

cout<<"Sei entrato nella stanza"<<"\n"<<"\n";

if(sat->info==1)

{ot=rand()%100;

oa=oa+ot;

cout<<"hai trovato le seguenti monete:"<<ot<<"\n";

cout<<"ora hai:"<<oa<<" monete d'oro!"<<"\n";

if(oa>=80)

{ cout<<"cosa vuoi fare??:"<<"\n";

cout<<"1:curati"<<"\n";

cout<<"2:stanza dopo"<<"\n";

do{

cin>>scelta;

cout<<"\n";

}while(scelta<1 || scelta>2);

if(scelta==1 )

{ pers=900;

oa=oa-80;

cout<<"ora hai:"<<oa<<" monete d'oro!"<<"\n"; }

else

cout<<"hai mantenuto le:"<<oa<<" monete d'oro!"<<"\n"; }}

if(sat->info==0)

{ cout<<"alt!mostro!"<<"\n";

t=rand()%4;

bat(oa);

}

if (pers>0 && pers!=0)

{ labiri(sat);

/*scelta delle stanza*/

cout<<"scegli la porta"<<"\n";

if(sat->nord!=0)

{cout<<"1:porta nord"<<"\n";

pa[0]=1;}

if(sat->sud!=0)

{cout<<"2:porta sud"<<"\n";

pa[1]=2;}

if(sat->est!=0)

{cout<<"3:porta est"<<"\n";

pa[2]=3;}

if(sat->ovest!=0)

{cout<<"4:porta ovest"<<"\n";

pa[3]=4;}

do{

cin>>scelta;

Dettagli
Publisher
4 pagine
493 download