public void insertar(NodoMatrizBidimensional.EUnidad unidad, int movimiento, int alcance, int danio, int vida, string id, int fila, int columna)
 {
     if (fila < altura && columna < anchura)
     {
         NodoMatrizBidimensional cabeza = ultima.getPrimero();
         while (cabeza.getArriba() != null)
         {
             cabeza = cabeza.getArriba();
         }
         for (int i = 0; i < fila; i++)
         {
             cabeza = cabeza.getAbajo();
         }
         for (int i = 0; i < columna; i++)
         {
             cabeza = cabeza.getSiguiente();
         }
         cabeza.Unidad     = unidad;
         cabeza.Movimiento = movimiento;
         cabeza.Alcance    = alcance;
         cabeza.Danio      = danio;
         cabeza.Vida       = vida;
         cabeza.Id         = id;
     }
 }
        public NodoMatrizBidimensional getNodo(int fila, int columna)
        {
            NodoMatrizBidimensional cabeza = ultima.getPrimero();

            while (cabeza.getArriba() != null)
            {
                cabeza = cabeza.getArriba();
            }
            for (int i = 0; i < fila; i++)
            {
                cabeza = cabeza.getAbajo();
            }
            for (int i = 0; i < columna; i++)
            {
                cabeza = cabeza.getSiguiente();
            }
            return(cabeza);
        }
 public void setValor(int movimiento, int vida, int fila, int columna)
 {
     if (fila < altura && columna < anchura)
     {
         NodoMatrizBidimensional cabeza = ultima.getPrimero();
         while (cabeza.getArriba() != null)
         {
             cabeza = cabeza.getArriba();
         }
         for (int i = 0; i < fila; i++)
         {
             cabeza = cabeza.getAbajo();
         }
         for (int i = 0; i < columna; i++)
         {
             cabeza = cabeza.getSiguiente();
         }
         cabeza.Movimiento = movimiento;
         cabeza.Vida       = vida;
     }
 }
 public MatrizBidimensional(int altura, int anchura)
 {
     dot          = "";
     this.altura  = altura;
     this.anchura = anchura;
     if (anchura > 0 && altura > 0)
     {
         ultima = new ListaMatrizBidimensional(anchura);
         for (int i = 1; i < altura; i++)
         {
             ListaMatrizBidimensional aux              = new ListaMatrizBidimensional(anchura);
             NodoMatrizBidimensional  recorredorAux    = aux.getPrimero();
             NodoMatrizBidimensional  recorredorUltima = ultima.getPrimero();
             while (recorredorAux != null && recorredorUltima != null)
             {
                 recorredorAux.setArriba(recorredorUltima);
                 recorredorUltima.setAbajo(recorredorAux);
                 recorredorUltima = recorredorUltima.getSiguiente();
                 recorredorAux    = recorredorAux.getSiguiente();
             }
             ultima = aux;
         }
     }
 }