diff --git a/src/de/jaujau/spiellogik/Computer_gegner.java b/src/de/jaujau/spiellogik/Computer_gegner.java index 4b05da1..302b486 100644 --- a/src/de/jaujau/spiellogik/Computer_gegner.java +++ b/src/de/jaujau/spiellogik/Computer_gegner.java @@ -108,11 +108,24 @@ public class Computer_gegner { if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen rueckgabeindex = wertLegen(letztekartewert); } - else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer die Farbe auf der Hand, versucht er diese zu legen - rueckgabeindex = farbeLegen(letztekartefarbe); - } - else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen - rueckgabeindex = wertLegen(letztekartewert); + else if((wertInHand || farbeInHand) && !aussetzen && !ziehen) { + if (hand.size() > 3) { //Hat der Computer viele Karten in der Hand versucht er passende Farben zu legen, bei weniger Karten passende Werte + if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer die Farbe auf der Hand, versucht er diese zu legen + rueckgabeindex = farbeLegen(letztekartefarbe); + } + else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen + rueckgabeindex = wertLegen(letztekartewert); + } + } + else { + if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer die Wert auf der Hand, versucht er diese zu legen + rueckgabeindex = wertLegen(letztekartewert); + } + else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer nicht den passenden Wert, aber eine passende Farbe, legt er diese + rueckgabeindex = farbeLegen(letztekartefarbe); + } + + } } else if(bubeInHand && !aussetzen && !ziehen) { //Hat der Computer weder die passende Farbe, noch den passenden Wert auf der Hand, aber einen Wünscher, legt er diesen rueckgabeindex = wertLegen(Wert.BUBE);