Commit 1877c779 authored by Roope Malinen's avatar Roope Malinen
Browse files

Erikoiskorttien säännöt korjattu, väri-bugi korjattu, numerovertailua paranneltu

parent cdaeece2
......@@ -9,5 +9,5 @@ public class Jokerikortti extends Kortti implements Erikoiskortti {
public String toString() {
return "[Jokeri, vri]";
}
}
......@@ -3,6 +3,7 @@ package domain.kortit;
public abstract class Kortti {
protected String vari;
protected int numero;
public Kortti(String vari) {
this.vari = vari;
......@@ -11,4 +12,9 @@ public abstract class Kortti {
public String annaVari() {
return this.vari;
}
public int annaNumero() {
return -1;
}
}
......@@ -10,4 +10,8 @@ public class NostaKaksikortti extends Kortti implements Erikoiskortti {
public String toString() {
return "[" + this.vari + ", +2]";
}
public int annaNumero() {
return 12;
}
}
......@@ -11,4 +11,7 @@ public class Ohituskortti extends Kortti implements Erikoiskortti {
return "[" + this.vari + ", o]";
}
public int annaNumero() {
return 11;
}
}
......@@ -9,4 +9,8 @@ public class Suunnanvaihtokortti extends Kortti implements Erikoiskortti {
public String toString() {
return "[" + this.vari + ", <->]";
}
public int annaNumero() {
return 13;
}
}
......@@ -114,13 +114,16 @@ public class Peli {
boolean kelvollinenKortti = false;
// Edellinen pelaaja on valinnut v�rin
if (!(edellinenKortti instanceof Jokerikortti || edellinenKortti instanceof Nosta4Jokerikortti)) {
this.vari = null;
}
if (this.vari != null) {
if (kortti.annaVari() != null
&& !(kortti.annaVari().equals(this.vari))) {
return false;
}
this.vari = null;
// this.vari = null;
return true;
}
......@@ -178,7 +181,8 @@ public class Peli {
boolean pelaajallaSopivanVarinenKortti = false;
for (Kortti k : pelaaja.annaKortit()) {
if (k.annaVari() != null &&
k.annaVari().equals(edellinenKortti.annaVari())) {
(k.annaVari().equals(edellinenKortti.annaVari()))) {
// (k.annaVari().equals(edellinenKortti.annaVari()) || (k.annaNumero()==edellinenKortti.annaNumero())) ) { //Tm jos halutaan numero/merkkitarkastus mukaan, ylempi jos vain vritarkastus
pelaajallaSopivanVarinenKortti = true;
}
}
......@@ -206,7 +210,7 @@ public class Peli {
else if (kortti instanceof NostaKaksikortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof NostaKaksikortti) {
&& !(edellinenKortti instanceof NostaKaksikortti)) {
System.out.println("Nosta 2 -kortin voi lyd samanvrisen kortin plle tai"
+ " toisen nosta 2 -kortin plle.");
return false;
......@@ -223,7 +227,7 @@ public class Peli {
else if (kortti instanceof Ohituskortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof Ohituskortti) {
&& !(edellinenKortti instanceof Ohituskortti)) {
System.out.println("Ohituskortin saa lyd samanvrisen kortin plle tai"
+ " toisen ohituskortin plle.");
return false;
......@@ -240,7 +244,7 @@ public class Peli {
else if (kortti instanceof Suunnanvaihtokortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof Suunnanvaihtokortti) {
&& !(edellinenKortti instanceof Suunnanvaihtokortti)) {
System.out.println("Suunnanvaihtokortin saa lyd samanvrisen kortin plle tai"
+ " toisen suunnanvaihtokortin plle.");
return false;
......@@ -256,12 +260,13 @@ public class Peli {
if (!kortti.annaVari().equals(edellinenKortti.annaVari())
&& edellinenKortti instanceof Peruskortti) {
if (((Peruskortti) kortti).annaNumero() != ((Peruskortti) edellinenKortti).annaNumero()) {
//Kortti on peruskortti, mutta erivrinen ja erinumeroinen kuin edellinen kortti
//Kortti on peruskortti, mutta erivrinen ja erinumeroinen kuin edellinen kortti
System.out.println("Kortin tulee olla samaa vri tai sama numero.");
return false;
}
}
if(!kortti.annaVari().equals(edellinenKortti.annaVari())&&((Peruskortti) kortti).annaNumero()!=((Peruskortti) edellinenKortti).annaNumero() ) {
// if(!kortti.annaVari().equals(edellinenKortti.annaVari())&&((Peruskortti) kortti).annaNumero()!=((Peruskortti) edellinenKortti).annaNumero() ) {
if(!kortti.annaVari().equals(edellinenKortti.annaVari())&&(kortti.annaNumero()!=edellinenKortti.annaNumero())) {
System.out.println("Kortin tulee olla samaa vri tai sama numero.");
return false;
} else {
......@@ -278,6 +283,10 @@ public class Peli {
boolean kelvollinenKortti = false;
if (!(edellinenKortti instanceof Jokerikortti || edellinenKortti instanceof Nosta4Jokerikortti)) {
this.vari = null;
}
// Edellinen pelaaja on valinnut v�rin
if (this.vari != null) {
......@@ -285,7 +294,7 @@ public class Peli {
&& !(kortti.annaVari().equals(this.vari))) {
return false;
}
this.vari = null;
// this.vari = null;
System.out.println(pelaaja.annaNimi() + " pelasi kortin: " + kortti + " - Kortteja jljell : " + ((pelaaja.annaKortit()).size()-1));
return true;
}
......@@ -368,7 +377,7 @@ public class Peli {
else if (kortti instanceof NostaKaksikortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof NostaKaksikortti) {
&& !(edellinenKortti instanceof NostaKaksikortti)) {
return false;
}
this.annaPelaaja(seuraavaksiVuorossa).nostaKaksiKorttia(this.nostopakka);
......@@ -387,7 +396,7 @@ public class Peli {
else if (kortti instanceof Ohituskortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof Ohituskortti) {
&& !(edellinenKortti instanceof Ohituskortti)) {
return false;
}
kelvollinenKortti = true;
......@@ -406,7 +415,8 @@ public class Peli {
else if (kortti instanceof Suunnanvaihtokortti) {
if (!edellinenKortti.annaVari().equals(kortti.annaVari())
|| edellinenKortti instanceof Suunnanvaihtokortti) {
&& !(edellinenKortti instanceof Suunnanvaihtokortti)) {
return false;
}
this.suuntaKasvava = !this.suuntaKasvava;
paivitaVuoronumero();
......@@ -424,7 +434,8 @@ public class Peli {
return false;
}
}
if(!kortti.annaVari().equals(edellinenKortti.annaVari())) {
// if(!kortti.annaVari().equals(edellinenKortti.annaVari())&&((Peruskortti) kortti).annaNumero()!=((Peruskortti) edellinenKortti).annaNumero() ) {
if(!kortti.annaVari().equals(edellinenKortti.annaVari())&&(kortti.annaNumero()!=edellinenKortti.annaNumero())) {
return false;
} else {
kelvollinenKortti = true;
......
......@@ -94,15 +94,11 @@ public class Tekstikayttoliittyma {
try {
TimeUnit.SECONDS.sleep(1); //odottaa vuorojen vliss realismin luomiseksi
}catch(Exception e) {}
if (peli.annaVari() != null) {
System.out.println("Laitettava kortti, joka on vriltn "
+ peli.annaVari() );
} else {
System.out.print("Pakan pllimminen kortti on: ");
System.out.println(poistopakka.annaPaallimmainenKortti());
if(poistopakka.annaPaallimmainenKortti() instanceof Jokerikortti || poistopakka.annaPaallimmainenKortti() instanceof Nosta4Jokerikortti) {
System.out.println("Vaadittu vri on: " + peli.annaVari());
}
System.out.print("Pakan pllimminen kortti on: ");
System.out.println(poistopakka.annaPaallimmainenKortti());
if(poistopakka.annaPaallimmainenKortti() instanceof Jokerikortti || poistopakka.annaPaallimmainenKortti() instanceof Nosta4Jokerikortti) {
System.out.println("Vaadittu vri on: " + peli.annaVari());
}
peli.paivitaVuoronumero();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment