ae galera, ja vi varios topicos sobre embaralhamento de cartas abaixo, vi uma questao no deitel 6 edição… vejam ae!!
public class Card
{
private String face;
private String suit;
//contrutor que receber os valores das cartas
public Card(String carFace, String carSuit)
{
face = carFace;
suit = carSuit;
}
public String toString()
{
return face + " e " + suit;
}
}
import java.util.Random;
public class Deckcard
{
private Card deck[];
private int currentcard;
private final int number = 52;
private Random randomnum;
//construtor que preenche as cartas
public Deckcard ()
{
String faces[] = { "Ace", "Deuce", "Three", "Four", "Five", "Six",
"Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
String suits[] = { "Hearts", "Diamonds", "Clubs", "Spades" };
deck = new Card[number];
currentcard =0;
randomnum = new Random();
for (int cont = 0; cont < deck.length; cont++)
deck[cont] = new Card(faces[cont % 13], suits[cont / 13]);
}
public void shufle()
{
currentcard = 0;
for (int fis = 0; fis < deck.length; fis++)
{
int sec = randomnum.nextInt(number);
Card temp = deck[fis];
deck[fis] = deck[sec];
deck[sec] = temp;
}
}
public Card dealCard()
{
if (currentcard < deck.length)
return deck[currentcard++];
else
return null;
}
}
classe index
public class Decktest
{
public static void main(String args[])
{
Deckcard cartas = new Deckcard();
cartas.shufle();
for(int i = 0; i< 13; i++)
{
System.out.printf("%-20s%-20s%-20s%-20s\n", cartas.dealCard(),cartas.dealCard(),
cartas.dealCard(), cartas.dealCard());
}
}
}
[quote=camilolopes]ae galera, ja vi varios topicos sobre embaralhamento de cartas abaixo, vi uma questao no deitel 6 edição… vejam ae!!
public class Card
{
private String face;
private String suit;
//contrutor que receber os valores das cartas
public Card(String carFace, String carSuit)
{
face = carFace;
suit = carSuit;
}
public String toString()
{
return face + " e " + suit;
}
}
import java.util.Random;
public class Deckcard
{
private Card deck[];
private int currentcard;
private final int number = 52;
private Random randomnum;
//construtor que preenche as cartas
public Deckcard ()
{
String faces[] = { "Ace", "Deuce", "Three", "Four", "Five", "Six",
"Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
String suits[] = { "Hearts", "Diamonds", "Clubs", "Spades" };
deck = new Card[number];
currentcard =0;
randomnum = new Random();
for (int cont = 0; cont < deck.length; cont++)
deck[cont] = new Card(faces[cont % 13], suits[cont / 13]);
}
public void shufle()
{
currentcard = 0;
for (int fis = 0; fis < deck.length; fis++)
{
int sec = randomnum.nextInt(number);
Card temp = deck[fis];
deck[fis] = deck[sec];
deck[sec] = temp;
}
}
public Card dealCard()
{
if (currentcard < deck.length)
return deck[currentcard++];
else
return null;
}
}
classe index
public class Decktest
{
public static void main(String args[])
{
Deckcard cartas = new Deckcard();
cartas.shufle();
for(int i = 0; i< 13; i++)
{
System.out.printf("%-20s%-20s%-20s%-20s\n", cartas.dealCard(),cartas.dealCard(),
cartas.dealCard(), cartas.dealCard());
}
}
}
[/quote]
Legal camilo! gostei da aplicação!! eu modificaria e colocaria o que o amigo sujeriu! de colocar 1 numero de vezes de embaralhar…
Você poderia mais para frente usar enuns… ficaria legal também!
um abraço!