Codice del labirinto
#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";
Questo programma in C++ rappresenta il classico gioco del labirinto.