import java.util.ArrayList;
//import java.util.Iterator;

public class Territorio {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.27DD0240-F786-3F66-0D18-8620824D1F83]
    // </editor-fold> 
    private String nomTerritorio;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.DD4B9E3A-61AF-6735-B01E-82B68EB59D1E]
    // </editor-fold> 
    private int numTropas;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.FB944D06-58EF-33F5-DF18-F25D7951B8B4]
    // </editor-fold> 
    private String colorTropas;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.8449B5AE-2D3D-D87E-3F86-84594F4386BF]
    // </editor-fold> 
    //private ArrayList<Territorio> vecinos;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BA400F19-FABA-2CA9-8021-FADA748DEA79]
    // </editor-fold> 
    private int nvecinos;
    private int[] idvecino=new int [10];
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C8B4C584-FFC0-1F87-DACF-3881CDACA217]
    // </editor-fold> 
    private int identificador;//devuelve el identificador del territorio
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.753BF2A7-F0DE-60C9-5265-DD1CEC024C3F]
    // </editor-fold> ç
    private int zona;
    public Territorio(String nombreTer, int ident, int []idvecino, int zona/*, ArrayList<Territorio> nomvecinos*/) {
       //vecinos=new ArrayList();
        this.nomTerritorio=nombreTer;
       this.identificador=ident;
       this.nvecinos=idvecino.length;
       //this.nvecinos=nomvecinos.size(); //nº de elementos de la lista nomvecinos
       //vecinos=nomvecinos;
       for (int i=0;i<nvecinos;i++)
           this.idvecino[i]=idvecino[i];
       this.numTropas=1;
       this.colorTropas=null;
       this.zona=zona;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.70357209-82CB-993A-5EA0-11C674245E3F]
    // </editor-fold> 
    public String getColorTropas() { return colorTropas; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.04C6A8BF-D2A3-D872-E66E-FDE94C216ADA]
    // </editor-fold> 
    public void setColorTropas(String val){ this.colorTropas = val; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.427EF210-701F-506C-D463-AAFEAD6EC5C8]
    // </editor-fold> 
    public int getIdentificador() { return identificador; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.94EC5702-9563-A74C-1CCC-F3433B4DD386]
    // </editor-fold> 
    public void setIdentificador(int val){ this.identificador = val; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.C03CB54E-0AD3-8C95-0996-0D18282D0AAE]
    // </editor-fold> 
    public String getNomTerritorio(){ return nomTerritorio; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.A897DB41-4FD3-6A49-E319-9EE1BD1172AD]
    // </editor-fold> 
    public void setNomTerritorio (String val) { this.nomTerritorio = val; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.19B73399-8750-BA50-FFCF-A149EF171DDE]
    // </editor-fold> 
    public int getNumVecinos(){ 
        int contador=0;
        boolean es_menos_uno=false;
        for(int i=0;i<nvecinos && !es_menos_uno;i++){
            if (idvecino[i]!=-1) contador++;
            else es_menos_uno=true;
        }
        nvecinos=contador;
        return nvecinos;
    }
    
    public int IdentVecino(int i){ return idvecino[i]; }

    public void BorraVecino(Territorio Ter){
       /*   Iterator it = vecinos.iterator();
          int []id_vec=idvecino;          
          int i=0;
          while(it.hasNext() && i<nvecinos){
              if(it.equals(Ter)){
                   it.remove();
                   if(i==0)
                       for(int a=0;a<nvecinos-1;a++) 
                          idvecino[a]=id_vec[a+1];                   
                   else{                                             
                       for(int a=i;a<nvecinos;a++) 
                          idvecino[a]=id_vec[a+1];    
                       i=nvecinos; //obligamos a salir del while
                   }
              }
              else idvecino[i]=id_vec[i];
            i++;   
          } */
    }
    public void AddVecino(Territorio Tal){ 
          /*vecinos.add(Tal); 
          nvecinos++;*/
    }    
    public void DELVecinos(){
           /*Iterator it = vecinos.iterator();
           while(it.hasNext())
               it.remove();               
           nvecinos=0;*/
    }      
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.EC3A2492-A33D-2FB8-24C7-D77AD826B23D]
    // </editor-fold> 
    public void setVecinos (int id_vecino[], ArrayList<Territorio> val) { 
           /*DELVecinos();       
           this.vecinos = val; 
           nvecinos=val.size();
           this.idvecino=id_vecino;*/
    }
    
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.C94BEA87-19D5-AA09-C59F-FCFE5E1EFDED]
    // </editor-fold> 
    public int[] getVecinos(){ return idvecino; }   
    
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.BBC139D9-6815-8C7A-3B6D-A306A74D0124]
    // </editor-fold> 
    public int getNumTropas () { return numTropas; }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.89A96E63-7BCA-8238-80C6-4FB76C2AD557]
    // </editor-fold> 
    public void setNumTropas (int val) { numTropas = val; }
    
    public void muestraVecinos(){
        for(int i=0;i<nvecinos;i++){
            System.out.println(idvecino[i]);
        }
    }
public int getZona(){
    return zona;
}
  
}

