I'm working on an applet program that displays 10 random cards from a deck of 52 cards. I used a for loop to cycle through 10 cards and give them a random card from the images I downloaded. When I compile and run the applet, I sometimes get repeats. Can someone give me any pointers on how I could go about this without repeats?
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Color;
import java.util.Random;
public class Unit12Assignment1 extends Applet
{
Image card[] = new Image[10];
public void init()
{
String deckImages[] = {"cards_gif/c1.gif", "cards_gif/c2.gif", "cards_gif/c3.gif", "cards_gif/c4.gif",
"cards_gif/c5.gif", "cards_gif/c6.gif", "cards_gif/c7.gif", "cards_gif/c8.gif", "cards_gif/c9.gif",
"cards_gif/c10.gif", "cards_gif/cj.gif", "cards_gif/ck.gif", "cards_gif/cq.gif",
"cards_gif/s1.gif", "cards_gif/s2.gif", "cards_gif/s3.gif", "cards_gif/s4.gif",
"cards_gif/s5.gif", "cards_gif/s6.gif", "cards_gif/s7.gif", "cards_gif/s8.gif",
"cards_gif/s9.gif", "cards_gif/s10.gif", "cards_gif/sj.gif", "cards_gif/sk.gif",
"cards_gif/sq.gif", "cards_gif/d1.gif", "cards_gif/d2.gif", "cards_gif/d3.gif",
"cards_gif/d4.gif", "cards_gif/d5.gif", "cards_gif/d6.gif", "cards_gif/d7.gif",
"cards_gif/d8.gif", "cards_gif/d9.gif", "cards_gif/d10.gif", "cards_gif/dj.gif",
"cards_gif/dk.gif", "cards_gif/dq.gif", "cards_gif/h1.gif", "cards_gif/h2.gif",
"cards_gif/h3.gif", "cards_gif/h4.gif", "cards_gif/h5.gif", "cards_gif/h6.gif",
"cards_gif/h7.gif", "cards_gif/h8.gif", "cards_gif/h9.gif", "cards_gif/h10.gif",
"cards_gif/hj.gif", "cards_gif/hk.gif", "cards_gif/hq.gif"};
for( int i = 0; i < card.length; i++ )
{
int x = (int)(Math.random() * 52);
card[i] = getImage(getDocumentBase(), deckImages[x]);
}
}
public void paint(Graphics g)
{
setBackground( Color.green );
int x = -60;
for( int i = 0; i < card.length / 2; i++ )
{
x = x + 90;
g.drawImage(card[i], x, 30, this);
}
x = -60;
for( int i = card.length / 2; i < card.length; i++ )
{
x = x + 90;
g.drawImage(card[i], x, 150, this);
}
}
}