Computer versucht jetzt immer 7 zu legen, falls Spieler nur noch eine
Karte hat
This commit is contained in:
@@ -23,10 +23,13 @@ public class Computer_gegner {
|
|||||||
private Wert letztekartewert;
|
private Wert letztekartewert;
|
||||||
private Farbe letztekartefarbe;
|
private Farbe letztekartefarbe;
|
||||||
private ArrayList<Integer> hand;
|
private ArrayList<Integer> hand;
|
||||||
|
private ArrayList<Integer> gegnerhand;
|
||||||
private boolean farbeInHand = false;
|
private boolean farbeInHand = false;
|
||||||
private boolean wertInHand = false;
|
private boolean wertInHand = false;
|
||||||
private boolean bubeInHand = false;
|
private boolean bubeInHand = false;
|
||||||
private Kartensatz kartensatz;
|
private Kartensatz kartensatz;
|
||||||
|
private boolean siebenInHand;
|
||||||
|
private boolean achtInHand;
|
||||||
//
|
//
|
||||||
// Constructors
|
// Constructors
|
||||||
//
|
//
|
||||||
@@ -60,10 +63,15 @@ public class Computer_gegner {
|
|||||||
farbeInHand = false; //Speichert, ob die aktuell liegende Farbe in der Hand des Computers vorhanden ist
|
farbeInHand = false; //Speichert, ob die aktuell liegende Farbe in der Hand des Computers vorhanden ist
|
||||||
wertInHand = false; //Speichert, ob der aktuell liegende Wert in der Hand des Computers vorhanden ist
|
wertInHand = false; //Speichert, ob der aktuell liegende Wert in der Hand des Computers vorhanden ist
|
||||||
int rueckgabeindex = -1; //Speichert den Kartenindex, der Karte, die gelegt werden soll. Standard -1 f<>r ziehen, falls keine passende Karte auf Hand
|
int rueckgabeindex = -1; //Speichert den Kartenindex, der Karte, die gelegt werden soll. Standard -1 f<>r ziehen, falls keine passende Karte auf Hand
|
||||||
bubeInHand = false; //SPeichert, ob ein Bube in der Hand vorhanden ist
|
bubeInHand = false; //Speichert, ob ein Bube in der Hand vorhanden ist
|
||||||
|
gegnerhand = hand = kartensatz.getHand(Spieler.SPIELER);
|
||||||
|
|
||||||
|
|
||||||
boolean achtInHand = false; //Debugging
|
achtInHand = false; //Debugging
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
siebenInHand = false;
|
||||||
|
|
||||||
for(int i = 0; i < hand.size(); i++) { //Schleife geht alle Karten in der Hand des Computers durch
|
for(int i = 0; i < hand.size(); i++) { //Schleife geht alle Karten in der Hand des Computers durch
|
||||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE(); //Holt sich die Farbe der aktuellen Handkarte
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE(); //Holt sich die Farbe der aktuellen Handkarte
|
||||||
@@ -85,11 +93,16 @@ public class Computer_gegner {
|
|||||||
if((wertHK == Wert.ACHT && farbeHK == letztekartefarbe) || (wertHK == Wert.ACHT && letztekartewert == Wert.ACHT)) {
|
if((wertHK == Wert.ACHT && farbeHK == letztekartefarbe) || (wertHK == Wert.ACHT && letztekartewert == Wert.ACHT)) {
|
||||||
achtInHand = true;
|
achtInHand = true;
|
||||||
}
|
}
|
||||||
|
////
|
||||||
|
|
||||||
|
if((wertHK == Wert.SIEBEN && farbeHK == letztekartefarbe) || (wertHK == Wert.SIEBEN && letztekartewert == Wert.SIEBEN)) {
|
||||||
|
achtInHand = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Teil zum Debuging, wo der Bot zuerst versucht 8 zu legen:
|
//Teil zum Debuging, wo der Bot zuerst versucht 8 zu legen:
|
||||||
|
|
||||||
if(achtInHand = true) {
|
if(achtInHand && !ziehen) {
|
||||||
for (int i = 0; i < hand.size(); i++) {
|
for (int i = 0; i < hand.size(); i++) {
|
||||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||||
@@ -101,6 +114,16 @@ public class Computer_gegner {
|
|||||||
|
|
||||||
//Debuging Teil ends
|
//Debuging Teil ends
|
||||||
|
|
||||||
|
if(gegnerhand.size() == 1 && siebenInHand && !aussetzen) {
|
||||||
|
for (int i = 0; i < hand.size(); i++) {
|
||||||
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||||
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||||
|
if((farbeHK == letztekartefarbe && wertHK == Wert.SIEBEN) || (wertHK == letztekartewert && wertHK == Wert.SIEBEN)) {
|
||||||
|
return hand.get(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user