Mensajes [1] - Enviado el Miércoles 09 de Enero de 2008 a las 19:40hs
Estoy tratando de hacer un juego, donde es un arma que dispara a unas columnas, las cuales deben ser 8 pilas con 8 nodos, ser?n caritas, pero no logro hacer las 8 columnas...
Aqui esta un c?digo, pero solo es una columna, donde presionando 1 (como disparar) se elimina una cara... como le hago para que se haga este proceso pero con 8 columnas?? Espero me ayuden, gracias.
#include
#include
#include
#include
#include
class nodo
{
private:
char valor;
nodo *siguiente;
public:
nodo(char v, nodo *sig)
{
valor=v;
siguiente=sig;
}
friend class pila; // la clase pila es amiga de la clase nodo, porlo tanto
//desde pila puedo entrar a los elementos de nodo
};
typedef nodo *pnodo;
pnodo ultimo;
pnodo aux;
class pila
{
public:
pila()
{
ultimo=NULL;
}
void push()
{
char val1=1;
pnodo nuevo;
nuevo=new nodo(val1, ultimo);
/*fue creado un nodo el cual almacena su direccion en nuevo*/
ultimo=nuevo;
clrscr();
}
void pop()
{
pnodo nodo;
if(ultimo==NULL)
cout<<"no hay elementos";
else
{
nodo=ultimo; //nodo apunta al primer elemento de la pila
ultimo=nodo->siguiente;
delete nodo;
}
}
void visualizar()
{
if(ultimo==NULL)
exit(0);
else
{
clrscr();
aux=ultimo;
while(aux!=NULL)
{
cout<
aux=aux->siguiente;
}
}
}
};
void main()
{
int i;
pila pilaobj;
char opc;
for(i=0;i<8;i++)
pilaobj.push();
pilaobj.visualizar();
do
{
opc=getch();
switch(opc)
{
case '1': //Equivale a disparar, con lo que una cara se destruye
{
{
pilaobj.pop();
pilaobj.visualizar();
}
break;
}
}
}while(opc!='4');
}