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 btnkaro = new JButton("Karo");
|
||||
private JButton btnkreuz = new JButton("Kreuz");
|
||||
private final JLabel label_final = new JLabel("Spiel beendet");
|
||||
|
||||
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) {
|
||||
setMinimumSize(new Dimension(1000, 600));
|
||||
@@ -167,6 +168,12 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
|
||||
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
|
||||
|
||||
@@ -176,7 +183,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.PIK);
|
||||
btnpik.setVisible(false);
|
||||
showwunsch(false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -186,7 +193,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KARO);
|
||||
btnkaro.setVisible(false);
|
||||
showwunsch(false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -196,7 +203,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.KREUZ);
|
||||
btnkreuz.setVisible(false);
|
||||
showwunsch(false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -204,7 +211,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel.getKartensatz().SetWunschfarbe(Farbe.HERZ);
|
||||
btnherz.setVisible(false);
|
||||
showwunsch(false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -244,6 +251,8 @@ public class Dashboard_GUI extends JPanel{
|
||||
aktuellesSpiel = Spiel;
|
||||
System.out.println("DASHBOARD: Game darstellen");
|
||||
cl.show(panelCont, "2");
|
||||
showwunsch(false);
|
||||
aussetzen.setVisible(false);
|
||||
aktuellesSpiel.spiel(this);
|
||||
aktualisiereGUI();
|
||||
}
|
||||
@@ -373,16 +382,39 @@ public class Dashboard_GUI extends JPanel{
|
||||
aktualisiereSpieleranzeige();
|
||||
aktualisiereAblage();
|
||||
aktualisiereHand();
|
||||
revalidate();
|
||||
repaint();
|
||||
}
|
||||
|
||||
public void showwunsch(){
|
||||
btnpik.setVisible(true);
|
||||
btnherz.setVisible(true);
|
||||
btnkaro.setVisible(true);
|
||||
btnkreuz.setVisible(true);
|
||||
public void showwunsch(boolean status){
|
||||
btnpik.setVisible(status);
|
||||
btnherz.setVisible(status);
|
||||
btnkaro.setVisible(status);
|
||||
btnkreuz.setVisible(status);
|
||||
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.Random;
|
||||
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
@@ -107,12 +108,25 @@ public class Computer_gegner {
|
||||
if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen
|
||||
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) {
|
||||
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
|
||||
rueckgabeindex = farbeLegen(letztekartefarbe);
|
||||
}
|
||||
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
|
||||
rueckgabeindex = wertLegen(Wert.BUBE);
|
||||
}
|
||||
@@ -184,11 +198,34 @@ public class Computer_gegner {
|
||||
hoechsteAnzahl = anzahl;
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @param farbe, f<>r welche gez<65>hlt werden soll
|
||||
|
@@ -3,6 +3,7 @@ package de.jaujau.spiellogik;
|
||||
import java.util.Random;
|
||||
|
||||
import de.jaujau.daten.Audio;
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spieler;
|
||||
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) {
|
||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + amZug + ". DU HAST GEWONNEN");
|
||||
dashboard.aktualisiereGUI();
|
||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||
dashboard.gewonnen(spieler);
|
||||
spielGewonnen = true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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 SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||
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
|
||||
*/
|
||||
@@ -238,7 +256,7 @@ public class Spiel {
|
||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||
}
|
||||
else {
|
||||
dashboard.showwunsch(); //Returnwert!
|
||||
dashboard.showwunsch(true);
|
||||
}
|
||||
}
|
||||
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
||||
|
Reference in New Issue
Block a user