Merge branch 'patch-1' of https://gitlab.imn.htwk-leipzig.de/weicker/inb1-a-jaujau.git into patch-1
This commit is contained in:
@@ -64,6 +64,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
private JButton btnpik = new JButton("Pik");
|
private JButton btnpik = new JButton("Pik");
|
||||||
private JButton btnkaro = new JButton("Karo");
|
private JButton btnkaro = new JButton("Karo");
|
||||||
private JButton btnkreuz = new JButton("Kreuz");
|
private JButton btnkreuz = new JButton("Kreuz");
|
||||||
|
private final JLabel label_final = new JLabel("Spiel beendet");
|
||||||
|
|
||||||
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) {
|
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) {
|
||||||
setMinimumSize(new Dimension(1000, 600));
|
setMinimumSize(new Dimension(1000, 600));
|
||||||
@@ -167,6 +168,12 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
mitte.add(mitte_center);
|
mitte.add(mitte_center);
|
||||||
|
label_final.setVisible(false);
|
||||||
|
label_final.setFont(new Font("Tahoma", Font.PLAIN, 34));
|
||||||
|
label_final.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
label_final.setForeground(Color.BLACK);
|
||||||
|
|
||||||
|
mitte_center.add(label_final, BorderLayout.SOUTH);
|
||||||
|
|
||||||
//Wunschfarben Button Listener
|
//Wunschfarben Button Listener
|
||||||
|
|
||||||
@@ -176,7 +183,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.PIK);
|
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.PIK);
|
||||||
btnpik.setVisible(false);
|
showwunsch(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -186,7 +193,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KARO);
|
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KARO);
|
||||||
btnkaro.setVisible(false);
|
showwunsch(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -196,7 +203,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KREUZ);
|
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KREUZ);
|
||||||
btnkreuz.setVisible(false);
|
showwunsch(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -204,7 +211,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.HERZ);
|
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.HERZ);
|
||||||
btnherz.setVisible(false);
|
showwunsch(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -244,6 +251,8 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
aktuellesSpiel = Spiel;
|
aktuellesSpiel = Spiel;
|
||||||
System.out.println("DASHBOARD: Game darstellen");
|
System.out.println("DASHBOARD: Game darstellen");
|
||||||
cl.show(panelCont, "2");
|
cl.show(panelCont, "2");
|
||||||
|
showwunsch(false);
|
||||||
|
aussetzen.setVisible(false);
|
||||||
aktuellesSpiel.spiel(this);
|
aktuellesSpiel.spiel(this);
|
||||||
aktualisiereGUI();
|
aktualisiereGUI();
|
||||||
}
|
}
|
||||||
@@ -373,16 +382,39 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
aktualisiereSpieleranzeige();
|
aktualisiereSpieleranzeige();
|
||||||
aktualisiereAblage();
|
aktualisiereAblage();
|
||||||
aktualisiereHand();
|
aktualisiereHand();
|
||||||
|
revalidate();
|
||||||
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showwunsch(){
|
public void showwunsch(boolean status){
|
||||||
btnpik.setVisible(true);
|
btnpik.setVisible(status);
|
||||||
btnherz.setVisible(true);
|
btnherz.setVisible(status);
|
||||||
btnkaro.setVisible(true);
|
btnkaro.setVisible(status);
|
||||||
btnkreuz.setVisible(true);
|
btnkreuz.setVisible(status);
|
||||||
mitte_unten.updateUI();
|
mitte_unten.updateUI();
|
||||||
//mitte_unten.revalidate();
|
}
|
||||||
//mitte_unten.repaint();
|
|
||||||
|
public Farbe getwunschfarbe() {
|
||||||
|
return Farbe.KARO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void gewonnen(Spieler spieler) {
|
||||||
|
|
||||||
|
if(spieler == spieler.SPIELER) {
|
||||||
|
System.out.println("Spiel gewonnen");
|
||||||
|
label_final.setText("Spiel gewonnen");
|
||||||
|
}
|
||||||
|
if(spieler == spieler.COMPUTER) {
|
||||||
|
System.out.println("Spieler verloren");
|
||||||
|
label_final.setText("Spieler verloren");
|
||||||
|
}
|
||||||
|
player_hand.setVisible(false);
|
||||||
|
label_final.setVisible(true);
|
||||||
|
ablagestapel.setVisible(false);
|
||||||
|
rechts.setVisible(false);
|
||||||
|
updateUI();
|
||||||
|
aktualisiereGUI();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,6 +3,7 @@ package de.jaujau.spiellogik;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import de.jaujau.daten.Farbe;
|
import de.jaujau.daten.Farbe;
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.daten.Kartensatz;
|
||||||
@@ -107,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);
|
||||||
@@ -184,11 +198,34 @@ public class Computer_gegner {
|
|||||||
hoechsteAnzahl = anzahl;
|
hoechsteAnzahl = anzahl;
|
||||||
wahl = farben[i];
|
wahl = farben[i];
|
||||||
}
|
}
|
||||||
|
if (hand.size() < 6 && hand.size() > 2) {
|
||||||
|
if(zufall(10) > 7) {
|
||||||
|
wahl = farben[zufall(4)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (hand.size() < 3) {
|
||||||
|
if(zufall(10) > 5) {
|
||||||
|
wahl = farben[zufall(4)];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return wahl;
|
return wahl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Funktion, die eine zuf<75>llige Zahl zwischen 0 und einer andere Zahl r-1 ausgibt
|
||||||
|
* @param int r
|
||||||
|
* @return int zuf<75>llige Zahl
|
||||||
|
*/
|
||||||
|
private int zufall(int r){
|
||||||
|
Random zufall = new Random();
|
||||||
|
|
||||||
|
int diced = 0;
|
||||||
|
diced = zufall.nextInt(r);
|
||||||
|
return diced;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion z<>hlt f<>r die jeweilige Farbe, wie viele Karten der Farbe auf der Hand des Computer sind
|
* Funktion z<>hlt f<>r die jeweilige Farbe, wie viele Karten der Farbe auf der Hand des Computer sind
|
||||||
* @param farbe, f<>r welche gez<65>hlt werden soll
|
* @param farbe, f<>r welche gez<65>hlt werden soll
|
||||||
|
@@ -3,6 +3,7 @@ package de.jaujau.spiellogik;
|
|||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import de.jaujau.daten.Audio;
|
import de.jaujau.daten.Audio;
|
||||||
|
import de.jaujau.daten.Farbe;
|
||||||
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;
|
||||||
@@ -149,12 +150,17 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wird aufgerufen wenn das Spiel entschieden wurde
|
||||||
|
* @param spieler Spieler, welcher gewonnen hat
|
||||||
|
*/
|
||||||
private void gewinn(Spieler spieler) {
|
private void gewinn(Spieler spieler) {
|
||||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + amZug + ". DU HAST GEWONNEN");
|
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.gewonnen(spieler);
|
||||||
spielGewonnen = true;
|
spielGewonnen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bietet die M<>glichkeit auszusetzen
|
* Bietet die M<>glichkeit auszusetzen
|
||||||
*/
|
*/
|
||||||
@@ -189,7 +195,9 @@ public class Spiel {
|
|||||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||||
effekteSetzen();
|
effekteSetzen();
|
||||||
alternieren(dashboard);
|
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) {
|
||||||
|
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,6 +228,16 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setzt die W<>nscher Farbe
|
||||||
|
* @param farbe
|
||||||
|
*/
|
||||||
|
public void wuenscher(Farbe farbe) {
|
||||||
|
kartensatz.SetWunschfarbe(farbe);
|
||||||
|
alternieren(dashboard);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
|
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
|
||||||
*/
|
*/
|
||||||
@@ -238,7 +256,7 @@ public class Spiel {
|
|||||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
dashboard.showwunsch(); //Returnwert!
|
dashboard.showwunsch(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
||||||
|
Reference in New Issue
Block a user