class SutdaDeck {
static final int CARD_NUM=20;
static SutdaCard[] cards = new SutdaCard[CARD_NUM];
SutdaDeck() {
for(int i=0; i<10; i++)
cards[i] = new SutdaCard(i+1, false);
for(int j=10; j<20; j++)
cards[j] = new SutdaCard(j-9, false);
cards[0].isKwang=true;
cards[2].isKwang=true;
cards[7].isKwang=true;
}
static void shuffle()
{
SutdaCard temp = new SutdaCard();
int i = (int)(Math.random()*20);
int j = (int)(Math.random()*20);
for(int n=0; n<100; n++)
{
temp=cards[i];
cards[i]=cards[j];
cards[j]=temp;
}
}
}
class SutdaCard {
int num;
boolean isKwang;
SutdaCard() {
this(1,true);
}
SutdaCard(int num, boolean isKwang) {
this.num=num;
this.isKwang=isKwang;
}
public String toString() {
return num+(isKwang? "K" : "");
}
}
public class Main {
public static void main(String[] args) {
SutdaDeck deck = new SutdaDeck();
//System.out.println(deck.pick(0));
//System.out.println(deck.pick());
deck.shuffle();
for(int i=0; i<deck.cards.length;i++)
System.out.print(deck.cards[i]+",");
System.out.println();
//System.out.println(deck.pick(0));
}
}
여기서 shuffle함수가 실행돼도 효과가 없어서
카드가 순서대로 출력되는데 그 이유가 뭐임?
셔플을 100번 실행하는데 랜덤값이 루프 밖에 정수로 고정되버리잖아. 결국에 니가 하는건 100번동안 동일한 두 개 카드를 계속 스왑하는거니까 짝수번하면 원래대로지