This commit is contained in:
Fabian Keller
2021-01-08 13:28:08 +01:00
9 changed files with 54 additions and 45 deletions

View File

@@ -21,7 +21,8 @@ public class Audio {
* Spielt den "Jau" Ton ab * Spielt den "Jau" Ton ab
*/ */
public void spieleJau() { public void spieleJau() {
spieleTon("/sound/jaujau.wav"); spieleTon("/sound/jau.wav");
System.out.println("AUDIO: Spiele jau.wav");
} }
@@ -29,7 +30,8 @@ public class Audio {
* Spielt den "JauJau" Ton ab * Spielt den "JauJau" Ton ab
*/ */
public void spieleJauJau() { public void spieleJauJau() {
spieleTon("/sound/jau.wav"); spieleTon("/sound/jaujau.wav");
System.out.println("AUDIO: Spiele jaujau.wav");
} }
@@ -51,12 +53,6 @@ public class Audio {
} }
//Kann gelöscht werden wenn es nicht mehr in der GUI benötigt wird
public void test() {
spieleJauJau();
}
/* /*
* !!! DIESE METHODE IST NICHT VON MIR !!! * !!! DIESE METHODE IST NICHT VON MIR !!!
* Quelle: https://stackoverflow.com/questions/2416935/how-to-play-wav-files-with-java * Quelle: https://stackoverflow.com/questions/2416935/how-to-play-wav-files-with-java

View File

@@ -15,6 +15,7 @@ public class Kartensatz {
* Konstruktor für den Kartensatz * Konstruktor für den Kartensatz
* Erstellt einen Neuen Kartensatz mit 32 Karten in einem Array * Erstellt einen Neuen Kartensatz mit 32 Karten in einem Array
* Die Karten haben dabei die Reihenfolge eines Standart Skat Blattes * Die Karten haben dabei die Reihenfolge eines Standart Skat Blattes
* Eine Zufällige Karte wird beim Start als Startkarte festgelet, in den Ablagestabel verschoben und als letzte Karte gespeichert
*/ */
public Kartensatz() { public Kartensatz() {

View File

@@ -1,6 +1,7 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.awt.Image; import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@@ -78,14 +79,15 @@ public class Texturenpaket {
String Spalte[] = Zeile.split(":"); String Spalte[] = Zeile.split(":");
//System.out.println(Spalte.length); //System.out.println(Spalte.length);
if(Spalte.length==2) { if(Spalte.length==2) {
System.out.println("TEXTURENPAKET: " + Spalte[1]);
//Name Auslesen //Name Auslesen
if(Spalte[0].equals("name")) { if(Spalte[0].equals("name")) {
name = Spalte[1]; name = Spalte[1];
System.out.println("TEXTURENPAKET: Name: " + name);
} }
//Level Auslesen //Level Auslesen
if(Spalte[0].equals("level")) { if(Spalte[0].equals("level")) {
level = Integer.parseInt(Spalte[1]); level = Integer.parseInt(Spalte[1]);
System.out.println("TEXTURENPAKET: Level: " + level);
} }
} }
@@ -110,16 +112,16 @@ public class Texturenpaket {
/** /**
* Gibt alle Bilddatein von dem Texturenpaket als Image Array zurück * Gibt alle Bilddatein von dem Texturenpaket als BufferedImage Array zurück
* @return Image Array der Texturen des Paketes * @return BufferedImage Array der Texturen des Paketes
*/ */
public Image[] getTexturen() { public BufferedImage[] getTexturen() {
if(testePaket()) { if(testePaket()) {
try { try {
File zipDatei = new File(pfad); File zipDatei = new File(pfad);
ZipFile paketDatei = new ZipFile(zipDatei); ZipFile paketDatei = new ZipFile(zipDatei);
Image Bilder[] = new Image[33]; BufferedImage Bilder[] = new BufferedImage[33];
for(int i = 0; i < 33; i++) { for(int i = 0; i < 33; i++) {
ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png"); ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png");

View File

@@ -1,6 +1,6 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.awt.Image; import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -41,12 +41,12 @@ public class TexturenpaketIntern extends Texturenpaket{
/** /**
* Gibt alle Bilddatein von dem Texturenpaket als Image Array zurück * Gibt alle Bilddatein von dem Texturenpaket als BufferedImage Array zurück
* @return Image Array der Texturen des Paketes * @return BufferedImage Array der Texturen des Paketes
*/ */
@Override @Override
public Image[] getTexturen() { public BufferedImage[] getTexturen() {
Image Bilder[] = new Image[33]; BufferedImage Bilder[] = new BufferedImage[33];
for(int i = 0; i < 33; i++) { for(int i = 0; i < 33; i++) {
try { try {
Bilder[i] = ImageIO.read(getClass().getResource(pfad +"/" + i + ".png")); Bilder[i] = ImageIO.read(getClass().getResource(pfad +"/" + i + ".png"));

View File

@@ -1,6 +1,6 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.awt.Image; import java.awt.image.BufferedImage;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
@@ -10,7 +10,7 @@ import java.util.ArrayList;
public class Texturenpakete { public class Texturenpakete {
private ArrayList<Texturenpaket> TexturenpaketListe; private ArrayList<Texturenpaket> TexturenpaketListe;
private Image Texturen[]; private BufferedImage Texturen[];
private int AktivesPaket; private int AktivesPaket;
@@ -80,8 +80,8 @@ public class Texturenpakete {
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) { if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
AktivesPaket = PaketNr; AktivesPaket = PaketNr;
Texturen = TexturenpaketListe.get(PaketNr).getTexturen(); Texturen = TexturenpaketListe.get(PaketNr).getTexturen();
System.out.println("TEXTURENPAKETE: Paket (" + PaketNr + ") '" + TexturenpaketListe.get(PaketNr).getName() + "' aktiv gesetzt!");
return true; return true;
//ToDo: Wenn für ein Bild ein Null Objekt zurückgegebn soll das Bild ausgetauscht werden?
} }
return false; return false;
} }
@@ -98,6 +98,7 @@ public class Texturenpakete {
Texturenpaket NeuesPaket = new Texturenpaket(Pfad); Texturenpaket NeuesPaket = new Texturenpaket(Pfad);
if(NeuesPaket.ladePacket()) { if(NeuesPaket.ladePacket()) {
TexturenpaketListe.add(NeuesPaket); TexturenpaketListe.add(NeuesPaket);
System.out.println("TEXTURENPAKETE: Paket '" + NeuesPaket.getName() + "' hinzugfügt!");
return true; return true;
} }
@@ -107,14 +108,15 @@ public class Texturenpakete {
/** /**
* Gibt eine Textur des aktuellen Paketes als Image zurück * Gibt eine Textur des aktuellen Paketes als Image zurück
* Wenn die ID nicht im Bereich der Karten liegt wird Kartenrückseite zurückgegebn
* @param KartenNr der Textur * @param KartenNr der Textur
* @return Textur als Image * @return Textur als BufferedImage
*/ */
public Image getTextur(int KartenNr) { public BufferedImage getTextur(int KartenNr) {
if((KartenNr >= 0) && (KartenNr < 33)) { if((KartenNr >= 0) && (KartenNr < 33)) {
return Texturen[KartenNr]; return Texturen[KartenNr];
} }
return null; return Texturen[32];
} }
} }

View File

@@ -395,11 +395,6 @@ public class Dashboard_GUI extends JPanel{
} }
public Farbe getwunschfarbe() { public Farbe getwunschfarbe() {
return Farbe.KARO; return Farbe.KARO;
} }
@@ -411,8 +406,8 @@ public class Dashboard_GUI extends JPanel{
label_final.setText("Spiel gewonnen"); label_final.setText("Spiel gewonnen");
} }
if(spieler == spieler.COMPUTER) { if(spieler == spieler.COMPUTER) {
System.out.println("Spiel verloren"); System.out.println("Spieler verloren");
label_final.setText("Spiel verloren"); label_final.setText("Spieler verloren");
} }
player_hand.setVisible(false); player_hand.setVisible(false);
label_final.setVisible(true); label_final.setVisible(true);

View File

@@ -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 if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen
rueckgabeindex = wertLegen(letztekartewert); rueckgabeindex = wertLegen(letztekartewert);
} }
else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer die Farbe auf der Hand, versucht er diese zu legen else if((wertInHand || farbeInHand) && !aussetzen && !ziehen) {
rueckgabeindex = farbeLegen(letztekartefarbe); 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
else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen rueckgabeindex = farbeLegen(letztekartefarbe);
rueckgabeindex = wertLegen(letztekartewert); }
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 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); rueckgabeindex = wertLegen(Wert.BUBE);

View File

@@ -62,7 +62,7 @@ public class Spiel {
* Initialisiert ein Spiel * Initialisiert ein Spiel
* @param dashboard * @param dashboard
*/ */
public void spiel() { public void spiel(Dashboard_GUI dashboard) {
System.out.println("\nSPIEL Spiel gestartet."); System.out.println("\nSPIEL Spiel gestartet.");
Random zufallszahl = new Random(); Random zufallszahl = new Random();
int zahl = zufallszahl.nextInt(2); int zahl = zufallszahl.nextInt(2);
@@ -93,7 +93,7 @@ public class Spiel {
switch(computerZug) { switch(computerZug) {
case -2: //aussetzen anzeigen? case -2: //aussetzen anzeigen?
aussetzen = false; aussetzen = false;
alternieren(); alternieren(dashboard);
break; break;
case -1: case -1:
karteZiehen(); karteZiehen();
@@ -114,7 +114,7 @@ public class Spiel {
* Organisiert den Spielablauf * Organisiert den Spielablauf
* @param dashboard * @param dashboard
*/ */
private void alternieren() { private void alternieren(Dashboard_GUI dashboard) {
if(spielGewonnen) return; if(spielGewonnen) return;
if(amZug == Spieler.SPIELER) { if(amZug == Spieler.SPIELER) {
amZug = Spieler.COMPUTER; amZug = Spieler.COMPUTER;
@@ -125,7 +125,7 @@ public class Spiel {
switch(computerZug) { switch(computerZug) {
case -2: case -2:
aussetzen = false; aussetzen = false;
alternieren(); alternieren(dashboard);
break; break;
case -1: case -1:
karteZiehen(); karteZiehen();
@@ -167,7 +167,7 @@ public class Spiel {
public void aussetzen() { public void aussetzen() {
if(spielGewonnen) return; if(spielGewonnen) return;
aussetzen = false;//alternieren wird aufgerufen bevor GUI fertig abgearbeitet. aussetzen = false;//alternieren wird aufgerufen bevor GUI fertig abgearbeitet.
alternieren(); alternieren(dashboard);
} }
/** /**
@@ -196,7 +196,7 @@ public class Spiel {
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen(); effekteSetzen();
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) {
if(amZug == Spieler.COMPUTER) alternieren(); if(amZug == Spieler.COMPUTER) alternieren(dashboard);
} }
else { else {
alternieren(); alternieren();
@@ -223,7 +223,7 @@ public class Spiel {
kartensatz.ziehen(amZug); kartensatz.ziehen(amZug);
System.out.println("\nSPIEL 1 Karte gezogen"); System.out.println("\nSPIEL 1 Karte gezogen");
} }
alternieren(); alternieren(dashboard);
} }
else { //AussetzenButton else { //AussetzenButton
return; return;
@@ -237,7 +237,7 @@ public class Spiel {
*/ */
public void wuenscher(Farbe farbe) { public void wuenscher(Farbe farbe) {
kartensatz.SetWunschfarbe(farbe); kartensatz.SetWunschfarbe(farbe);
alternieren(); alternieren(dashboard);
} }

Binary file not shown.