static int matchKarten (int lastMatch, String gewaehlteKarte, String karteTisch) {
boolean keinTrefferp;
int spielsituation = 0;
char wertKarteGew =' ';
char farbeKarteGew = ' ';
char wertKarteTisch = karteTisch.charAt (karteTisch.length () -2);
char farbeKarteTisch = karteTisch.charAt (karteTisch.length () -1);
if (!(gewaehlteKarte.equals("0"))) {
wertKarteGew = gewaehlteKarte.charAt(gewaehlteKarte.length() -2);
farbeKarteGew = gewaehlteKarte.charAt (gewaehlteKarte.length () -1);
}
keinTrefferp=true;
if (lastMatch == MATCH_PLUS_2) {
if (!(gewaehlteKarte.equals("0"))) {
if ((wertKarteGew == PLUS_2) || (wertKarteGew == PLUS_4)) { /* Karte darf gelegt werden */
spielsituation = MATCH_KETTE_PLUS_2;
keinTrefferp = false;
}
}
else {
spielsituation = MATCH_ENDE_KETTE_PLUS_2;
System.out.println ("Spieler muss Karten ziehen.");
keinTrefferp = false;
}
}
if (lastMatch == MATCH_PLUS_4) {
if (!(gewaehlteKarte.equals("0"))) {
if (wertKarteGew == PLUS_2){ /* Karte darf gelegt werden */
spielsituation = MATCH_KETTE_PLUS_2;
keinTrefferp = false;
}
if (wertKarteGew == PLUS_4){
spielsituation = MATCH_KETTE_PLUS_4;
keinTrefferp = false;
}
}
else {
spielsituation = MATCH_ENDE_KETTE_PLUS_4;
System.out.println ("Spieler muss Karten ziehen.");
keinTrefferp = false;
}
}
if (keinTrefferp == false) {
return(spielsituation);
}
if (gewaehlteKarte.equals("0")) {
spielsituation = KEINE_ABLAGE;
keinTrefferp = false;
}
if (keinTrefferp == false) {
return(spielsituation);
}
keinTrefferp = true;
switch (wertKarteTisch) {
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
if ((wertKarteGew == wertKarteTisch) || (farbeKarteGew == farbeKarteTisch)) {
keinTrefferp = false;
spielsituation = MATCH_NORMAL;
} else {
if (wertKarteGew == AUSSETZEN) {
if (farbeKarteGew == farbeKarteTisch) {
keinTrefferp = false;
spielsituation = MATCH_AUSSETZEN;
}
} else {
if (wertKarteGew == PLUS_2) {
if (farbeKarteGew == farbeKarteTisch) {
keinTrefferp = false;
spielsituation = MATCH_PLUS_2;
}
} else {
if (wertKarteGew == PLUS_4) { /* ! kann nur gelegt werden, wenn keine andere Karte passt */
keinTrefferp = false;
spielsituation = MATCH_PLUS_4;
} else {
if (wertKarteGew == FARBWAHL) { /* kann immer gelegt werden */
keinTrefferp = false;
spielsituation = MATCH_FARBWAHL;
}}}}}
break;