Kortlek i Java
Hej, jag håller på med en skoluppgift där man ska skapa en app som slumpar fram 5 kort.
Jag har lyckats få den att slumpa fram 1(!) kort, hur gör jag för att få fram fyra till?
Här är classerna för (Kortlek, Kort)
class Kortlek {
private Kort[] bunt = new Kort[52];
private int antal = 0;
public int geAntal () {
return antal = 5;
}
public void laggOverst(Kort k) {
bunt[antal] = k;
antal++;
}
public Kort geOversta() {
antal--;
return bunt[antal];
}
public void görKortlek() {
for (int f=1; f<=4; f++)
for (int v=1; v<=13; v++)
laggOverst(new Kort(f, v));
}
public void blanda() {
for (int i=0; i<antal; i++) {
int n = i + (int)(Math.random() * (antal - i));
Kort temp = bunt[n];
bunt[n] = bunt[i];
bunt[i] = temp;
}}
public static void main( String args[]){
Kortlek kortlek = new Kortlek();
kortlek.görKortlek();
kortlek.blanda();
Kort k = kortlek.geOversta();
System.out.println(k.toString());
}
}
class Kort {
private static String[] fargNamn ={"Hjarter", "Spader", "Ruter", "Klover"};
private static String[] valorNamn ={"Ess", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Knekt", "Dam", "Kung"};
private int f, v;
public Kort(int farg, int valor) {
if (farg < 1 || farg > 4 ||
valor <1 || valor > 13) {
System.out.println("fel");
System.exit(1);
}
f = farg;
v = valor;
}
public int geFarg() {
return f;
}
public int geValor() {
return v;
}
public String toString() {
return fargNamn[f - 1] + " " + valorNamn[v - 1];
}
}