Warnungen entfernt und Spiel() Aufruf geändert

This commit is contained in:
Fabian Keller
2021-01-12 09:18:30 +01:00
parent f66b1079c1
commit 471c2e7353
2 changed files with 31 additions and 27 deletions

View File

@@ -6,6 +6,7 @@ import de.jaujau.daten.Audio;
import de.jaujau.daten.Farbe;
import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spieler;
import de.jaujau.daten.Spielerverwaltung;
import de.jaujau.daten.Wert;
import de.jaujau.gui.Dashboard_GUI;
@@ -13,7 +14,7 @@ import de.jaujau.gui.Dashboard_GUI;
/**
* Diese Klasse organisiert den Spielablauf
* Diese Klasse beinhaltet Methoden um Spielzüge auszuführen, um Kontrollen durchzuführen und um zwischen Spieler und Computer zu wechseln
* Diese Klasse beinhaltet Methoden um Spielz<EFBFBD>ge auszuf<EFBFBD>hren, um Kontrollen durchzuf<EFBFBD>hren und um zwischen Spieler und Computer zu wechseln
* @author Fabian Keller
*/
public class Spiel {
@@ -29,15 +30,17 @@ public class Spiel {
private int kartenZiehen;
private Dashboard_GUI dashboard;
private boolean spielGewonnen;
private Spielerverwaltung spielerverwaltung;
private boolean debug = false;
public Spiel(Dashboard_GUI dashboard_gui) {
public Spiel(Dashboard_GUI dashboard_gui, Spielerverwaltung spielerverwaltung) {
audio = new Audio();
kartensatz = new Kartensatz();
computerGegner = new Computer_gegner(kartensatz);
spielzug = new Spielzug(kartensatz);
dashboard = dashboard_gui;
spielGewonnen = false;
this.spielerverwaltung = spielerverwaltung;
}
public boolean getAussetzen() {
@@ -62,7 +65,7 @@ public class Spiel {
/**
* Initialisiert ein Spiel
* Handelt den Start aus und führt, falls nötig, den ersten Spielzug aus
* Handelt den Start aus und f<EFBFBD>hrt, falls n<EFBFBD>tig, den ersten Spielzug aus
* @param dashboard
*/
public void spiel(Dashboard_GUI dashboard) {
@@ -83,7 +86,7 @@ public class Spiel {
}
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen(); //effekte für den Start setzen
effekteSetzen(); //effekte f<EFBFBD>r den Start setzen
if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
if(debug) System.out.println("\nSPIEL Computerauswahl: " + computerZug);
@@ -108,7 +111,7 @@ public class Spiel {
/**
* Organisiert den Spielablauf nach jedem gültigen Zug, wechselt zwischen Spieler und Computer
* Organisiert den Spielablauf nach jedem g<EFBFBD>ltigen Zug, wechselt zwischen Spieler und Computer
* @param dashboard
*/
private void alternieren(Dashboard_GUI dashboard) {
@@ -137,8 +140,8 @@ public class Spiel {
amZug = Spieler.SPIELER;
dashboard.aktualisiereGUI();
if(debug) System.out.println("\nSPIEL Spieler am Zug");
if(aussetzen) { //falls aussetzen aktiv, wird die Möglichkeit über den Button aktiviert
if(debug) System.out.println("\nSPIEL Aussetzen möglich");
if(aussetzen) { //falls aussetzen aktiv, wird die M<EFBFBD>glichkeit <EFBFBD>ber den Button aktiviert
if(debug) System.out.println("\nSPIEL Aussetzen m<EFBFBD>glich");
dashboard.showaussetzen(true);
dashboard.aktualisiereGUI();
}
@@ -147,18 +150,19 @@ public class Spiel {
/**
* Wird aufgerufen wenn das Spiel entschieden wurde, führt zum Spielende
* Wird aufgerufen wenn das Spiel entschieden wurde, f<EFBFBD>hrt zum Spielende
* @param spieler Spieler, welcher gewonnen hat
*/
private void gewinn(Spieler spieler) {
if(debug) System.out.println("HERZLICHEN GLÜCKWUNSCH " + spieler + ". DU HAST GEWONNEN");
if(debug) System.out.println("HERZLICHEN GL<EFBFBD>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
dashboard.gewonnen(spieler);
if(spieler == Spieler.SPIELER) spielerverwaltung.erhoehePunkte(1);
spielGewonnen = true;
}
/**
* Bietet für den Spieler die Möglichkeit auszusetzen
* Bietet f<EFBFBD>r den Spieler die M<EFBFBD>glichkeit auszusetzen
*/
public void aussetzen() {
if(spielGewonnen) return;
@@ -167,13 +171,13 @@ public class Spiel {
}
/**
* falls eine Karte gelegt werden kann, wird diese für den Teilnehmer gelegt
* falls eine Karte gelegt werden kann, wird diese f<EFBFBD>r den Teilnehmer gelegt
* @param kartenindex
*/
public void karteLegen(int kartenindex) {
if(spielGewonnen) return;
if(debug) System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gewählte Karte kann gelegt werden - Zug kann stattfinden | sonst nichts
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<EFBFBD>hlte Karte kann gelegt werden - Zug kann stattfinden | sonst nichts
if(debug) System.out.println("SPIEL pruefeZug positiv");
if(debug) System.out.println("SPIEL Lege Karte " + kartenindex);
kartensatz.ablegen(kartenindex); //karte ablegen
@@ -191,7 +195,7 @@ public class Spiel {
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen Spieler
if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false);
}
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: Wünscher wurde gelegt Spieler
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<EFBFBD>nscher wurde gelegt Spieler
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
}
else {
@@ -202,7 +206,7 @@ public class Spiel {
/**
* falls eine oder mehrere Karten gezogen werden können, wird dies für den Teilnehmer ausgeführt
* falls eine oder mehrere Karten gezogen werden k<EFBFBD>nnen, wird dies f<EFBFBD>r den Teilnehmer ausgef<EFBFBD>hrt
*/
public void karteZiehen(){
if(spielGewonnen) return;
@@ -221,18 +225,18 @@ public class Spiel {
}
alternieren(dashboard);
}
else { //ziehen nicht möglich - nichts passiert
else { //ziehen nicht m<EFBFBD>glich - nichts passiert
return;
}
}
/**
* Setzt die Wunschfarbe für den Spieler
* Setzt die Wunschfarbe f<EFBFBD>r den Spieler
* @param farbe
*/
public void wuenscher(Farbe farbe) {
if(debug) System.out.println("\nSPIEL Wünsche Farbe");
if(debug) System.out.println("\nSPIEL W<EFBFBD>nsche Farbe");
kartensatz.SetWunschfarbe(farbe);
alternieren(dashboard);
dashboard.aktualisiereGUI();
@@ -240,7 +244,7 @@ public class Spiel {
/**
* setzt Effekt-Variablen und Wunschfarbe für einen Wünscher vom Spieler, ruft Farbauswahl für Spieler-Wünscher auf
* setzt Effekt-Variablen und Wunschfarbe f<EFBFBD>r einen W<EFBFBD>nscher vom Spieler, ruft Farbauswahl f<EFBFBD>r Spieler-W<EFBFBD>nscher auf
*/
private void effekteSetzen() {
if(spielGewonnen) return;
@@ -252,7 +256,7 @@ public class Spiel {
zwei_ziehen = true;
kartenZiehen += 2;
}
if(gelegterWert == Wert.BUBE) {//Wünscher
if(gelegterWert == Wert.BUBE) {//W<EFBFBD>nscher
if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
}

View File

@@ -1,7 +1,7 @@
package de.jaujau.spiellogik;
import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spielerdaten;
import de.jaujau.daten.Wert;
import java.util.ArrayList;
@@ -11,8 +11,8 @@ import de.jaujau.daten.Spieler;
/**
* Diese Klasse verwaltet Funktionen, die den Spielzug prüfen
* @author Moritz Köppe
* Diese Klasse verwaltet Funktionen, die den Spielzug pr<EFBFBD>fen
* @author Moritz K<EFBFBD>ppe
*/
public class Spielzug {
@@ -32,7 +32,7 @@ public class Spielzug {
/**
* Funktion untersucht, ob die Karte die der Spieler zu legen versucht auch gelegt werden kann
* Sollte der Spieler gerade aussetzen müssen, kann nur eine 8 gelegt werden
* Sollte der Spieler gerade aussetzen m<EFBFBD>ssen, kann nur eine 8 gelegt werden
* Muss der Spieler zwei Karten ziehen, kann nur eine 7 gelegt werden
* Gilt nichts von beidem muss die Karte zur vorhergelegten passen
* @param kartenindex Index der Karte die gelegt werden soll
@@ -48,8 +48,8 @@ public class Spielzug {
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
if (debug) {
System.out.println("SPIELZUG: Versucht Karte für Funktion: " + kartenindex);
System.out.println("SPIELZUG: Letzte Karte für Funktion: " + letztekartewert + " " + letztekartefarbe);
System.out.println("SPIELZUG: Versucht Karte f<EFBFBD>r Funktion: " + kartenindex);
System.out.println("SPIELZUG: Letzte Karte f<EFBFBD>r Funktion: " + letztekartewert + " " + letztekartefarbe);
}
if(aussetzen && kartenwert == Wert.ACHT) {
@@ -86,7 +86,7 @@ public class Spielzug {
}
/**
* Prüft, ob der Spieler eine Karte legen kann, indem jede Karte in der Hand des Spielers mit der Funktion pruefeZug geprüft wird
* Pr<EFBFBD>ft, ob der Spieler eine Karte legen kann, indem jede Karte in der Hand des Spielers mit der Funktion pruefeZug gepr<EFBFBD>ft wird
* @param spieler, Spieler am Zug
* @param boolean, muss Spieler ziehen?
* @param boolean, muss Spieler aussetzen?