Mano.java 1.11 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
/*
 * Esta clase sirve para generar de forma aleatoria las 7 cartas en la mesa
 * */

package com.roshka.bootcamp004.mano;

public class Mano {
Carta[] mano;
	
	public Mano() {
		this.obtenerMano();
	}
	
	private void obtenerMano() {
		//Creamos un lugar donde cargar las cartas
		this.mano = new Carta[7];
		//Generamos las combinaciones de cartas
		for(int i = 0;i<7;i++) {
			mano[i] = new Carta();
		}
		//Comprobamos que no se existe cartas iguales
		this.verificarManoCartasNoIguales();
	}
	
	private void verificarManoCartasNoIguales() {
		for(int i = 0;i<6;i++) {
			for(int j = i + 1;j<7;j++) {
				if(this.mano[i].obtenerCarta().compareTo(this.mano[j].obtenerCarta())==0) {
					this.mano = null;
					this.obtenerMano();
				}
			}
		}
	}
	
	/**
	 * Entrega una mano de carta
	 * @return La mano en formato cadena
	 */
	public String aCadena() {
		String resultado = "";
		for(int i = 0;i<7;i++) {
			resultado = resultado + mano[i].obtenerCarta() + " ";
		}
		return resultado;
	}
	
	/**
	 * Entrega una mano de carta
	 * @return Array de objeto tipo 'Carta'
	 */
	public Carta[] aArrayTipoCarta() {
		return this.mano;
	}

}