Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kaleu50

código para embaralhar cartas

Recommended Posts

Classe das cartas

 

public class Carta {

private String nome;
private String naipe;

public Carta (String naipe, String nome){
this.naipe = naipe;
this.nome = nome;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getNaipe() {
	return naipe;
}

public void setNaipe(String naipe) {
	this.naipe = naipe;
}

}

 

Então esse aqui é o codigo para embaralhar so que não consigo fazer para embaralhar tipo eu tenho que embaralhar e dar 2 cartas sem repetir para que não seja igual para outro jogador e uma opção para embaralhar de novo puxando todas as cartas dos jogadores e retornando elas no baralho

 

public class Baralho {

private Carta[] cartas;

public Baralho() {
	String naipes[] = new String[4];
	String nomes[] = new String[14];
	int aux = 1;

	naipes[0] = "ouro";
	naipes[1] = "espada";
	naipes[2] = "paus";
	naipes[3] = "copas";

	int x = 0;
	int j = 0;
	cartas = new Carta[56];
	int pos = 0;

	for (j = 0; j < 15; j++) {

		nomes[j] = Integer.toString(aux);
		aux++;
		if (j == 0) {
			nomes[j] = "A";
		}
		if (j == 10) {
			nomes[j] = "J";
		}
		if (j == 11) {
			nomes[j] = "Q";
		}
		if (j == 12) {
			nomes[j] = "K";
		}
		if (j== 13) {
			nomes[j] = "C";

	}




}

	for (x = 0; x < 4; x++) {
		for (j = 0; j < 14; j++) {
			cartas[pos] = new Carta(naipes[x], nomes[j]);
			pos++;

		}
	}

}

public void daCarta() {

}

public static void main(String[] args) {
	new Baralho();

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu código atualizado mas agora eu quero acrescentar os coringa e não estou conseguindo fica tipo assim Coringa de Paus, Coringa de Ouros só que eu quero só coringa e não 1 de cada naipe somente 2 que é igual tem em um baralho.

 

import java.util.Random;

import javax.swing.JOptionPane;

public class Baralho {

private Carta[] cartas;

public Baralho() {
	String naipes[] = new String[4];
	String nomes[] = new String[14];
	int aux = 1;

	naipes[0] = "ouro";
	naipes[1] = "espada";
	naipes[2] = "paus";
	naipes[3] = "copas";

	cartas = new Carta[56];
	int pos = 0;

	for (int x = 0; x < 14; x++) {
		switch (x) {
		case (0):
			nomes[0] = "A";
			break;
		case (10):
			nomes[10] = "J";
			break;
		case (11):
			nomes[11] = "Q";
			break;
		case (12):
			nomes[12] = "K";
			break;
		default:
			nomes[x] = Integer.toString(x + 1);
			break;
		}
	}

	for (int x = 0; x < 4; x++) {
		for (int j = 0; j < 14; j++) {
			cartas[pos] = new Carta(naipes[x], nomes[j]);
			pos++;

		}
	}

}

public void MostraCartas() {
	String aux = "";
	for (int x = 0; x < 56; x++) {
		aux += cartas[x].getNome() + "  " + cartas[x].getNaipe()
           							+ "  -  \n";



	}
	System.out.println(aux);  
}


public void Embaralha() {
	for (int x1 = 0; x1 < 1000; x1++) {
		for (int y1 = 0; y1 < 1000; y1++) {
			Carta aux;
			int n1, n2;
			Random r = new Random();

			n1 = r.nextInt(56);
			n2 = r.nextInt(56);

			while (n1 == n2) {
				n2 = r.nextInt(56);
			}

			aux = cartas[n1];
			cartas[n1] = cartas[n2];
			cartas[n2] = aux;
		}
	}
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda estou iniciando em java e cheguei a ver um jogo de poker meu professor fez , se eu encontrar ele no meu email amanhã te passo ai você da uma olhada como está :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.