From b95055a5052ae58218459b25537a5a3aaf9f1850 Mon Sep 17 00:00:00 2001 From: Roope Malinen <rokrmal@utu.fi> Date: Tue, 10 Mar 2020 03:19:09 +0200 Subject: [PATCH] =?UTF-8?q?Lis=C3=A4tty=20sortteri=20pelaajan=20korteille?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/domain/kortit/Ohituskortti.java | 2 +- src/domain/pelaajat/Pelaaja.java | 46 +++++++++++++++++++++++++++++ src/logiikka/Peli.java | 1 - src/ui/Tekstikayttoliittyma.java | 1 + 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/src/domain/kortit/Ohituskortti.java b/src/domain/kortit/Ohituskortti.java index 8068088..e46f4e5 100644 --- a/src/domain/kortit/Ohituskortti.java +++ b/src/domain/kortit/Ohituskortti.java @@ -8,7 +8,7 @@ public class Ohituskortti extends Kortti implements Erikoiskortti { } public String toString() { - return "[" + this.vari + ", �]"; + return "[" + this.vari + ", �o�]"; } } diff --git a/src/domain/pelaajat/Pelaaja.java b/src/domain/pelaajat/Pelaaja.java index a6202e8..a5aa44f 100644 --- a/src/domain/pelaajat/Pelaaja.java +++ b/src/domain/pelaajat/Pelaaja.java @@ -11,6 +11,7 @@ import domain.kortit.Ohituskortti; import domain.kortit.Peruskortti; import domain.kortit.Suunnanvaihtokortti; import domain.korttipakat.Nostopakka; +import domain.kortit.Erikoiskortti; public abstract class Pelaaja { @@ -26,6 +27,51 @@ public abstract class Pelaaja { this.kortit.add(k); } + //J�rjest�� kortit v�ri ja numero/merkki j�rjestykseen, 0-9-erikoiskortit + public void jarjestaKortit() { + ArrayList<Kortti> cardholder = new ArrayList<Kortti>(); + ArrayList<Kortti> otherholder = new ArrayList<Kortti>(); + Object placeholder = new Object(); + String[] varivalikoima = {"punainen", "sininen", "keltainen", "vihre�"}; + for(int k = 0; k<4 ;k++) { + for(int i = 0; i<kortit.size(); i++) { + try { + if ((kortit.get(i).annaVari()).equals(varivalikoima[k])) { + otherholder.add(kortit.get(i)); + } + }catch(NullPointerException e) {} //Jokerin null v�riarvo... + } + for(int j = 0; j<10 ;j++) { + for(int x = 0; x<otherholder.size(); x++) { + placeholder = otherholder.get(x); + if(placeholder instanceof Peruskortti) { + if(((Peruskortti) placeholder).annaNumero()==j) { + cardholder.add(otherholder.get(x)); + } + } + } + } + for(int x = 0; x<otherholder.size(); x++) { + if(otherholder.get(x) instanceof Erikoiskortti) { + cardholder.add(otherholder.get(x)); + } + } + otherholder.clear(); + } + for(int i = 0; i<kortit.size() ;i++) { + if(kortit.get(i) instanceof Jokerikortti) { + cardholder.add(kortit.get(i)); + } + } + for(int i = 0; i<kortit.size() ;i++) { + if(kortit.get(i) instanceof Nosta4Jokerikortti) { + cardholder.add(kortit.get(i)); + } + } + this.kortit = cardholder; + } + + public void tulostaKortit() { int i = 0; for (Kortti k : this.kortit) { diff --git a/src/logiikka/Peli.java b/src/logiikka/Peli.java index 344e4da..bbec621 100644 --- a/src/logiikka/Peli.java +++ b/src/logiikka/Peli.java @@ -345,7 +345,6 @@ public class Peli { } } if (pelaajallaSopivanVarinenKortti) { - System.out.println("Et voi k�ytt�� Nosta 4 -korttia, jos sinulla on sopivan v�rinen kortti."); return false; } this.annaPelaaja(seuraavaksiVuorossa).nostaNeljaKorttia(this.nostopakka); diff --git a/src/ui/Tekstikayttoliittyma.java b/src/ui/Tekstikayttoliittyma.java index d6da600..eedcb9a 100644 --- a/src/ui/Tekstikayttoliittyma.java +++ b/src/ui/Tekstikayttoliittyma.java @@ -88,6 +88,7 @@ public class Tekstikayttoliittyma { boolean korttiPelattu = false; while (korttiPelattu == false) { System.out.println("Sinulla on k�dess�si kortit:"); + pelaaja.jarjestaKortit(); pelaaja.tulostaKortit(); System.out.println("Kirjoita kortin numero pelataksesi kortin tai \"nosta\" nostaaksesi kortin."); -- GitLab