Foros > C++: Dudas con pilas

  1. Byron

    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<valor<
    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');
    }


responder

Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..

publicidad