Example #1
0
    public bool Insertar(NodoUnidad nuevo)
    {
        NodoUnidad tmp = Primero;

        if (Primero == null)
        {
            Primero = nuevo;
            Ultimo  = nuevo;
            return(true);
        }
        else if (nuevo.CooX < Primero.CooX)
        {
            tmp.Izquierda = nuevo;
            nuevo.Derecha = tmp;
            Primero       = nuevo;
            return(true);
        }
        else if (nuevo.CooX > Ultimo.CooX)
        {
            tmp             = Ultimo;
            tmp.Derecha     = nuevo;
            nuevo.Izquierda = tmp;
            Ultimo          = nuevo;
            return(true);
        }
        else
        {
            do
            {
                if (tmp.CooX < nuevo.CooX && tmp.Derecha.CooX > nuevo.CooX)
                {
                    nuevo.Derecha         = tmp.Derecha;
                    tmp.Derecha.Izquierda = nuevo;
                    tmp.Derecha           = nuevo;
                    nuevo.Izquierda       = tmp;
                    return(true);
                }
                else if (tmp.CooX == nuevo.CooX)
                {
                    return(false);
                }
                tmp = tmp.Derecha;
            } while (tmp != null);
        }
        return(false);
    }
Example #2
0
    public bool Insertar(NodoUnidad nuevo)
    {
        NodoUnidad tmp = Primero;

        if (Primero == null)
        {
            Primero = nuevo;
            Ultimo  = nuevo;
            return(true);
        }
        else if (nuevo.CooY < Primero.CooY)
        {
            tmp.Arriba  = nuevo;
            nuevo.Abajo = tmp;
            Primero     = nuevo;
            return(true);
        }
        else if (nuevo.CooY > Ultimo.CooY)
        {
            tmp          = Ultimo;
            tmp.Abajo    = nuevo;
            nuevo.Arriba = tmp;
            Ultimo       = nuevo;
            return(true);
        }
        else
        {
            do
            {
                if (tmp.CooY < nuevo.CooY && tmp.Abajo.CooY > nuevo.CooY)
                {
                    nuevo.Abajo      = tmp.Abajo;
                    tmp.Abajo.Arriba = nuevo;
                    tmp.Abajo        = nuevo;
                    nuevo.Arriba     = tmp;
                    return(true);
                }
                else if (tmp.CooY == nuevo.CooY)
                {
                    return(false);
                }
                tmp = tmp.Abajo;
            } while (tmp != null);
        }
        return(false);
    }
Example #3
0
 public bool Eliminar(int x, int jugador)
 {
     if (Primero != null)
     {
         if (Primero == Ultimo && Primero.CooX == x && Primero.Jugador == jugador)
         {
             Primero = null;
             Ultimo  = null;
             return(true);
         }
         else if (Primero.CooX == x && Primero.Jugador == jugador)
         {
             NodoUnidad tmp = Primero.Derecha;
             Primero.Derecha = null;
             tmp.Izquierda   = null;
             Primero         = tmp;
             return(true);
         }
         else if (Ultimo.CooX == x && Ultimo.Jugador == jugador)
         {
             NodoUnidad tmp = Ultimo.Izquierda;
             Ultimo.Izquierda = null;
             tmp.Derecha      = null;
             Ultimo           = tmp;
             return(true);
         }
         else
         {
             NodoUnidad tmp = Primero;
             while (tmp != null)
             {
                 if (tmp.CooX == x && tmp.Jugador == jugador)
                 {
                     tmp.Izquierda.Derecha = tmp.Derecha;
                     tmp.Derecha.Izquierda = tmp.Izquierda;
                     tmp.Derecha           = null;
                     tmp.Izquierda         = null;
                     return(true);
                 }
                 tmp = tmp.Derecha;
             }
         }
     }
     return(false);
 }
Example #4
0
 public bool Eliminar(int y, int jugador)
 {
     if (Primero != null)
     {
         if (Primero == Ultimo && Primero.CooY == y && Primero.Jugador == jugador)
         {
             Primero = null;
             Ultimo  = null;
             return(true);
         }
         else if (Primero.CooY == y && Primero.Jugador == jugador)
         {
             NodoUnidad tmp = Primero.Abajo;
             Primero.Abajo = null;
             tmp.Arriba    = null;
             Primero       = tmp;
             return(true);
         }
         else if (Ultimo.CooY == y && Ultimo.Jugador == jugador)
         {
             NodoUnidad tmp = Ultimo.Arriba;
             Ultimo.Arriba = null;
             tmp.Abajo     = null;
             Ultimo        = tmp;
             return(true);
         }
         else
         {
             NodoUnidad tmp = Primero;
             while (tmp != null)
             {
                 if (tmp.CooY == y && tmp.Jugador == jugador)
                 {
                     tmp.Arriba.Abajo = tmp.Abajo;
                     tmp.Abajo.Arriba = tmp.Arriba;
                     tmp.Abajo        = null;
                     tmp.Arriba       = null;
                     return(true);
                 }
                 tmp = tmp.Abajo;
             }
         }
     }
     return(false);
 }
Example #5
0
    public void Insertar(NodoUnidad nuevo)
    {
        NodoUnidad tmp = Primero;

        if (Primero == null)
        {
            Primero = nuevo;
            Ultimo  = nuevo;
        }
        else if (nuevo.CooX < Primero.CooX)
        {
            Primero.Izquierda = nuevo;
            nuevo.Derecha     = Primero;
            Primero           = nuevo;
        }
        else if (nuevo.CooX > Ultimo.CooX)
        {
            Ultimo.Derecha  = nuevo;
            nuevo.Izquierda = Ultimo;
            Ultimo          = nuevo;
        }
        else
        {
            do
            {
                if (tmp.CooX < nuevo.CooX && tmp.Derecha.CooX > nuevo.CooX)
                {
                    nuevo.Derecha         = tmp.Derecha;
                    tmp.Derecha.Izquierda = nuevo;
                    tmp.Derecha           = nuevo;
                    nuevo.Izquierda       = tmp;
                }
                tmp = tmp.Derecha;
            } while (tmp != null);
        }
    }
Example #6
0
    public void Insertar(NodoUnidad nuevo)
    {
        NodoUnidad tmp = Primero;

        if (Primero == null)
        {
            Primero = nuevo;
            Ultimo  = nuevo;
        }
        else if (nuevo.CooY < Primero.CooY)
        {
            Primero.Arriba = nuevo;
            nuevo.Abajo    = Primero;
            Primero        = nuevo;
        }
        else if (nuevo.CooY > Ultimo.CooY)
        {
            Ultimo.Abajo = nuevo;
            nuevo.Arriba = Ultimo;
            Ultimo       = nuevo;
        }
        else
        {
            do
            {
                if (tmp.CooY < nuevo.CooY && tmp.Abajo.CooY > nuevo.CooY)
                {
                    nuevo.Abajo      = tmp.Abajo;
                    tmp.Abajo.Arriba = nuevo;
                    tmp.Abajo        = nuevo;
                    nuevo.Abajo      = tmp;
                }
                tmp = tmp.Abajo;
            } while (tmp != null);
        }
    }
Example #7
0
 public ListaHorizontal()
 {
     Primero = null;
     Ultimo  = null;
 }
Example #8
0
    public NodoUnidad(int id_, int est, int tipo_, int x, int y, int z, int jugador_)
    {
        ID   = id_;
        tipo = tipo_;

        CooX = x;
        CooY = y;
        CooZ = z;

        Jugador = jugador_;

        estado = est;

        switch (tipo)
        {
        case 0:
            Movimiento = 6;
            Daño       = 2;
            Vida       = 10;
            break;

        case 1:
            Movimiento = 7;
            Daño       = 5;
            Vida       = 10;
            break;

        case 2:
            Movimiento = 9;
            Daño       = 2;
            Vida       = 20;
            break;

        case 3:
            Movimiento = 9;
            Daño       = 3;
            Vida       = 15;
            break;

        case 4:
            Movimiento = 5;
            Daño       = 3;
            Vida       = 10;
            break;

        case 5:
            Movimiento = 6;
            Daño       = 3;
            Vida       = 15;
            break;

        case 6:
            Movimiento = 5;
            Daño       = 2;
            Vida       = 10;
            break;

        default:
            break;
        }

        Arriba    = null;
        Abajo     = null;
        Derecha   = null;
        Izquierda = null;
        Superio   = null;
        Inferior  = null;
    }
Example #9
0
 public ListaVertical()
 {
     Primero = null;
     Ultimo  = null;
 }