Ajuda Baralh e Distribuidor

1 resposta
J
Galera eu to implementando um simples aplicativo que se resume em Quatro classes simples, mas que acabei me complicando, Baralh, Cartas, Distribuidor e o Main. Eu ja vi varios exemplos na net de baralho mas nenhum que me ajuda-se pois estou fazendo com Collection e com Enum, vo anexar as classes que fiz ate agora so falta terminar o embaralhar e o distribuir e o main so, esses foram o que nao consegui fazer quem puder ajudar sera bem vindo, Valeu
public class Cart 
{
   private Valor valor;
   private Naipe naipe;
   public enum Valor {As, dois, tres, quatro, cinco, seis, sete, oito, nove, dez, valete, dama, rei} 
   public enum Naipe {Ouro, Copas, Paus, Espada }
   
   public Cart( Naipe naipecarta, Valor valorcarta )
   {
      this.valor = valorcarta;
      this.naipe = naipecarta;  
     }
   
   public String toString()               
   {                                      
      return valor + " de " + naipe;        
   }
   
   public Naipe naipe(){
	   return naipe;
   }
   
   public Valor valor(){
	   return valor;
   }
}
import java.util.ArrayList;
import java.util.List;

public class Baralh {
	
	public int tamanho = 52;
	private List<Carta> baralho = new ArrayList<Carta>();
	
	
	public Baralh(){
		Carta.Valor[] valores = Carta.Valor.values();
		Carta.Naipe[] naipes = Carta.Naipe.values();
		for (Carta.Naipe naipe: naipes){
			for(Carta.Valor valor: valores){
			baralho.add(new Carta(naipe, valor));
				}
			}
		}
	public int resto() {
		return tamanho;
	}
	
	public List<Carta> getBaralho() {
		return baralho;
	}
	
	public void setBaralho(List<Carta> baralho) {
		this.baralho = baralho;
	}
}
import java.util.Arrays;
import java.util.List;
import java.util.Collections;
import java.util.Random;

public class Distribuidor{

	private Random numeroRandom;
	private int proximacarta;
	private List list;
	
	public Distribuidor(){
		Carta[] cartas = new Carta[52];
		int cont = 0;
		
		for(Carta.Naipe naipe: Carta.Naipe.values()){
			for(Carta.Valor valor: Carta.Valor.values()){
				cartas[cont]=new Carta(naipe, valor);
				cont++;
			}
		}
		list = Arrays.asList(cartas);
		
	}
//Metodo que não consegui	
/*public void embaralhar(int vezes) {
	 	
		int i, segundo;
	 	proximacarta = 0;
	 
	 	for ( i = 0; i < cartas * vezes; i++) {
	 		
	 		segundo = numeroRandom.nextInt(cartas);
 			
 			Carta temp = cartas[i];
 			cartas[i]= cartas[segundo];
 			cartas[segundo]= temp;
	 	}
	 }*/
}
Valeu espero ajudas

[color="red"]*Editado: tópico movido para o fórum Java Básico (Iniciantes): Jair Elton :joia:[/color]

1 Resposta

R

Daí mister,

Experimenta usar o Collections.shuffle() pra embaralhar as cartas.

Não entendi qual foi a tua outra dificuldade.

[]s

Criado 7 de março de 2007
Ultima resposta 13 de mar. de 2007
Respostas 1
Participantes 2