Start der Implementierung des Computer Gegners, inklusive Testfunktion
des Computers für Spiel
This commit is contained in:
@@ -2,7 +2,12 @@ package de.jaujau.spiellogik;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import de.jaujau.daten.Farbe;
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.daten.Kartensatz;
|
||||||
|
import de.jaujau.daten.Spieler;
|
||||||
|
import de.jaujau.daten.Wert;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,10 +43,43 @@ public class Computer_gegner {
|
|||||||
*/
|
*/
|
||||||
public void pruefeZug(Kartensatz kartensatz)
|
public void pruefeZug(Kartensatz kartensatz)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Funktion sucht aus, welche Karte der Computer Gegner legt, nach verschiedenen Parametern
|
||||||
|
* Zuerst sollen Karten gelegt werden, welche den aktuell geltenden Effekt kontern, falls einer liegt
|
||||||
|
* Danach werden Effektkarten der aktuellen Farbe gelegt
|
||||||
|
* Als n<>chstes Werden Karten der aktuellen Farbe gelegt
|
||||||
|
* Dann Karten die den aktuellenw Wert besitzen
|
||||||
|
* Zuletzt Buben um sich eine Farbe zu w<>nschen
|
||||||
|
* @param keine
|
||||||
|
* @return Kartenindex der Karte die gelegt werden soll
|
||||||
|
*/
|
||||||
public int cpu_Zug() {
|
public int cpu_Zug() {
|
||||||
return 0;
|
Spiel spiel = Anwendung.getAktuellesSpiel(); //Erzeugt ein Abbild des aktuellen Spiels
|
||||||
|
Kartensatz kartensatz = spiel.getKartensatz(); //Erzeugt ein Abbild des aktuellen Kartensatzes, mit stand der Karten
|
||||||
|
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); //Speichert den Wert der Karte, die zuletzt gelegt wurde
|
||||||
|
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); //Speichert die Farbe der Karte, die zuletzt gelegt wurde
|
||||||
|
ArrayList<Integer> hand = kartensatz.getHand(Spieler.COMPUTER); //Speichert die Karten, die der Computer aktuell auf der Hand hat
|
||||||
|
boolean farbeInHand = false; //Speichert, ob die aktuell liegende Farbe in der Hand des Computers vorhanden ist
|
||||||
|
boolean wertInHand = false; //Speichert, ob der aktuell liegende Wert in der Hand des Computers vorhanden ist
|
||||||
|
int rueckgabeindex = 0; //Speichert den Kartenindex, der Karte, die gelegt werden soll
|
||||||
|
|
||||||
|
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
|
||||||
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT(); //Holt sich den Wert der aktuellen Handkarte
|
||||||
|
|
||||||
|
if(farbeHK == letztekartefarbe) { //Pr<50>ft ob Farbe der aktuellen Handkarte zur offen liegenden Karte passt
|
||||||
|
farbeInHand = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(wertHK == letztekartewert) { //Pr<50>ft ob Wert der aktuellen Handkarte zur liegenden Karte passt
|
||||||
|
wertInHand = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return rueckgabeindex;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int cpuTest() {
|
public int cpuTest() {
|
||||||
|
@@ -47,7 +47,6 @@ public class Spielzug {
|
|||||||
spiel();
|
spiel();
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion untersucht, ob die Karte die der Spieler zu legen verusucht auch gelegt werden kann
|
* Funktion untersucht, ob die Karte die der Spieler zu legen verusucht auch gelegt werden kann
|
||||||
* Sollte der Spieler gerade aussetzen m<>ssen, kann nur eine 8 gelegt werden
|
* Sollte der Spieler gerade aussetzen m<>ssen, kann nur eine 8 gelegt werden
|
||||||
@@ -57,8 +56,8 @@ public class Spielzug {
|
|||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public boolean pruefeZug(int kartenindex) {
|
public boolean pruefeZug(int kartenindex) {
|
||||||
|
Spiel Spiel = Anwendung.getAktuellesSpiel();
|
||||||
Kartensatz kartensatz = Spiel.getKartensatz();
|
Kartensatz kartensatz = Spiel.getKartensatz();
|
||||||
|
|
||||||
Farbe kartenfarbe = kartensatz.getKarte(kartenindex).getFARBE();
|
Farbe kartenfarbe = kartensatz.getKarte(kartenindex).getFARBE();
|
||||||
Wert kartenwert = kartensatz.getKarte(kartenindex).getWERT();
|
Wert kartenwert = kartensatz.getKarte(kartenindex).getWERT();
|
||||||
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
|
Reference in New Issue
Block a user