Soundüberlegungen und Umstrukturierung der Klasse
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
package de.jaujau.spiellogik;
|
package de.jaujau.spiellogik;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import de.jaujau.daten.Audio;
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.daten.Kartensatz;
|
||||||
import de.jaujau.daten.Spieler;
|
import de.jaujau.daten.Spieler;
|
||||||
import de.jaujau.daten.Wert;
|
import de.jaujau.daten.Wert;
|
||||||
@@ -10,19 +10,21 @@ import de.jaujau.daten.Wert;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Klasse pr<EFBFBD>ft die Spielaktionen und alterniert zwischen Spieler und Computer
|
* Diese Klasse organisiert den Spielablauf
|
||||||
* @author Fabian Keller
|
* @author Fabian Keller
|
||||||
*/
|
*/
|
||||||
public class Spiel {
|
public class Spiel {
|
||||||
|
|
||||||
private Spieler amZug;
|
private Spieler amZug;
|
||||||
|
private Wert gelegterWert;
|
||||||
|
private Audio audio = new Audio();
|
||||||
|
private Kartensatz kartensatz;
|
||||||
|
private Spielzug spielzug = new Spielzug();
|
||||||
|
private Computer_gegner computerGegner = new Computer_gegner();
|
||||||
private boolean spielgestartet = false;
|
private boolean spielgestartet = false;
|
||||||
private boolean aussetzen;
|
private boolean aussetzen;
|
||||||
private boolean zwei_ziehen;
|
private boolean zwei_ziehen;
|
||||||
private int kartenZiehen;
|
private int kartenZiehen;
|
||||||
private Kartensatz kartensatz;
|
|
||||||
private Wert gelegterWert;
|
|
||||||
private Spielzug spielzug;
|
|
||||||
|
|
||||||
|
|
||||||
public boolean getAussetzen() {
|
public boolean getAussetzen() {
|
||||||
@@ -41,9 +43,9 @@ public class Spiel {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* alterniert zwischen Spieler und Computer und legt Beginner fest
|
* alterniert zwischen Spieler und Computer, legt Beginner fest
|
||||||
*/
|
*/
|
||||||
private void spiel() {
|
public void spiel() {
|
||||||
if(!spielgestartet) {
|
if(!spielgestartet) {
|
||||||
Random zufallszahl = new Random();
|
Random zufallszahl = new Random();
|
||||||
int zahl = zufallszahl.nextInt(1);
|
int zahl = zufallszahl.nextInt(1);
|
||||||
@@ -67,6 +69,10 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
if(amZug == Spieler.SPIELER) {
|
if(amZug == Spieler.SPIELER) {
|
||||||
amZug = Spieler.COMPUTER;
|
amZug = Spieler.COMPUTER;
|
||||||
|
if(spielzug.zugMoeglich(Spieler.COMPUTER)) {
|
||||||
|
//karteLegen(computerGegner.cpu_Zug());
|
||||||
|
}
|
||||||
|
else karteZiehen();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
amZug= Spieler.SPIELER;
|
amZug= Spieler.SPIELER;
|
||||||
@@ -78,27 +84,31 @@ public class Spiel {
|
|||||||
* falls eine Karte gelegt werden kann wird diese gelegt
|
* falls eine Karte gelegt werden kann wird diese gelegt
|
||||||
* @param kartenindex
|
* @param kartenindex
|
||||||
*/
|
*/
|
||||||
private void karteLegen(int kartenindex) { //W<>NSCHER?
|
public void karteLegen(int kartenindex) {
|
||||||
if(spielzug.zugMoeglich(amZug)) {
|
if(spielzug.zugMoeglich(amZug)) {
|
||||||
if (spielzug.pruefeZug(kartenindex)) {
|
if (spielzug.pruefeZug(kartenindex)) {
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex);
|
||||||
|
if(kartensatz.getHand(amZug).size() == 1) {
|
||||||
|
spieleTon(true);
|
||||||
|
}
|
||||||
if(kartensatz.getHand(amZug).isEmpty()) {
|
if(kartensatz.getHand(amZug).isEmpty()) {
|
||||||
//Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert?
|
spieleTon(false);
|
||||||
|
//Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert? // Spieler Gewonnen aufrufen, Punkte aktualisieren
|
||||||
}
|
}
|
||||||
spiel();
|
spiel();
|
||||||
effekteSetzen(); //kartenindex <20>bergeben und anhand dessen effekte setzen
|
effekteSetzen();
|
||||||
}//oder ziehen?
|
}
|
||||||
}// else kein Zug m<>glich
|
}
|
||||||
else {
|
else {
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
}
|
}
|
||||||
}//wann wird aussetzen auf false gesetzt
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies ausgef<65>hrt
|
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies ausgef<65>hrt
|
||||||
*/
|
*/
|
||||||
private void karteZiehen(){
|
public void karteZiehen(){
|
||||||
if(spielzug.zugMoeglich(amZug)) {
|
if(spielzug.zugMoeglich(amZug)) {
|
||||||
if(zwei_ziehen) {
|
if(zwei_ziehen) {
|
||||||
for(int i = 0; i < kartenZiehen; i++) {
|
for(int i = 0; i < kartenZiehen; i++) {
|
||||||
@@ -118,7 +128,7 @@ public class Spiel {
|
|||||||
/**
|
/**
|
||||||
* setzt Effekt-Variablen
|
* setzt Effekt-Variablen
|
||||||
*/
|
*/
|
||||||
private void effekteSetzen() { //was passiert wenn 2 gezogen wurde und dann der n<>chste spieler diese Funktion ausf<73>hrt.
|
private void effekteSetzen() {
|
||||||
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
if(gelegterWert == Wert.ACHT) {
|
if(gelegterWert == Wert.ACHT) {
|
||||||
aussetzen = true;
|
aussetzen = true;
|
||||||
@@ -128,4 +138,23 @@ public class Spiel {
|
|||||||
kartenZiehen += 2;
|
kartenZiehen += 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spielt abh<62>ngig von einer Varibale optional den "Jau" oder den "JauJau" Sound ab
|
||||||
|
* @param auswahl true = Jau Sound
|
||||||
|
* false = JauJau Sound
|
||||||
|
*/
|
||||||
|
private void spieleTon(boolean auswahl) {
|
||||||
|
if(auswahl) {
|
||||||
|
Runnable jau = () -> audio.spieleJau();
|
||||||
|
Thread threadJau = new Thread(jau);
|
||||||
|
threadJau.start();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Runnable jaujau = () -> audio.spieleJauJau();
|
||||||
|
Thread threadJauJau = new Thread(jaujau);
|
||||||
|
threadJauJau.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user