Merge branch 'patch-1' of https://gitlab.imn.htwk-leipzig.de/weicker/inb1-a-jaujau into patch-1
This commit is contained in:
@@ -10,6 +10,7 @@ import java.util.Random;
|
||||
public class Kartensatz {
|
||||
private Karte kartensatz[];
|
||||
private int letztekarte;
|
||||
private boolean debug;
|
||||
|
||||
/**
|
||||
* Konstruktor für den Kartensatz
|
||||
@@ -19,6 +20,7 @@ public class Kartensatz {
|
||||
*/
|
||||
public Kartensatz() {
|
||||
|
||||
debug = true;
|
||||
kartensatz = new Karte[32];
|
||||
|
||||
//Standart Skat Kartensatz erstellen
|
||||
@@ -116,7 +118,7 @@ public class Kartensatz {
|
||||
}
|
||||
}
|
||||
else {
|
||||
System.out.println("Keine Karten zum ziehen verfügbar!");
|
||||
if(debug)System.out.println("Keine Karten zum ziehen verfügbar!");
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
|
@@ -42,6 +42,7 @@ public class Texturenpaket {
|
||||
protected String name; //Protektet weil die abgeleitet Klasse TexturenpaketIntern auf die Werte zugreifen können muss
|
||||
protected int level;
|
||||
private final String pfad;
|
||||
private boolean debug;
|
||||
|
||||
|
||||
/**
|
||||
@@ -49,6 +50,7 @@ public class Texturenpaket {
|
||||
* @param Pfad zu der Zip-Datei des Texturenpaketes
|
||||
*/
|
||||
public Texturenpaket(String Pfad) {
|
||||
debug = true;
|
||||
name = "Nicht geladen";
|
||||
level = 0;
|
||||
pfad = Pfad;
|
||||
@@ -60,7 +62,7 @@ public class Texturenpaket {
|
||||
* @return Paket vollständig geladen, true/false
|
||||
*/
|
||||
public boolean ladePacket() {
|
||||
System.out.println("TEXTURENPAKET: Lade Paket");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Lade Paket");
|
||||
if(testePaket()) {
|
||||
//Paket ist OK
|
||||
|
||||
@@ -82,12 +84,12 @@ public class Texturenpaket {
|
||||
//Name Auslesen
|
||||
if(Spalte[0].equals("name")) {
|
||||
name = Spalte[1];
|
||||
System.out.println("TEXTURENPAKET: Name: " + name);
|
||||
if(debug)System.out.println("TEXTURENPAKET: Name: " + name);
|
||||
}
|
||||
//Level Auslesen
|
||||
if(Spalte[0].equals("level")) {
|
||||
level = Integer.parseInt(Spalte[1]);
|
||||
System.out.println("TEXTURENPAKET: Level: " + level);
|
||||
if(debug)System.out.println("TEXTURENPAKET: Level: " + level);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -166,7 +168,7 @@ public class Texturenpaket {
|
||||
* @return Paket vollständig, true/false
|
||||
*/
|
||||
private boolean testePaket() {
|
||||
System.out.println("TEXTURENPAKET: Paket auf Fehler untersuchen:");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Paket auf Fehler untersuchen:");
|
||||
//Testen ob Zip-Datei vorhanden und lesabar ist
|
||||
File zipDatei = new File(pfad);
|
||||
if(zipDatei.exists() || zipDatei.canRead()) {
|
||||
@@ -184,7 +186,7 @@ public class Texturenpaket {
|
||||
while(scanner.hasNext()) {
|
||||
//Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält
|
||||
String Zeile = scanner.nextLine();
|
||||
System.out.println("TEXTURENPAKET: Konfigzeile:" + Zeile);
|
||||
if(debug)System.out.println("TEXTURENPAKET: Konfigzeile:" + Zeile);
|
||||
if(Zeile.contains("name:")) {
|
||||
PaketName = true;
|
||||
}
|
||||
@@ -194,7 +196,7 @@ public class Texturenpaket {
|
||||
}
|
||||
scanner.close();
|
||||
if(!PaketName || !PaketLevel) {
|
||||
System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft");
|
||||
paketDatei.close();
|
||||
return false;
|
||||
}
|
||||
@@ -205,10 +207,10 @@ public class Texturenpaket {
|
||||
InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur);
|
||||
Image bild = ImageIO.read(eingabeStromTextur);
|
||||
if(bild == null) {
|
||||
System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden");
|
||||
return false;
|
||||
}
|
||||
System.out.println("TEXTURENPAKET: Datei: " + i + ".png OK!");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Datei: " + i + ".png OK!");
|
||||
}
|
||||
|
||||
paketDatei.close();
|
||||
@@ -229,7 +231,7 @@ public class Texturenpaket {
|
||||
}
|
||||
|
||||
//Alles OK
|
||||
System.out.println("TEXTURENPAKET: Texturen Paket ist OK");
|
||||
if(debug)System.out.println("TEXTURENPAKET: Texturen Paket ist OK");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -12,13 +12,16 @@ public class Texturenpakete {
|
||||
private ArrayList<Texturenpaket> TexturenpaketListe;
|
||||
private BufferedImage Texturen[];
|
||||
private int AktivesPaket;
|
||||
private boolean debug;
|
||||
|
||||
|
||||
public Texturenpakete(){
|
||||
debug = true;
|
||||
|
||||
TexturenpaketListe = new ArrayList<Texturenpaket>();
|
||||
|
||||
//Hinzufügen eines Internen Texturenpaketes
|
||||
TexturenpaketListe.add(new TexturenpaketIntern("/img/texturen/standart", "JauJau Standart Texturen Französisch", 0));
|
||||
TexturenpaketListe.add(new TexturenpaketIntern("/img/texturen/standart", "JauJau Französisch", 0));
|
||||
|
||||
//Internes Texturenpaket als Aktiv festlegen
|
||||
setAktivesPaket(0);
|
||||
@@ -80,7 +83,7 @@ public class Texturenpakete {
|
||||
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
|
||||
AktivesPaket = PaketNr;
|
||||
Texturen = TexturenpaketListe.get(PaketNr).getTexturen();
|
||||
System.out.println("TEXTURENPAKETE: Paket (" + PaketNr + ") '" + TexturenpaketListe.get(PaketNr).getName() + "' aktiv gesetzt!");
|
||||
if(debug)System.out.println("TEXTURENPAKETE: Paket (" + PaketNr + ") '" + TexturenpaketListe.get(PaketNr).getName() + "' aktiv gesetzt!");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -98,7 +101,7 @@ public class Texturenpakete {
|
||||
Texturenpaket NeuesPaket = new Texturenpaket(Pfad);
|
||||
if(NeuesPaket.ladePacket()) {
|
||||
TexturenpaketListe.add(NeuesPaket);
|
||||
System.out.println("TEXTURENPAKETE: Paket '" + NeuesPaket.getName() + "' hinzugfügt!");
|
||||
if(debug)System.out.println("TEXTURENPAKETE: Paket '" + NeuesPaket.getName() + "' hinzugfügt!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -119,4 +122,16 @@ public class Texturenpakete {
|
||||
return Texturen[32];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prüft ob mit dem Aktuellen level das akteulle Texturenpaket genutzet werden kann
|
||||
* Wenn das nicht zutrifft wird das erste Standart Paket genutzt
|
||||
* @param Level des aktuellen Spielers
|
||||
*/
|
||||
public void pruefeLevel(int Level) {
|
||||
if(TexturenpaketListe.get(AktivesPaket).getLevel() > Level) {
|
||||
setAktivesPaket(0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -32,24 +32,24 @@ import javax.swing.JButton;
|
||||
|
||||
public class Dashboard_GUI extends JPanel{
|
||||
private static final long serialVersionUID = -7380187913989942586L;
|
||||
JPanel panelCont = new JPanel();
|
||||
JPanel highscore = new JPanel();
|
||||
JPanel game = new JPanel();
|
||||
JPanel start = new JPanel();
|
||||
CardLayout cl = new CardLayout();
|
||||
Spielerverwaltung spielerverwaltung = new Spielerverwaltung();
|
||||
private JPanel panelCont = new JPanel();
|
||||
private JPanel highscore = new JPanel();
|
||||
private JPanel game = new JPanel();
|
||||
private JPanel start = new JPanel();
|
||||
private CardLayout cl = new CardLayout();
|
||||
private Spielerverwaltung spielerverwaltung = new Spielerverwaltung();
|
||||
private final JPanel panel = new JPanel();
|
||||
private final JPanel panel_1 = new JPanel();
|
||||
private JComboBox<String> comboBox = new JComboBox<String>();
|
||||
private JComboBox<String> spielername = new JComboBox<String>();
|
||||
private final JPanel panel_2 = new JPanel();
|
||||
private final JLabel lblNewLabel_1 = new JLabel("Entwickler: Sebastian, Moritz, Fabian, Aladin, Elmar");
|
||||
private final JPanel spielfeld = new JPanel();
|
||||
private final JPanel player_hand = new JPanel();
|
||||
private final JPanel gegner_hand = new JPanel();
|
||||
JLabel ziehstapel = new JLabel("");
|
||||
JPanel spielerkarten = new JPanel();
|
||||
JLabel labelsspieler[] = new JLabel[32];
|
||||
JLabel labelsgegner[] = new JLabel[32];
|
||||
private JLabel ziehstapel = new JLabel("");
|
||||
private JPanel spielerkarten = new JPanel();
|
||||
private JLabel labelsspieler[] = new JLabel[32];
|
||||
private JLabel labelsgegner[] = new JLabel[32];
|
||||
private Spiel aktuellesSpiel;
|
||||
private JLabel label_aktuellerSpieler;
|
||||
private Texturenpakete texturenpakete;
|
||||
@@ -57,18 +57,23 @@ public class Dashboard_GUI extends JPanel{
|
||||
private final JPanel info_panel = new JPanel();
|
||||
private final JPanel rechts = new JPanel();
|
||||
private final JPanel mitte = new JPanel();
|
||||
JLabel ablagestapel = new JLabel("");
|
||||
JButton aussetzen = new JButton("Aussetzen");
|
||||
JPanel mitte_unten = new JPanel();
|
||||
JPanel mitte_center = new JPanel();
|
||||
private JLabel ablagestapel = new JLabel("");
|
||||
private JButton aussetzen = new JButton("Aussetzen");
|
||||
private JPanel mitte_unten = new JPanel();
|
||||
private JPanel mitte_center = new JPanel();
|
||||
private JPanel mitte_oben = new JPanel();
|
||||
private JButton btnherz = new JButton("Herz");
|
||||
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");
|
||||
private final JScrollPane gegnerkartenpane = new JScrollPane();
|
||||
private final JPanel gegnerkarten = new JPanel();
|
||||
private JScrollPane gegnerkartenpane = new JScrollPane();
|
||||
private JPanel gegnerkarten = new JPanel();
|
||||
private JButton getname = new JButton("setzen");
|
||||
private JPanel panel_3 = new JPanel();
|
||||
private final JLabel level_beschreibung = new JLabel("Aktuelles Level:");
|
||||
private JLabel level_count = new JLabel("0");
|
||||
private final JLabel lblNewLabel_2 = new JLabel("");
|
||||
|
||||
//Moving Image
|
||||
|
||||
@@ -224,18 +229,48 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
mitte.add(mitte_oben, BorderLayout.NORTH);
|
||||
mitte_oben.setLayout(new BorderLayout(0, 0));
|
||||
start.setBackground(Color.WHITE);
|
||||
start.setForeground(Color.WHITE);
|
||||
panelCont.add(start, "3");
|
||||
start.setLayout(new BorderLayout(0, 0));
|
||||
panel.setBackground(Color.WHITE);
|
||||
panel.setPreferredSize(new Dimension(10, 30));
|
||||
|
||||
start.add(panel, BorderLayout.NORTH);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("Spielername:");
|
||||
panel.add(lblNewLabel);
|
||||
comboBox.setMinimumSize(new Dimension(60, 22));
|
||||
comboBox.setEditable(true);
|
||||
panel.add(comboBox);
|
||||
spielername.setMinimumSize(new Dimension(60, 22));
|
||||
spielername.setEditable(true);
|
||||
panel.add(spielername);
|
||||
panel.add(getname);
|
||||
getname.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
getspielername();
|
||||
}
|
||||
});
|
||||
panel_1.setBackground(Color.WHITE);
|
||||
start.add(panel_1, BorderLayout.CENTER);
|
||||
panel_1.setLayout(new BorderLayout(0, 0));
|
||||
panel_3.setBackground(Color.WHITE);
|
||||
panel_3.setPreferredSize(new Dimension(100, 50));
|
||||
|
||||
panel_1.add(panel_3, BorderLayout.NORTH);
|
||||
level_beschreibung.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
level_beschreibung.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
level_beschreibung.setFont(new Font("Tahoma", Font.PLAIN, 22));
|
||||
|
||||
panel_3.add(level_beschreibung);
|
||||
level_count.setFont(new Font("Tahoma", Font.PLAIN, 22));
|
||||
|
||||
panel_3.add(level_count);
|
||||
lblNewLabel_2.setBackground(Color.LIGHT_GRAY);
|
||||
lblNewLabel_2.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
lblNewLabel_2.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel_2.setIcon(new ImageIcon(Dashboard_GUI.class.getResource("/img/jaujau.gif")));
|
||||
|
||||
panel_1.add(lblNewLabel_2, BorderLayout.CENTER);
|
||||
|
||||
start.add(panel_2, BorderLayout.SOUTH);
|
||||
|
||||
@@ -254,6 +289,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
public void showgame(Spiel Spiel){
|
||||
//Neues Spiel wird übergeben
|
||||
aktuellesSpiel = Spiel;
|
||||
texturenpakete.pruefeLevel(spielerverwaltung.getLevel());
|
||||
System.out.println("DASHBOARD: Game darstellen");
|
||||
cl.show(panelCont, "2");
|
||||
showwunsch(false);
|
||||
@@ -283,16 +319,16 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
|
||||
|
||||
public void renderStart(){
|
||||
comboBox.removeAllItems();
|
||||
private void renderStart(){
|
||||
spielername.removeAllItems();
|
||||
for(int i = 0; i<spielerverwaltung.gethighscoreTabelle().length; i++) {
|
||||
comboBox.addItem(spielerverwaltung.gethighscoreTabelle()[i][0]);
|
||||
spielername.addItem(spielerverwaltung.gethighscoreTabelle()[i][0]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Highscore Tabelle
|
||||
public void renderHighscore() {
|
||||
private void renderHighscore() {
|
||||
|
||||
|
||||
|
||||
@@ -318,7 +354,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
|
||||
//Spielerhand GUI
|
||||
public void aktualisiereHand() {
|
||||
private void aktualisiereHand() {
|
||||
//Alle Elemente entfernen
|
||||
for(Component c : spielerkarten.getComponents()){
|
||||
spielerkarten.remove(c);
|
||||
@@ -357,7 +393,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
|
||||
//Gegnerhand GUI
|
||||
public void aktualisiereGegnerHand() {
|
||||
private void aktualisiereGegnerHand() {
|
||||
|
||||
//Alle Elemente entfernen
|
||||
for(Component c : gegnerkarten.getComponents()){
|
||||
@@ -385,7 +421,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
|
||||
//
|
||||
public void aktualisiereAblage(){
|
||||
private void aktualisiereAblage(){
|
||||
|
||||
//Sleep oder Wait Funktion zum Verlangsamen der Anzeige
|
||||
|
||||
@@ -394,7 +430,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
ablagestapel.repaint();
|
||||
}
|
||||
|
||||
public void aktualisiereSpieleranzeige() {
|
||||
private void aktualisiereSpieleranzeige() {
|
||||
if(aktuellesSpiel.getamZug() == Spieler.COMPUTER) {
|
||||
label_aktuellerSpieler.setText("Gegner");
|
||||
label_aktuellerSpieler.setForeground(Color.RED);
|
||||
@@ -411,7 +447,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
}
|
||||
|
||||
public void aktualisiereZiehen() {
|
||||
private void aktualisiereZiehen() {
|
||||
|
||||
for(Component c : rechts.getComponents()){
|
||||
rechts.remove(c);
|
||||
@@ -469,6 +505,12 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
}
|
||||
|
||||
private String getspielername(){
|
||||
System.out.println("DASHBOARD_GUI: " + spielername.getEditor().getItem());
|
||||
|
||||
return (String) (spielername.getEditor().getItem());
|
||||
}
|
||||
|
||||
public void gewonnen(Spieler spieler) {
|
||||
|
||||
if(spieler == SPIELER) {
|
||||
|
@@ -9,25 +9,26 @@ import java.awt.Dimension;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
import de.jaujau.spiellogik.Spiel;
|
||||
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import javax.swing.BoxLayout;
|
||||
import java.awt.Font;
|
||||
import java.awt.Toolkit;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Class GUI
|
||||
* Klasse GUI
|
||||
* @author Elmar Kresse
|
||||
* Diese Klasse gibt das JFrame und die Navigation und kann darüber die einzelnen Dashboard Tabs aufrufen und die Texturenauswahl und Hilfe anzeigen.
|
||||
*/
|
||||
public class GUI extends JFrame{
|
||||
|
||||
//
|
||||
// Fields
|
||||
// Variablen
|
||||
//
|
||||
private static final long serialVersionUID = 1L;
|
||||
private boolean menuehidden = false;
|
||||
@@ -35,19 +36,20 @@ public class GUI extends JFrame{
|
||||
private Spiel aktuellesSpiel;
|
||||
|
||||
//
|
||||
// Constructors
|
||||
// Konstruktor
|
||||
//
|
||||
public GUI (Texturenpakete texturenpakete, Spielerverwaltung speicherung) {
|
||||
setIconImage(Toolkit.getDefaultToolkit().getImage(GUI.class.getResource("/img/jaujau.png")));
|
||||
setMinimumSize(new Dimension(1000, 600));
|
||||
|
||||
|
||||
// jaujau.getAktuellesSpiel();
|
||||
//JFrame Variablen
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setTitle("JauJau");
|
||||
setPreferredSize(new Dimension(800, 500));
|
||||
setSize(1565, 916);
|
||||
getContentPane().setLayout(new BorderLayout(0, 0));
|
||||
|
||||
|
||||
JPanel Menue = new JPanel();
|
||||
Menue.setPreferredSize(new Dimension(270, 450));
|
||||
getContentPane().add(Menue, BorderLayout.WEST);
|
||||
@@ -113,26 +115,27 @@ public class GUI extends JFrame{
|
||||
gamelabel.setBounds(0, 91, 220, 29);
|
||||
menuhide.add(gamelabel);
|
||||
|
||||
JLabel texturenlabel = new JLabel("Texturen");
|
||||
|
||||
//Texturen Label
|
||||
JLabel texturenlabel = new JLabel("Texturen");
|
||||
texturenlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
texturenlabel.setForeground(Color.WHITE);
|
||||
texturenlabel.setFont(new Font("Tahoma", Font.PLAIN, 24));
|
||||
texturenlabel.setBounds(0, 131, 220, 29);
|
||||
menuhide.add(texturenlabel);
|
||||
|
||||
//Dashboard hinzufügen
|
||||
JPanel dashboard = new JPanel();
|
||||
dashboard.setBackground(new Color(73, 128, 242));
|
||||
getContentPane().add(dashboard, BorderLayout.CENTER);
|
||||
dashboard.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
Dashboard_GUI Dashboard_GUI = new Dashboard_GUI(aktuellesSpiel, texturenpakete);
|
||||
|
||||
//Spiel_GUI Spiel_GUI = new Spiel_GUI();
|
||||
dashboard.add(Dashboard_GUI, BorderLayout.CENTER);
|
||||
|
||||
//Event Listener
|
||||
//Event Listener für die Buttons / Label
|
||||
|
||||
|
||||
//Sidemenue Anzeigen Einklappen
|
||||
menuebtn.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
@@ -149,7 +152,7 @@ public class GUI extends JFrame{
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//Hilfe anzeigen/ausblenden
|
||||
help.addMouseListener(new MouseAdapter() {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if(frame.isShowing() == true) {
|
||||
@@ -161,11 +164,11 @@ public class GUI extends JFrame{
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//Spiel starten -- Label zum starten des Spiels
|
||||
gamelabel.addMouseListener(new MouseAdapter() {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel = new Spiel(Dashboard_GUI);
|
||||
System.out.println("GUI: Spiel GUI ge<EFBFBD>ffnet");
|
||||
System.out.println("GUI: Spiel GUI geöffnet");
|
||||
Dashboard_GUI.showgame(aktuellesSpiel);
|
||||
}
|
||||
});
|
||||
@@ -174,7 +177,7 @@ public class GUI extends JFrame{
|
||||
highscorelabel.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
System.out.println("GUI: Highscore ge<EFBFBD>ffnet");
|
||||
System.out.println("GUI: Highscore geöffnet");
|
||||
Dashboard_GUI.showhighscore();
|
||||
}
|
||||
});
|
||||
@@ -184,7 +187,7 @@ public class GUI extends JFrame{
|
||||
startlabel.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
System.out.println("GUI: Start ge<EFBFBD>ffnet");
|
||||
System.out.println("GUI: Start geöffnet");
|
||||
Dashboard_GUI.showstart();
|
||||
}
|
||||
});
|
||||
@@ -194,7 +197,8 @@ public class GUI extends JFrame{
|
||||
texturenlabel.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
texturenauswaehlen_GUI texturenauswahl = new texturenauswaehlen_GUI(texturenpakete);
|
||||
texturenauswaehlen_GUI texturenauswahl = new texturenauswaehlen_GUI(texturenpakete, speicherung);
|
||||
System.out.println("GUI: Start geöffnet");
|
||||
texturenauswahl.setVisible(true);
|
||||
}
|
||||
});
|
||||
|
@@ -13,13 +13,15 @@ import javax.swing.JTextArea;
|
||||
public class Hilfe_GUI extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
* Klasse Hilfe_GUI
|
||||
* @author Elmar Kresse
|
||||
* Diese Klasse erstelt ein Fenster für die Hilfe
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
|
||||
/**
|
||||
* Create the frame.
|
||||
* Erstelle das JFrame
|
||||
*/
|
||||
public Hilfe_GUI() {
|
||||
setAlwaysOnTop(true);
|
||||
|
@@ -1,126 +0,0 @@
|
||||
package de.jaujau.gui;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingConstants;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Image;
|
||||
import javax.swing.BoxLayout;
|
||||
import java.awt.Component;
|
||||
import javax.swing.ImageIcon;
|
||||
|
||||
|
||||
public class Navigation_GUI
|
||||
extends JPanel
|
||||
implements ActionListener {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel panel;
|
||||
|
||||
|
||||
// Konstruktor
|
||||
public Navigation_GUI() {
|
||||
|
||||
// Hiermit bekommst du Zugriff auf das <20>bergebene Objekt mainPanel
|
||||
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
||||
|
||||
panel = new JPanel();
|
||||
panel.setBackground(new Color(102, 153, 204));
|
||||
add(panel);
|
||||
panel.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
JPanel panel_side = new JPanel();
|
||||
panel_side.setBackground(new Color(100, 149, 237));
|
||||
panel_side.setPreferredSize(new Dimension(200, 400));
|
||||
panel.add(panel_side, BorderLayout.CENTER);
|
||||
panel_side.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
JPanel panel_buttons = new JPanel();
|
||||
panel_buttons.setBackground(new Color(0, 0, 128));
|
||||
panel_buttons.setPreferredSize(new Dimension(50, 200));
|
||||
panel_side.add(panel_buttons, BorderLayout.WEST);
|
||||
panel_buttons.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
JPanel panel = new JPanel();
|
||||
|
||||
panel.setBackground(new Color(0, 0, 153));
|
||||
panel.setPreferredSize(new Dimension(50, 50));
|
||||
panel_buttons.add(panel, BorderLayout.NORTH);
|
||||
panel.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setPreferredSize(new Dimension(50, 50));
|
||||
lblNewLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
|
||||
lblNewLabel.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
ImageIcon imageIcon = new ImageIcon(new ImageIcon("C:\\Users\\Elmar\\Pictures\\exit.png").getImage().getScaledInstance(40, 40, Image.SCALE_DEFAULT));
|
||||
lblNewLabel.setIcon(imageIcon);
|
||||
panel.add(lblNewLabel, BorderLayout.CENTER);
|
||||
|
||||
JPanel panel_1 = new JPanel();
|
||||
panel_side.add(panel_1, BorderLayout.CENTER);
|
||||
|
||||
JPanel panel_2 = new JPanel();
|
||||
panel_2.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
}
|
||||
});
|
||||
panel_2.setBackground(new Color(0, 102, 204));
|
||||
|
||||
JLabel lblNewLabel_1 = new JLabel("Start");
|
||||
lblNewLabel_1.setBackground(new Color(0, 102, 204));
|
||||
lblNewLabel_1.setForeground(Color.WHITE);
|
||||
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
||||
panel_2.add(lblNewLabel_1);
|
||||
|
||||
JLabel label = new JLabel("");
|
||||
|
||||
JPanel panel_3 = new JPanel();
|
||||
panel_3.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
}
|
||||
});
|
||||
panel_3.setBackground(new Color(0, 102, 204));
|
||||
|
||||
JLabel lblNewLabel_2 = new JLabel("Highscore");
|
||||
lblNewLabel_2.setForeground(new Color(255, 255, 255));
|
||||
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
||||
panel_3.add(lblNewLabel_2);
|
||||
panel_1.setLayout(new GridLayout(0, 1, 0, 0));
|
||||
panel_1.add(panel_2);
|
||||
|
||||
JLabel label_1 = new JLabel("");
|
||||
panel_1.add(label_1);
|
||||
|
||||
JLabel label_2 = new JLabel("");
|
||||
panel_1.add(label_2);
|
||||
panel_1.add(label);
|
||||
panel_1.add(panel_3);
|
||||
|
||||
|
||||
//Schlie<69>e Button Panel
|
||||
panel.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
panel_1.setVisible(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// In dieser Methode <20>nderst du das anzuzeigende Panel
|
||||
// <20>ber die showPanel-Methode in mainPanel
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
}
|
||||
}
|
@@ -1,10 +1,9 @@
|
||||
package de.jaujau.gui;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
@@ -14,33 +13,46 @@ import javax.swing.JPanel;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JFileChooser;
|
||||
|
||||
/**
|
||||
* Klasse texturenauswaehlen_GUI
|
||||
* @author Sebastian Kacza
|
||||
* Diese Klasse erstelt ein Fenster für die Texturenpaket auswahl
|
||||
*/
|
||||
public class texturenauswaehlen_GUI extends JFrame{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
private Texturenpakete pakete;
|
||||
private JComboBox comboBox;
|
||||
private JComboBox<String> comboBox;
|
||||
private JLabel vorschaubild;
|
||||
private JButton speichern, hinzufuegen, schliessen;
|
||||
private Spielerverwaltung spielerverwaltung;
|
||||
|
||||
public texturenauswaehlen_GUI (Texturenpakete texturenpakete) {
|
||||
|
||||
/**
|
||||
* Konstruktor fpr das Fenster
|
||||
* @param texturenpakete
|
||||
*/
|
||||
public texturenauswaehlen_GUI (Texturenpakete texturenpakete, Spielerverwaltung spieler) {
|
||||
pakete = texturenpakete;
|
||||
erstelleFenster();
|
||||
aktualisiereInhalt();
|
||||
spielerverwaltung = spieler;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Erstelt alle komponenten des Fensters
|
||||
*/
|
||||
private void erstelleFenster() {
|
||||
//Fenster größen fetslegen
|
||||
setAlwaysOnTop(true);
|
||||
setBounds(100, 100, 588, 558);
|
||||
setBounds(100, 100, 391, 361);
|
||||
contentPane = new JPanel();
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
setContentPane(contentPane);
|
||||
@@ -49,45 +61,50 @@ public class texturenauswaehlen_GUI extends JFrame{
|
||||
|
||||
//Vorschaubild
|
||||
vorschaubild = new JLabel();
|
||||
vorschaubild.setBounds(117, 111, 167, 214);
|
||||
vorschaubild.setBounds(32, 79, 167, 214);
|
||||
contentPane.add(vorschaubild);
|
||||
|
||||
//Text "Texturenauswahl"
|
||||
JLabel lblNewLabel = new JLabel("Texturenauswahl");
|
||||
lblNewLabel.setBounds(5, 5, 562, 25);
|
||||
lblNewLabel.setBounds(34, 11, 304, 25);
|
||||
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
contentPane.add(lblNewLabel);
|
||||
|
||||
//Teste Hinzufügen
|
||||
hinzufuegen = new JButton("Hinzuf\u00FCgen");
|
||||
hinzufuegen.setBounds(309, 125, 137, 23);
|
||||
hinzufuegen.setBounds(209, 82, 137, 23);
|
||||
hinzufuegen.addActionListener(e-> paketHinzufuegeb());
|
||||
contentPane.add(hinzufuegen);
|
||||
|
||||
|
||||
//Teste Speichern
|
||||
speichern = new JButton("Speichern");
|
||||
speichern.setBounds(306, 231, 140, 23);
|
||||
speichern.setBounds(209, 180, 140, 23);
|
||||
speichern.addActionListener(e-> speichern());
|
||||
contentPane.add(speichern);
|
||||
|
||||
|
||||
//Teste Schießen
|
||||
schliessen = new JButton("Schlie\u00DFen");
|
||||
schliessen.setBounds(306, 177, 140, 23);
|
||||
schliessen.setBounds(209, 130, 140, 23);
|
||||
schliessen.addActionListener(e-> schliessen());
|
||||
contentPane.add(schliessen);
|
||||
|
||||
|
||||
//Auswahl Box
|
||||
comboBox = new JComboBox();
|
||||
comboBox.setBounds(117, 69, 351, 25);
|
||||
comboBox = new JComboBox<String>();
|
||||
comboBox.setBounds(10, 37, 351, 25);
|
||||
contentPane.add(comboBox);
|
||||
|
||||
aktualisiereInhalt();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Öffent einen auswahl dialog zu Öfnnen einer Datei
|
||||
* Bei klick auf OK wird das Paket hinzugefügt
|
||||
*/
|
||||
private void paketHinzufuegeb() {
|
||||
//Quelle: https://www.java-tutorial.org/jfilechooser.html
|
||||
|
||||
@@ -101,31 +118,48 @@ public class texturenauswaehlen_GUI extends JFrame{
|
||||
pakete.addPaket(chooser.getSelectedFile().toString());
|
||||
aktualisiereInhalt();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Schießt das Auswahlfenster
|
||||
*/
|
||||
private void schliessen() {
|
||||
this.setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert die Auswahl des akutellen Paketes
|
||||
*/
|
||||
private void speichern() {
|
||||
// Austauschen sobalt Spielerverwaltung fertig
|
||||
// if(spieler.getLevel() >= pakete.getLevel(comboBox.getSelectedIndex())) {
|
||||
// pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||
// aktualisiereBild();
|
||||
//
|
||||
// }
|
||||
pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||
aktualisiereBild();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Aktualisiert die Inhalte der ComboBox
|
||||
*/
|
||||
private void aktualisiereInhalt() {
|
||||
comboBox.removeAllItems();
|
||||
for(int i = 0; i < pakete.getAnzahlPakete(); i++) {
|
||||
comboBox.addItem(pakete.getName(i));
|
||||
comboBox.addItem(pakete.getName(i) + " [Level " + pakete.getLevel(i) + "]");
|
||||
}
|
||||
comboBox.setSelectedIndex(pakete.getAktivesPaket());
|
||||
aktualisiereBild();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Aktualisiert das Vorschaubild
|
||||
*/
|
||||
private void aktualisiereBild() {
|
||||
vorschaubild.setIcon(new ImageIcon(pakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH)));
|
||||
}
|
||||
|
@@ -7,6 +7,8 @@
|
||||
*/
|
||||
package de.jaujau.spiellogik;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
import de.jaujau.gui.GUI;
|
||||
|
@@ -30,6 +30,7 @@ public class Computer_gegner {
|
||||
private Kartensatz kartensatz;
|
||||
private boolean siebenInHand;
|
||||
private boolean achtInHand;
|
||||
private boolean debug = false;
|
||||
//
|
||||
// Constructors
|
||||
//
|
||||
@@ -103,7 +104,9 @@ public class Computer_gegner {
|
||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||
if((farbeHK == letztekartefarbe && wertHK == Wert.ACHT) || (wertHK == letztekartewert && wertHK == Wert.ACHT)) {
|
||||
System.out.println("COMPUTER: Ausnahme 1");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Ausnahme 1");
|
||||
}
|
||||
return hand.get(i);
|
||||
}
|
||||
}
|
||||
@@ -116,7 +119,9 @@ public class Computer_gegner {
|
||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||
if((farbeHK == letztekartefarbe && wertHK == Wert.SIEBEN) || (wertHK == letztekartewert && wertHK == Wert.SIEBEN)) {
|
||||
System.out.println("COMPUTER: Ausnahme 2");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Ausnahme 2");
|
||||
}
|
||||
return hand.get(i);
|
||||
}
|
||||
}
|
||||
@@ -128,39 +133,53 @@ public class Computer_gegner {
|
||||
//W<>hlt aus, welche Karte gelegt wird
|
||||
if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen
|
||||
rueckgabeindex = wertLegen(letztekartewert);
|
||||
System.out.println("COMPUTER: Fall 1");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 1");
|
||||
}
|
||||
}
|
||||
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);
|
||||
System.out.println("COMPUTER: Fall 2");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 2");
|
||||
}
|
||||
}
|
||||
else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen
|
||||
rueckgabeindex = wertLegen(letztekartewert);
|
||||
System.out.println("COMPUTER: Fall 3");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 3");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer die Wert auf der Hand, versucht er diese zu legen
|
||||
rueckgabeindex = wertLegen(letztekartewert);
|
||||
System.out.println("COMPUTER: Fall 4");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 4");
|
||||
}
|
||||
}
|
||||
else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer nicht den passenden Wert, aber eine passende Farbe, legt er diese
|
||||
rueckgabeindex = farbeLegen(letztekartefarbe);
|
||||
System.out.println("COMPUTER: Fall 5");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 5");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
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);
|
||||
System.out.println("COMPUTER: Fall 6");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 6");
|
||||
}
|
||||
}
|
||||
else if(aussetzen && !wertInHand) { //Muss der Computer aussetzen und kann nicht reagieren, gibt er eine -2 zur<75>ck
|
||||
rueckgabeindex = -2;
|
||||
System.out.println("COMPUTER: Fall 7");
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 7");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -29,6 +29,7 @@ public class Spiel {
|
||||
private int kartenZiehen;
|
||||
private Dashboard_GUI dashboard;
|
||||
private boolean spielGewonnen;
|
||||
private boolean debug = false;
|
||||
|
||||
public Spiel(Dashboard_GUI dashboard_gui) {
|
||||
audio = new Audio();
|
||||
@@ -65,41 +66,41 @@ public class Spiel {
|
||||
* @param dashboard
|
||||
*/
|
||||
public void spiel(Dashboard_GUI dashboard) {
|
||||
System.out.println("\nSPIEL Spiel gestartet.");
|
||||
if(debug) System.out.println("\nSPIEL Spiel gestartet.");
|
||||
Random zufallszahl = new Random();
|
||||
int zahl = zufallszahl.nextInt(2);
|
||||
if(zahl == 1) { //Starter durch zufall bestimmen
|
||||
amZug = Spieler.SPIELER;
|
||||
System.out.println("SPIEL Spieler startet");
|
||||
if(debug) System.out.println("SPIEL Spieler startet");
|
||||
}
|
||||
else {
|
||||
amZug = Spieler.COMPUTER;
|
||||
System.out.println("SPIEL Computer startet");
|
||||
if(debug) System.out.println("SPIEL Computer startet");
|
||||
}
|
||||
for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten
|
||||
kartensatz.ziehen(Spieler.COMPUTER);
|
||||
kartensatz.ziehen(Spieler.SPIELER);
|
||||
}
|
||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||
effekteSetzen();
|
||||
if(amZug == Spieler.COMPUTER) {
|
||||
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
|
||||
if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt
|
||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
||||
System.out.println("\nSPIEL Computerauswahl: " + computerZug);
|
||||
if(debug) System.out.println("\nSPIEL Computerauswahl: " + computerZug);
|
||||
switch(computerZug) {
|
||||
case -2:
|
||||
case -2: //aussetzen
|
||||
aussetzen = false;
|
||||
alternieren(dashboard);
|
||||
break;
|
||||
case -1:
|
||||
case -1: //Karte ziehen
|
||||
karteZiehen();
|
||||
break;
|
||||
default:
|
||||
default: //Karte legen
|
||||
karteLegen(computerZug);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(amZug == Spieler.SPIELER) {
|
||||
else if(amZug == Spieler.SPIELER) {//falls der Spieler startet wird noch der Aussetzen-Button eingeblendet
|
||||
if(aussetzen) dashboard.showaussetzen(true);
|
||||
}
|
||||
return;
|
||||
@@ -107,17 +108,17 @@ public class Spiel {
|
||||
|
||||
|
||||
/**
|
||||
* Organisiert den Spielablauf nach jedem g<>ltigen Zug
|
||||
* Organisiert den Spielablauf nach jedem g<>ltigen Zug, wechselt zwischen Spieler und Computer
|
||||
* @param dashboard
|
||||
*/
|
||||
private void alternieren(Dashboard_GUI dashboard) {
|
||||
if(spielGewonnen) return;
|
||||
if(amZug == Spieler.SPIELER) {
|
||||
if(amZug == Spieler.SPIELER) { //CPU Zug findet statt
|
||||
amZug = Spieler.COMPUTER;
|
||||
dashboard.aktualisiereGUI();
|
||||
System.out.println("\nSPIEL Computer am Zug");
|
||||
if(debug) System.out.println("\nSPIEL Computer am Zug");
|
||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
||||
System.out.println("SPIEL Computerauswahl: " + computerZug);
|
||||
if(debug) System.out.println("SPIEL Computerauswahl: " + computerZug);
|
||||
switch(computerZug) {
|
||||
case -2:
|
||||
aussetzen = false;
|
||||
@@ -132,12 +133,12 @@ public class Spiel {
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
else { //Spieler Zug findet statt
|
||||
amZug = Spieler.SPIELER;
|
||||
dashboard.aktualisiereGUI();
|
||||
System.out.println("\nSPIEL Spieler am Zug");
|
||||
if(aussetzen) {
|
||||
System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||
if(debug) System.out.println("\nSPIEL Spieler am Zug");
|
||||
if(aussetzen) { //falls aussetzen aktiv, wird die M<>glichkeit <20>ber den Button aktiviert
|
||||
if(debug) System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||
dashboard.showaussetzen(true);
|
||||
dashboard.aktualisiereGUI();
|
||||
}
|
||||
@@ -150,14 +151,14 @@ public class Spiel {
|
||||
* @param spieler Spieler, welcher gewonnen hat
|
||||
*/
|
||||
private void gewinn(Spieler spieler) {
|
||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||
if(debug) System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||
dashboard.gewonnen(spieler);
|
||||
spielGewonnen = true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Bietet die M<>glichkeit auszusetzen
|
||||
* Bietet f<EFBFBD>r den Spieler die M<>glichkeit auszusetzen
|
||||
*/
|
||||
public void aussetzen() {
|
||||
if(spielGewonnen) return;
|
||||
@@ -166,35 +167,35 @@ public class Spiel {
|
||||
}
|
||||
|
||||
/**
|
||||
* falls eine Karte gelegt werden kann, wird diese 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;
|
||||
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
||||
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden
|
||||
System.out.println("SPIEL pruefeZug positiv");
|
||||
System.out.println("SPIEL Lege Karte " + kartenindex);
|
||||
kartensatz.ablegen(kartenindex);
|
||||
if(debug) System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
||||
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>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
|
||||
if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte
|
||||
audio.spieleJau();
|
||||
}
|
||||
if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen
|
||||
audio.spieleJauJau();
|
||||
gewinn(amZug);
|
||||
gewinn(amZug); //amZug hat gewonnen
|
||||
return;
|
||||
}
|
||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||
effekteSetzen();
|
||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen
|
||||
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 neu setzen
|
||||
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
|
||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<>nscher wurde gelegt Spieler
|
||||
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
||||
}
|
||||
else {
|
||||
alternieren(dashboard);
|
||||
alternieren(dashboard); //weiter ohne Sonderfall
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -207,31 +208,31 @@ public class Spiel {
|
||||
if(spielGewonnen) return;
|
||||
if(!aussetzen) {
|
||||
if(zwei_ziehen) { //mehrere ziehen
|
||||
System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
|
||||
if(debug) System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
|
||||
for(int i = 0; i < kartenZiehen; i++) {
|
||||
kartensatz.ziehen(amZug);
|
||||
}
|
||||
kartenZiehen = 0;
|
||||
zwei_ziehen = false;
|
||||
}
|
||||
else { //Normales ziehen
|
||||
else { //Normales (1) ziehen
|
||||
kartensatz.ziehen(amZug);
|
||||
System.out.println("\nSPIEL 1 Karte gezogen");
|
||||
if(debug) System.out.println("\nSPIEL 1 Karte gezogen");
|
||||
}
|
||||
alternieren(dashboard);
|
||||
}
|
||||
else { //ziehen nicht m<>glich
|
||||
else { //ziehen nicht m<>glich - nichts passiert
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Setzt die W<EFBFBD>nscher Farbe
|
||||
* Setzt die Wunschfarbe f<>r den Spieler
|
||||
* @param farbe
|
||||
*/
|
||||
public void wuenscher(Farbe farbe) {
|
||||
System.out.println("\nSPIEL W<>nsche Farbe");
|
||||
if(debug) System.out.println("\nSPIEL W<>nsche Farbe");
|
||||
kartensatz.SetWunschfarbe(farbe);
|
||||
alternieren(dashboard);
|
||||
dashboard.aktualisiereGUI();
|
||||
@@ -239,26 +240,26 @@ public class Spiel {
|
||||
|
||||
|
||||
/**
|
||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
|
||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher vom Spieler, ruft Farbauswahl f<>r Spieler-W<>nscher auf
|
||||
*/
|
||||
private void effekteSetzen() {
|
||||
if(spielGewonnen) return;
|
||||
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||
if(gelegterWert == Wert.ACHT) {
|
||||
if(gelegterWert == Wert.ACHT) {//Aussetzen
|
||||
aussetzen = true;
|
||||
}
|
||||
if(gelegterWert == Wert.SIEBEN) {
|
||||
if(gelegterWert == Wert.SIEBEN) {//Ziehen
|
||||
zwei_ziehen = true;
|
||||
kartenZiehen += 2;
|
||||
}
|
||||
if(gelegterWert == Wert.BUBE) {
|
||||
if(amZug == Spieler.COMPUTER) {
|
||||
if(gelegterWert == Wert.BUBE) {//W<>nscher
|
||||
if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt
|
||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||
}
|
||||
else {
|
||||
else { //Wunschfarbe durch Spieler setzen
|
||||
dashboard.showwunsch(true);
|
||||
}
|
||||
}
|
||||
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
||||
if(debug) System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
||||
}
|
||||
}
|
||||
|
@@ -21,8 +21,9 @@ public class Spielzug {
|
||||
//
|
||||
|
||||
private Kartensatz kartensatz;
|
||||
private boolean debug = true;
|
||||
|
||||
//
|
||||
//
|
||||
// Constructors
|
||||
//
|
||||
public Spielzug (Kartensatz karten) {
|
||||
@@ -46,28 +47,40 @@ public class Spielzug {
|
||||
Wert kartenwert = kartensatz.getKarte(kartenindex).getWERT();
|
||||
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
||||
System.out.println("SPIELZUG: Versucht Karte f<>r Funktion: " + kartenindex);
|
||||
System.out.println("SPIELZUG: Letzte Karte f<>r Funktion: " + letztekartewert + " " + letztekartefarbe);
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Versucht Karte f<>r Funktion: " + kartenindex);
|
||||
System.out.println("SPIELZUG: Letzte Karte f<>r Funktion: " + letztekartewert + " " + letztekartefarbe);
|
||||
}
|
||||
|
||||
if(aussetzen && kartenwert == Wert.ACHT) {
|
||||
System.out.println("SPIELZUG: Bedingung 1");
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Bedingung 1");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if(aussetzen && !(kartenwert == Wert.ACHT)) {
|
||||
System.out.println("SPIELZUG: Bedingung 2");
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Bedingung 2");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else if (ziehen && kartenwert == Wert.SIEBEN) {
|
||||
System.out.println("SPIELZUG: Bedingung 3");
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Bedingung 3");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (!aussetzen && !ziehen && ((kartenwert == letztekartewert || kartenfarbe == letztekartefarbe) || kartenwert == Wert.BUBE)) {
|
||||
System.out.println("SPIELZUG: Bedingung 4");
|
||||
System.out.println("SPIELZUG: Aussetzen: " + aussetzen + " ziehen:" + ziehen);
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Bedingung 4");
|
||||
System.out.println("SPIELZUG: Aussetzen: " + aussetzen + " ziehen:" + ziehen);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
System.out.println("SPIELZUG: Bedingung 5");
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Bedingung 5");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -90,48 +103,4 @@ public class Spielzug {
|
||||
}
|
||||
return gefunden;
|
||||
}
|
||||
////
|
||||
|
||||
|
||||
//
|
||||
// Methods
|
||||
//
|
||||
|
||||
|
||||
//
|
||||
// Accessor methods
|
||||
//
|
||||
|
||||
//
|
||||
// Other methods
|
||||
//
|
||||
|
||||
/**
|
||||
* @param spieler
|
||||
* @param kartensatz
|
||||
*/
|
||||
public static void legen(Spielerdaten spieler, Kartensatz kartensatz)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param spieler
|
||||
* @param kartensatz
|
||||
*/
|
||||
public static void aussetzen(Spielerdaten spieler, Kartensatz kartensatz)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param spieler
|
||||
* @param kartensatz
|
||||
* @param anzahl
|
||||
*/
|
||||
public static void ziehen(Spielerdaten spieler, Kartensatz kartensatz, int anzahl)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
BIN
src/img/jaujau.gif
Normal file
BIN
src/img/jaujau.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
src/img/jaujau.png
Normal file
BIN
src/img/jaujau.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.0 KiB |
Reference in New Issue
Block a user