import java.util.ArrayList; import java.util.Random; public class Modell { Kort[][] kortstokk; Kort siste; int str; ArrayList verdier; public Modell(int rader, int kolonner, ArrayList verdier) { kortstokk = new Kort[rader][kolonner]; this.str = rader * kolonner; this.verdier = verdier; this.lagKortstokk(); this.stokk(); } public Kort hentKort(int rad, int kol) { return kortstokk[rad][kol]; } public void snuKort(int rad, int kol) { kortstokk[rad][kol].snu(); } public void lagKortstokk() { int teller = 0; for (int rad = 0; rad < kortstokk.length; rad++) { for (int kol = 0; kol < kortstokk[rad].length; kol+=2) { Kort en = new Kort(verdier.get(teller)); Kort to = new Kort(verdier.get(teller+1)); kortstokk[rad][kol] = en; kortstokk[rad][kol+1] = to; en.settPartner(to); to.settPartner(en); teller += 2; } } } public void stokk() { Random random = new Random(); for (int rad = 0; rad < kortstokk.length; rad++) { for (int kol = 0; kol < kortstokk[rad].length; kol++) { int randomRad = random.nextInt(kortstokk.length); int randomKol =random.nextInt(kortstokk[rad].length); Kort mellomlager = kortstokk[rad][kol]; // m? mellomlagre kortstokk[rad][kol] = kortstokk[randomRad][randomKol]; kortstokk[randomRad][randomKol] = mellomlager; kortstokk[rad][kol].settPosisjon(rad, kol); kortstokk[randomRad][randomKol].settPosisjon(randomRad, randomKol); } } } public Kort[][] hentKortstokk() { return kortstokk; } public Kort sistSnudd() { return siste; } public void settSiste(Kort kort) { siste = kort; } }