From f33919cf6cad5b15f1dee911fda9132cec6cc6e2 Mon Sep 17 00:00:00 2001 From: mokoe Date: Fri, 8 Jan 2021 13:00:14 +0100 Subject: [PATCH] =?UTF-8?q?=C3=84nderung=20an=20der=20Entscheidungsfindung?= =?UTF-8?q?=20des=20Computers,=20so=20dass=20er=20im=20early=20Game=20nach?= =?UTF-8?q?=20Farbe=20und=20sp=C3=A4ter=20nach=20Wert=20legt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Computer_gegner.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) 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);