package UhuRisk;


import java.util.Observable;
import java.util.Random;
// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.CBC0A9B9-C569-0D06-04A9-C09C9FD056E6]
// </editor-fold> 
public class Dado extends Observable{

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E1FEE8DE-53ED-1A2D-A2C9-0E8CDBAF8BE1]
    // </editor-fold> 
 
    private int[] tirada;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6253D825-758E-23E7-31A1-6534E3D6CB10]
    // </editor-fold> 

    private String tipo;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.8A4F6A7C-CA8F-98D5-1C3A-136FF26B4F3B]
    // </editor-fold> 
    public Dado (String t) {
        tipo=t;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.0AF2C051-F3AE-444B-3296-1E10B01AA988]
    // </editor-fold> 
  

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.8286D92B-7597-B1E8-DD0E-6909780F3AFC]
    // </editor-fold> 
    

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.B5204D37-92D8-4D36-A5E8-F0ED3A081A1B]
    // </editor-fold> 

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.B1C0A962-70A1-A691-17F2-C6ADD32B6A21]
    // </editor-fold> 
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BA2DC992-903F-3A52-6564-FDED6486D0D2]
    // </editor-fold> 
    public int tirarDados () {
        Random rnd=new Random();
        int n;
        n=rnd.nextInt(6)+1;
        return n;
    }
    
    public void hacerTirada(int n){
        int[] aux =new int[n];
        int i;
        for(i=0;i<n;i++)
            aux[i]=this.tirarDados();
        this.setTirada(aux);
    }
    
    public int[] comparar(int[] lat, int[] lde){ //dev[0]=numero ejercitos que pierde el atacante
        //dev[1]=numero de ejercitos que pierde el defensor
        int i, menor;
        int nat=0, nde=0;
        int tamlat=lat.length;
        int tamlde=lde.length;
        int[] dev=new int[2];
        if(tamlat>tamlde)
            menor=tamlde;
        else
            menor=tamlat;
        for(i=0;i<menor;i++){
            if(lat[i]>lde[i])
                nde++;
            else
                nat++;
        }
        dev[0]=nat;
        dev[1]=nde;
        return dev;
    }  
    
    
    public int[] ordenaTirada(int[] l){
         int temporal;   
         for (int j = l.length - 1; j > 0; j--) {      
             for (int i = 0; i < j; i++) {        
                 if (l[i] < l[i + 1]) {          
                     temporal = l[i + 1];          
                     l[i + 1] = l[i];          
                     l[i] = temporal;        
                 }     
             }    
         }
         return l;
    }

    public int[] getTirada() {
        return tirada;
    }

    public void setTirada(int[] tir) {
        this.tirada = this.ordenaTirada(tir);
        setChanged();
        notifyObservers();
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
}


