From 1f6195fcfd71113fc5bbb5ae1b4744524fa5b480 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Fri, 27 Nov 2020 15:50:08 +0100 Subject: [PATCH 01/33] =?UTF-8?q?fkeller.java=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jaujau/fkeller.java | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 src/jaujau/fkeller.java diff --git a/src/jaujau/fkeller.java b/src/jaujau/fkeller.java deleted file mode 100644 index 3ad13fd..0000000 --- a/src/jaujau/fkeller.java +++ /dev/null @@ -1,5 +0,0 @@ -package jaujau; - -public class fkeller { -//lalala -} From c47af80c8c321e32832fac3e9bd011e9c47b6ec7 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Mon, 30 Nov 2020 15:25:32 +0100 Subject: [PATCH 02/33] =?UTF-8?q?Imports=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/daten/Karte.java | 2 -- src/de/jaujau/daten/Kartensatz.java | 2 -- src/de/jaujau/daten/Texturenpakete.java | 2 -- 3 files changed, 6 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 5498278..0c6fafd 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -1,7 +1,5 @@ package de.jaujau.daten; -import java.util.*; - /** * Class Karte diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 7bc5284..47d4ed1 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -1,7 +1,5 @@ package de.jaujau.daten; -import java.util.*; - /** * Class Kartensatz diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java index b53a81d..c8a3c6d 100644 --- a/src/de/jaujau/daten/Texturenpakete.java +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -1,7 +1,5 @@ package de.jaujau.daten; -import java.util.*; - /** * Class Texturenpakete From 0e2eea3b4d969e3c35d152da1e38b2d596cbb990 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Mon, 30 Nov 2020 15:55:03 +0100 Subject: [PATCH 03/33] - Enum angelegt - Klasse Spieler in Spielerdaten umbenant --- src/de/jaujau/daten/Ablageort.java | 5 ++ src/de/jaujau/daten/Farbe.java | 5 ++ src/de/jaujau/daten/Spieler.java | 5 ++ src/de/jaujau/daten/Wert.java | 5 ++ src/de/jaujau/spiellogik/Spieler.java | 76 ---------------------- src/de/jaujau/spiellogik/Spielerdaten.java | 14 ++++ src/de/jaujau/spiellogik/Spielzug.java | 6 +- 7 files changed, 37 insertions(+), 79 deletions(-) create mode 100755 src/de/jaujau/daten/Ablageort.java create mode 100755 src/de/jaujau/daten/Farbe.java create mode 100755 src/de/jaujau/daten/Spieler.java create mode 100755 src/de/jaujau/daten/Wert.java delete mode 100644 src/de/jaujau/spiellogik/Spieler.java create mode 100644 src/de/jaujau/spiellogik/Spielerdaten.java diff --git a/src/de/jaujau/daten/Ablageort.java b/src/de/jaujau/daten/Ablageort.java new file mode 100755 index 0000000..847d8b3 --- /dev/null +++ b/src/de/jaujau/daten/Ablageort.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Ablageort { + +} diff --git a/src/de/jaujau/daten/Farbe.java b/src/de/jaujau/daten/Farbe.java new file mode 100755 index 0000000..deaaa5f --- /dev/null +++ b/src/de/jaujau/daten/Farbe.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Farbe { + +} diff --git a/src/de/jaujau/daten/Spieler.java b/src/de/jaujau/daten/Spieler.java new file mode 100755 index 0000000..385df47 --- /dev/null +++ b/src/de/jaujau/daten/Spieler.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Spieler { + +} diff --git a/src/de/jaujau/daten/Wert.java b/src/de/jaujau/daten/Wert.java new file mode 100755 index 0000000..c373352 --- /dev/null +++ b/src/de/jaujau/daten/Wert.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Wert { + +} diff --git a/src/de/jaujau/spiellogik/Spieler.java b/src/de/jaujau/spiellogik/Spieler.java deleted file mode 100644 index d46a724..0000000 --- a/src/de/jaujau/spiellogik/Spieler.java +++ /dev/null @@ -1,76 +0,0 @@ -package de.jaujau.spiellogik; - -import java.util.*; - - -/** - * Class Spieler - */ -public class Spieler { - - // - // Fields - // - - private unsigned int punktestand; - private String NAME; - - // - // Constructors - // - public Spieler () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - /** - * Set the value of punktestand - * @param newVar the new value of punktestand - */ - public void setPunktestand (unsigned int newVar) { - punktestand = newVar; - } - - /** - * Get the value of punktestand - * @return the value of punktestand - */ - public unsigned int getPunktestand () { - return punktestand; - } - - /** - * Set the value of NAME - * @param newVar the new value of NAME - */ - public void setNAME (String newVar) { - NAME = newVar; - } - - /** - * Get the value of NAME - * @return the value of NAME - */ - public String getNAME () { - return NAME; - } - - // - // Other methods - // - - /** - * @param punkte - */ - public void erhoehePunktestand(unsigned int punkte) - { - } - - -} diff --git a/src/de/jaujau/spiellogik/Spielerdaten.java b/src/de/jaujau/spiellogik/Spielerdaten.java new file mode 100644 index 0000000..7f18c83 --- /dev/null +++ b/src/de/jaujau/spiellogik/Spielerdaten.java @@ -0,0 +1,14 @@ +package de.jaujau.spiellogik; + +import java.util.*; + + +/** + * Class Spieler + */ +public class Spielerdaten { + + + + +} diff --git a/src/de/jaujau/spiellogik/Spielzug.java b/src/de/jaujau/spiellogik/Spielzug.java index 0f429b2..565777b 100644 --- a/src/de/jaujau/spiellogik/Spielzug.java +++ b/src/de/jaujau/spiellogik/Spielzug.java @@ -37,7 +37,7 @@ public class Spielzug { * @param spieler * @param kartensatz */ - public static void legen(Spieler spieler, Kartensatz kartensatz) + public static void legen(Spielerdaten spieler, Kartensatz kartensatz) { } @@ -46,7 +46,7 @@ public class Spielzug { * @param spieler * @param kartensatz */ - public static void aussetzen(Spieler spieler, Kartensatz kartensatz) + public static void aussetzen(Spielerdaten spieler, Kartensatz kartensatz) { } @@ -56,7 +56,7 @@ public class Spielzug { * @param kartensatz * @param anzahl */ - public static void ziehen(Spieler spieler, Kartensatz kartensatz, int anzahl) + public static void ziehen(Spielerdaten spieler, Kartensatz kartensatz, int anzahl) { } From c2554ff3cdd872a498903a74834afa600f54e891 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Mon, 30 Nov 2020 16:00:53 +0100 Subject: [PATCH 04/33] =?UTF-8?q?-=20Enum=C2=B4s=20Werte=20zugewiesen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/daten/Ablageort.java | 2 +- src/de/jaujau/daten/Farbe.java | 2 +- src/de/jaujau/daten/Spieler.java | 2 +- src/de/jaujau/daten/Wert.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/de/jaujau/daten/Ablageort.java b/src/de/jaujau/daten/Ablageort.java index 847d8b3..e5fe09e 100755 --- a/src/de/jaujau/daten/Ablageort.java +++ b/src/de/jaujau/daten/Ablageort.java @@ -1,5 +1,5 @@ package de.jaujau.daten; public enum Ablageort { - + SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL } diff --git a/src/de/jaujau/daten/Farbe.java b/src/de/jaujau/daten/Farbe.java index deaaa5f..d6f8702 100755 --- a/src/de/jaujau/daten/Farbe.java +++ b/src/de/jaujau/daten/Farbe.java @@ -1,5 +1,5 @@ package de.jaujau.daten; public enum Farbe { - + PIK, KREUZ, HERZ, KARO } diff --git a/src/de/jaujau/daten/Spieler.java b/src/de/jaujau/daten/Spieler.java index 385df47..faaea4d 100755 --- a/src/de/jaujau/daten/Spieler.java +++ b/src/de/jaujau/daten/Spieler.java @@ -1,5 +1,5 @@ package de.jaujau.daten; public enum Spieler { - + SPIELER, COMPUTER } diff --git a/src/de/jaujau/daten/Wert.java b/src/de/jaujau/daten/Wert.java index c373352..41b1a47 100755 --- a/src/de/jaujau/daten/Wert.java +++ b/src/de/jaujau/daten/Wert.java @@ -1,5 +1,5 @@ package de.jaujau.daten; public enum Wert { - + SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS } From 44802531f96e902f09807537e086ecd421167abf Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Mon, 30 Nov 2020 16:25:11 +0100 Subject: [PATCH 05/33] =?UTF-8?q?-=20Spielerdaten=20in=20Richtiges=20Paket?= =?UTF-8?q?=20verschoben=20-=20Inhalt=20von=20Spiel=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{spiellogik => daten}/Spielerdaten.java | 2 +- src/de/jaujau/spiellogik/Spiel.java | 113 ------------------ src/de/jaujau/spiellogik/Spielzug.java | 1 + 3 files changed, 2 insertions(+), 114 deletions(-) rename src/de/jaujau/{spiellogik => daten}/Spielerdaten.java (73%) diff --git a/src/de/jaujau/spiellogik/Spielerdaten.java b/src/de/jaujau/daten/Spielerdaten.java similarity index 73% rename from src/de/jaujau/spiellogik/Spielerdaten.java rename to src/de/jaujau/daten/Spielerdaten.java index 7f18c83..f75bc68 100644 --- a/src/de/jaujau/spiellogik/Spielerdaten.java +++ b/src/de/jaujau/daten/Spielerdaten.java @@ -1,4 +1,4 @@ -package de.jaujau.spiellogik; +package de.jaujau.daten; import java.util.*; diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 72e6818..98db592 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -10,120 +10,7 @@ import de.jaujau.daten.Kartensatz; */ public class Spiel { - // - // Fields - // - private spieler spieler; - private spieler amZug; - private boolean aussetzen; - private boolean zwei_ziehen; - private Kartensatz kartensatz; - - // - // Constructors - // - public Spiel () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - /** - * Set the value of spieler - * @param newVar the new value of spieler - */ - public void setSpieler (spieler newVar) { - spieler = newVar; - } - - /** - * Get the value of spieler - * @return the value of spieler - */ - public spieler getSpieler () { - return spieler; - } - - /** - * Set the value of amZug - * @param newVar the new value of amZug - */ - public void setAmZug (spieler newVar) { - amZug = newVar; - } - - /** - * Get the value of amZug - * @return the value of amZug - */ - public spieler getAmZug () { - return amZug; - } - - /** - * Set the value of aussetzen - * @param newVar the new value of aussetzen - */ - public void setAussetzen (boolean newVar) { - aussetzen = newVar; - } - - /** - * Get the value of aussetzen - * @return the value of aussetzen - */ - public boolean getAussetzen () { - return aussetzen; - } - - /** - * Set the value of zwei_ziehen - * @param newVar the new value of zwei_ziehen - */ - public void setZwei_ziehen (boolean newVar) { - zwei_ziehen = newVar; - } - - /** - * Get the value of zwei_ziehen - * @return the value of zwei_ziehen - */ - public boolean getZwei_ziehen () { - return zwei_ziehen; - } - - /** - * Set the value of kartensatz - * @param newVar the new value of kartensatz - */ - public void setKartensatz (Kartensatz newVar) { - kartensatz = newVar; - } - - /** - * Get the value of kartensatz - * @return the value of kartensatz - */ - public Kartensatz getKartensatz () { - return kartensatz; - } - - // - // Other methods - // - - /** - * @param name - */ - private void zug(spieler name) - { - } } diff --git a/src/de/jaujau/spiellogik/Spielzug.java b/src/de/jaujau/spiellogik/Spielzug.java index 565777b..6e4f107 100644 --- a/src/de/jaujau/spiellogik/Spielzug.java +++ b/src/de/jaujau/spiellogik/Spielzug.java @@ -3,6 +3,7 @@ package de.jaujau.spiellogik; import java.util.*; import de.jaujau.daten.Kartensatz; +import de.jaujau.daten.Spielerdaten; /** From daf48307f4fbba96e2e658547e776af24c2b532c Mon Sep 17 00:00:00 2001 From: ekresse Date: Mon, 30 Nov 2020 16:46:59 +0100 Subject: [PATCH 06/33] GUI Updates --- src/de/jaujau/daten/Spielerverwaltung.java | 6 +- src/de/jaujau/gui/Menue_GUI.java | 123 +++++++++++++++++++++ src/de/jaujau/gui/Menü_GUI.java | 34 ------ 3 files changed, 126 insertions(+), 37 deletions(-) create mode 100644 src/de/jaujau/gui/Menue_GUI.java delete mode 100644 src/de/jaujau/gui/Menü_GUI.java diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java index 8c7a4d8..b73d583 100644 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -12,7 +12,7 @@ public class Spielerverwaltung { // Fields // - private unsigned int level; + private int level; /** * arraylist von Spieler */ @@ -36,7 +36,7 @@ public class Spielerverwaltung { * Set the value of level * @param newVar the new value of level */ - public void setLevel (unsigned int newVar) { + public void setLevel (int newVar) { level = newVar; } @@ -44,7 +44,7 @@ public class Spielerverwaltung { * Get the value of level * @return the value of level */ - public unsigned int getLevel () { + public int getLevel () { return level; } diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java new file mode 100644 index 0000000..a2d8dec --- /dev/null +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -0,0 +1,123 @@ +package de.jaujau.gui; + +import java.awt.EventQueue; +import java.awt.Image; + +import javax.swing.JFrame; +import javax.swing.JButton; +import java.awt.BorderLayout; +import javax.swing.JPanel; +import javax.imageio.ImageIO; +import javax.swing.BoxLayout; +import javax.swing.Icon; + +import java.awt.Color; +import java.awt.Dimension; +import javax.swing.JLabel; +import javax.swing.ImageIcon; +import javax.swing.SwingConstants; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.awt.Component; +import java.awt.Font; + +public class Menue_GUI { + + private JFrame frame; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Menue_GUI window = new Menue_GUI(); + window.frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the application. + */ + public Menue_GUI() { + initialize(); + } + + /** + * Initialize the contents of the frame. + */ + + + //Test GUI für JauJau + + + private void initialize() { + frame = new JFrame(); + frame.setBounds(100, 100, 783, 762); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.getContentPane().setLayout(new BorderLayout(0, 0)); + + JPanel panel_top = new JPanel(); + panel_top.setPreferredSize(new Dimension(200, 100)); + panel_top.setBackground(new Color(0, 0, 128)); + frame.getContentPane().add(panel_top, BorderLayout.NORTH); + panel_top.setLayout(new BorderLayout(0, 0)); + + JLabel lblNewLabel_1 = new JLabel("JauJau"); + lblNewLabel_1.setForeground(Color.WHITE); + lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_1.setInheritsPopupMenu(false); + lblNewLabel_1.setIgnoreRepaint(false); + lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40)); + lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER); + panel_top.add(lblNewLabel_1, BorderLayout.CENTER); + + JPanel panel_side = new JPanel(); + panel_side.setBackground(new Color(100, 149, 237)); + panel_side.setPreferredSize(new Dimension(200, 400)); + frame.getContentPane().add(panel_side, BorderLayout.WEST); + 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.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + panel_side.setVisible(false); + } + }); + 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_main = new JPanel(); + panel_main.setPreferredSize(new Dimension(600, 600)); + frame.getContentPane().add(panel_main, BorderLayout.CENTER); + } + +} diff --git a/src/de/jaujau/gui/Menü_GUI.java b/src/de/jaujau/gui/Menü_GUI.java deleted file mode 100644 index 5cd164b..0000000 --- a/src/de/jaujau/gui/Menü_GUI.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jaujau.gui; - -import java.util.*; - - -/** - * Class Menü_GUI - */ -public class Menü_GUI { - - // - // Fields - // - - - // - // Constructors - // - public Menü_GUI () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - -} From 52e1002481d7587ebb5adbcf4f19595a15fc35a6 Mon Sep 17 00:00:00 2001 From: ekresse Date: Mon, 30 Nov 2020 16:48:13 +0100 Subject: [PATCH 07/33] Alte JauJauGUI wurde entfernt - obsolet --- src/de/jaujau/gui/JauJauGUI.java | 123 ------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 src/de/jaujau/gui/JauJauGUI.java diff --git a/src/de/jaujau/gui/JauJauGUI.java b/src/de/jaujau/gui/JauJauGUI.java deleted file mode 100644 index 9cdc21b..0000000 --- a/src/de/jaujau/gui/JauJauGUI.java +++ /dev/null @@ -1,123 +0,0 @@ -package de.jaujau.gui; - -import java.awt.EventQueue; -import java.awt.Image; - -import javax.swing.JFrame; -import javax.swing.JButton; -import java.awt.BorderLayout; -import javax.swing.JPanel; -import javax.imageio.ImageIO; -import javax.swing.BoxLayout; -import javax.swing.Icon; - -import java.awt.Color; -import java.awt.Dimension; -import javax.swing.JLabel; -import javax.swing.ImageIcon; -import javax.swing.SwingConstants; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.awt.Component; -import java.awt.Font; - -public class JauJauGUI { - - private JFrame frame; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - JauJauGUI window = new JauJauGUI(); - window.frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the application. - */ - public JauJauGUI() { - initialize(); - } - - /** - * Initialize the contents of the frame. - */ - - - //Test GUI für JauJau - - - private void initialize() { - frame = new JFrame(); - frame.setBounds(100, 100, 783, 762); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.getContentPane().setLayout(new BorderLayout(0, 0)); - - JPanel panel_top = new JPanel(); - panel_top.setPreferredSize(new Dimension(200, 100)); - panel_top.setBackground(new Color(0, 0, 128)); - frame.getContentPane().add(panel_top, BorderLayout.NORTH); - panel_top.setLayout(new BorderLayout(0, 0)); - - JLabel lblNewLabel_1 = new JLabel("JauJau"); - lblNewLabel_1.setForeground(Color.WHITE); - lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER); - lblNewLabel_1.setInheritsPopupMenu(false); - lblNewLabel_1.setIgnoreRepaint(false); - lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40)); - lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER); - panel_top.add(lblNewLabel_1, BorderLayout.CENTER); - - JPanel panel_side = new JPanel(); - panel_side.setBackground(new Color(100, 149, 237)); - panel_side.setPreferredSize(new Dimension(200, 400)); - frame.getContentPane().add(panel_side, BorderLayout.WEST); - 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.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - panel_side.setVisible(false); - } - }); - 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_main = new JPanel(); - panel_main.setPreferredSize(new Dimension(600, 600)); - frame.getContentPane().add(panel_main, BorderLayout.CENTER); - } - -} From 430573b627269fb7c315f6799744460bffd43197 Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 2 Dec 2020 07:56:57 +0100 Subject: [PATCH 08/33] Revert "Merge branch 'patch-1' into 'master'" This reverts merge request !1 --- .classpath | 6 - .gitignore | 1 - .project | 17 --- .../org.eclipse.ltk.core.refactoring.prefs | 2 - README.md | 42 ------ src/de/jaujau/daten/Ablageort.java | 5 - src/de/jaujau/daten/Farbe.java | 5 - src/de/jaujau/daten/Karte.java | 12 -- src/de/jaujau/daten/Kartensatz.java | 12 -- src/de/jaujau/daten/Spieler.java | 5 - src/de/jaujau/daten/Spielerdaten.java | 14 -- src/de/jaujau/daten/Spielerverwaltung.java | 87 ------------- src/de/jaujau/daten/Texturenpakete.java | 12 -- src/de/jaujau/daten/Wert.java | 5 - src/de/jaujau/gui/GUI.java | 34 ----- src/de/jaujau/gui/Hilfe_GUI.java | 34 ----- src/de/jaujau/gui/Menue_GUI.java | 123 ------------------ src/de/jaujau/gui/Spiel_GUI.java | 34 ----- src/de/jaujau/gui/texturenauswaehlen_GUI.java | 34 ----- src/de/jaujau/spiellogik/Anwendung.java | 113 ---------------- src/de/jaujau/spiellogik/Computer_gegner.java | 44 ------- src/de/jaujau/spiellogik/Spiel.java | 16 --- src/de/jaujau/spiellogik/Spielzug.java | 65 --------- 23 files changed, 722 deletions(-) delete mode 100644 .classpath delete mode 100644 .gitignore delete mode 100644 .project delete mode 100644 .settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100755 src/de/jaujau/daten/Ablageort.java delete mode 100755 src/de/jaujau/daten/Farbe.java delete mode 100644 src/de/jaujau/daten/Karte.java delete mode 100644 src/de/jaujau/daten/Kartensatz.java delete mode 100755 src/de/jaujau/daten/Spieler.java delete mode 100644 src/de/jaujau/daten/Spielerdaten.java delete mode 100644 src/de/jaujau/daten/Spielerverwaltung.java delete mode 100644 src/de/jaujau/daten/Texturenpakete.java delete mode 100755 src/de/jaujau/daten/Wert.java delete mode 100644 src/de/jaujau/gui/GUI.java delete mode 100644 src/de/jaujau/gui/Hilfe_GUI.java delete mode 100644 src/de/jaujau/gui/Menue_GUI.java delete mode 100644 src/de/jaujau/gui/Spiel_GUI.java delete mode 100644 src/de/jaujau/gui/texturenauswaehlen_GUI.java delete mode 100644 src/de/jaujau/spiellogik/Anwendung.java delete mode 100644 src/de/jaujau/spiellogik/Computer_gegner.java delete mode 100644 src/de/jaujau/spiellogik/Spiel.java delete mode 100644 src/de/jaujau/spiellogik/Spielzug.java diff --git a/.classpath b/.classpath deleted file mode 100644 index 9b07da8..0000000 --- a/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ae3c172..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/.project b/.project deleted file mode 100644 index a71a1b2..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - inb1-a-jaujau - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/.settings/org.eclipse.ltk.core.refactoring.prefs b/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index b196c64..0000000 --- a/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/README.md b/README.md index f17482b..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,42 +0,0 @@ -JauJau -===== -JauJau ist ein Java basiertes Spiel was nach auf dem Spielprinzip von MauMau aufbaut. - - -Produktvision -===== -JauJau - "Java-MauMau" Interaktives Spieldesign, welches die traditionellen Spielmechaniken von MauMau digitalisiert und es möglich macht auch alleine den beliebten Klassiker zu spielen. Individuell - durch Spielerfolg Freischaltung neuer Kartendesigns. - -Spielidee -===== - -- Kartenspiel auf Basis von MauMau. -- Ein Spieler spielt gegen eine Computer Spieler -- Die Punktestände der Spieler werden Gespeichert -- Mit höheren Punktestand werden zusätzliche Kartentexturenpakete freigeschaltete - -Spielregeln -===== - -Akionskarten: -- 7 - zwei ziehen -- 8 - Aussetzen -- Bube - Wünscher - -Zusatzregeln: -- 9 - Richtungswechsel -- 8 - Stopper hebt Aktionskarte 7 "zwei ziehen" auf -- 10 - Allesleger (darf auf jede Karte gelegt werden) - -Features -===== - -1. Automatischer "Jau" Ausruf bei letzter Karte und "JauJau" beim Ablegen der letzten -2. verschiedene Texturenpackete für Kartensätze - -Anforderungen -===== - -- Kompatibel mit verschieden Betriebssystemen -- Skalierung der GUI -- Java 11 Support \ No newline at end of file diff --git a/src/de/jaujau/daten/Ablageort.java b/src/de/jaujau/daten/Ablageort.java deleted file mode 100755 index e5fe09e..0000000 --- a/src/de/jaujau/daten/Ablageort.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.jaujau.daten; - -public enum Ablageort { - SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL -} diff --git a/src/de/jaujau/daten/Farbe.java b/src/de/jaujau/daten/Farbe.java deleted file mode 100755 index d6f8702..0000000 --- a/src/de/jaujau/daten/Farbe.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.jaujau.daten; - -public enum Farbe { - PIK, KREUZ, HERZ, KARO -} diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java deleted file mode 100644 index 0c6fafd..0000000 --- a/src/de/jaujau/daten/Karte.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.jaujau.daten; - - -/** - * Class Karte - */ -public class Karte { - - - - -} diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java deleted file mode 100644 index 47d4ed1..0000000 --- a/src/de/jaujau/daten/Kartensatz.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.jaujau.daten; - - -/** - * Class Kartensatz - */ -public class Kartensatz { - - - - -} diff --git a/src/de/jaujau/daten/Spieler.java b/src/de/jaujau/daten/Spieler.java deleted file mode 100755 index faaea4d..0000000 --- a/src/de/jaujau/daten/Spieler.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.jaujau.daten; - -public enum Spieler { - SPIELER, COMPUTER -} diff --git a/src/de/jaujau/daten/Spielerdaten.java b/src/de/jaujau/daten/Spielerdaten.java deleted file mode 100644 index f75bc68..0000000 --- a/src/de/jaujau/daten/Spielerdaten.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.jaujau.daten; - -import java.util.*; - - -/** - * Class Spieler - */ -public class Spielerdaten { - - - - -} diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java deleted file mode 100644 index b73d583..0000000 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ /dev/null @@ -1,87 +0,0 @@ -package de.jaujau.daten; - -import java.util.*; - - -/** - * Class Spielerverwaltung - */ -public class Spielerverwaltung { - - // - // Fields - // - - private int level; - /** - * arraylist von Spieler - */ - private Spieler spieler; - - // - // Constructors - // - public Spielerverwaltung () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - /** - * Set the value of level - * @param newVar the new value of level - */ - public void setLevel (int newVar) { - level = newVar; - } - - /** - * Get the value of level - * @return the value of level - */ - public int getLevel () { - return level; - } - - /** - * Set the value of spieler - * arraylist von Spieler - * @param newVar the new value of spieler - */ - public void setSpieler (Spieler newVar) { - spieler = newVar; - } - - /** - * Get the value of spieler - * arraylist von Spieler - * @return the value of spieler - */ - public Spieler getSpieler () { - return spieler; - } - - // - // Other methods - // - - /** - */ - public void leseDaten() - { - } - - - /** - */ - public void speichernDaten() - { - } - - -} diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java deleted file mode 100644 index c8a3c6d..0000000 --- a/src/de/jaujau/daten/Texturenpakete.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.jaujau.daten; - - -/** - * Class Texturenpakete - */ -public class Texturenpakete { - - - - -} diff --git a/src/de/jaujau/daten/Wert.java b/src/de/jaujau/daten/Wert.java deleted file mode 100755 index 41b1a47..0000000 --- a/src/de/jaujau/daten/Wert.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.jaujau.daten; - -public enum Wert { - SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS -} diff --git a/src/de/jaujau/gui/GUI.java b/src/de/jaujau/gui/GUI.java deleted file mode 100644 index 8fdf1eb..0000000 --- a/src/de/jaujau/gui/GUI.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jaujau.gui; - -import java.util.*; - - -/** - * Class GUI - */ -public class GUI { - - // - // Fields - // - - - // - // Constructors - // - public GUI () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - -} diff --git a/src/de/jaujau/gui/Hilfe_GUI.java b/src/de/jaujau/gui/Hilfe_GUI.java deleted file mode 100644 index 34db5d8..0000000 --- a/src/de/jaujau/gui/Hilfe_GUI.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jaujau.gui; - -import java.util.*; - - -/** - * Class Hilfe_GUI - */ -public class Hilfe_GUI { - - // - // Fields - // - - - // - // Constructors - // - public Hilfe_GUI () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - -} diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java deleted file mode 100644 index a2d8dec..0000000 --- a/src/de/jaujau/gui/Menue_GUI.java +++ /dev/null @@ -1,123 +0,0 @@ -package de.jaujau.gui; - -import java.awt.EventQueue; -import java.awt.Image; - -import javax.swing.JFrame; -import javax.swing.JButton; -import java.awt.BorderLayout; -import javax.swing.JPanel; -import javax.imageio.ImageIO; -import javax.swing.BoxLayout; -import javax.swing.Icon; - -import java.awt.Color; -import java.awt.Dimension; -import javax.swing.JLabel; -import javax.swing.ImageIcon; -import javax.swing.SwingConstants; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.awt.Component; -import java.awt.Font; - -public class Menue_GUI { - - private JFrame frame; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - Menue_GUI window = new Menue_GUI(); - window.frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the application. - */ - public Menue_GUI() { - initialize(); - } - - /** - * Initialize the contents of the frame. - */ - - - //Test GUI für JauJau - - - private void initialize() { - frame = new JFrame(); - frame.setBounds(100, 100, 783, 762); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.getContentPane().setLayout(new BorderLayout(0, 0)); - - JPanel panel_top = new JPanel(); - panel_top.setPreferredSize(new Dimension(200, 100)); - panel_top.setBackground(new Color(0, 0, 128)); - frame.getContentPane().add(panel_top, BorderLayout.NORTH); - panel_top.setLayout(new BorderLayout(0, 0)); - - JLabel lblNewLabel_1 = new JLabel("JauJau"); - lblNewLabel_1.setForeground(Color.WHITE); - lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER); - lblNewLabel_1.setInheritsPopupMenu(false); - lblNewLabel_1.setIgnoreRepaint(false); - lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40)); - lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER); - panel_top.add(lblNewLabel_1, BorderLayout.CENTER); - - JPanel panel_side = new JPanel(); - panel_side.setBackground(new Color(100, 149, 237)); - panel_side.setPreferredSize(new Dimension(200, 400)); - frame.getContentPane().add(panel_side, BorderLayout.WEST); - 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.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - panel_side.setVisible(false); - } - }); - 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_main = new JPanel(); - panel_main.setPreferredSize(new Dimension(600, 600)); - frame.getContentPane().add(panel_main, BorderLayout.CENTER); - } - -} diff --git a/src/de/jaujau/gui/Spiel_GUI.java b/src/de/jaujau/gui/Spiel_GUI.java deleted file mode 100644 index 8622e81..0000000 --- a/src/de/jaujau/gui/Spiel_GUI.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jaujau.gui; - -import java.util.*; - - -/** - * Class Spiel_GUI - */ -public class Spiel_GUI { - - // - // Fields - // - - - // - // Constructors - // - public Spiel_GUI () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - -} diff --git a/src/de/jaujau/gui/texturenauswaehlen_GUI.java b/src/de/jaujau/gui/texturenauswaehlen_GUI.java deleted file mode 100644 index 88be19b..0000000 --- a/src/de/jaujau/gui/texturenauswaehlen_GUI.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jaujau.gui; - -import java.util.*; - - -/** - * Class texturenauswaehlen_GUI - */ -public class texturenauswaehlen_GUI { - - // - // Fields - // - - - // - // Constructors - // - public texturenauswaehlen_GUI () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - -} diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java deleted file mode 100644 index d586ef4..0000000 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ /dev/null @@ -1,113 +0,0 @@ -package de.jaujau.spiellogik; - -import java.util.*; - -import de.jaujau.daten.Spielerverwaltung; -import de.jaujau.daten.Texturenpakete; -import de.jaujau.gui.GUI; - - -/** - * Class Anwendung - */ -public class Anwendung { - - // - // Fields - // - - private Spiel aktuellesSpiel; - private Texturenpakete texturenpakete; - private Spielerverwaltung speicherung; - private GUI gui; - - // - // Constructors - // - public Anwendung () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - /** - * Set the value of aktuellesSpiel - * @param newVar the new value of aktuellesSpiel - */ - public void setAktuellesSpiel (Spiel newVar) { - aktuellesSpiel = newVar; - } - - /** - * Get the value of aktuellesSpiel - * @return the value of aktuellesSpiel - */ - public Spiel getAktuellesSpiel () { - return aktuellesSpiel; - } - - /** - * Set the value of texturenpakete - * @param newVar the new value of texturenpakete - */ - public void setTexturenpakete (Texturenpakete newVar) { - texturenpakete = newVar; - } - - /** - * Get the value of texturenpakete - * @return the value of texturenpakete - */ - public Texturenpakete getTexturenpakete () { - return texturenpakete; - } - - /** - * Set the value of speicherung - * @param newVar the new value of speicherung - */ - public void setSpeicherung (Spielerverwaltung newVar) { - speicherung = newVar; - } - - /** - * Get the value of speicherung - * @return the value of speicherung - */ - public Spielerverwaltung getSpeicherung () { - return speicherung; - } - - /** - * Set the value of gui - * @param newVar the new value of gui - */ - public void setGui (GUI newVar) { - gui = newVar; - } - - /** - * Get the value of gui - * @return the value of gui - */ - public GUI getGui () { - return gui; - } - - // - // Other methods - // - - /** - */ - public void main() - { - } - - -} diff --git a/src/de/jaujau/spiellogik/Computer_gegner.java b/src/de/jaujau/spiellogik/Computer_gegner.java deleted file mode 100644 index 9e0b849..0000000 --- a/src/de/jaujau/spiellogik/Computer_gegner.java +++ /dev/null @@ -1,44 +0,0 @@ -package de.jaujau.spiellogik; - -import java.util.*; - -import de.jaujau.daten.Kartensatz; - - -/** - * Class Computer_gegner - */ -public class Computer_gegner { - - // - // Fields - // - - - // - // Constructors - // - public Computer_gegner () { }; - - // - // Methods - // - - - // - // Accessor methods - // - - // - // Other methods - // - - /** - * @param kartensatz - */ - public void pruefeZug(Kartensatz kartensatz) - { - } - - -} diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java deleted file mode 100644 index 98db592..0000000 --- a/src/de/jaujau/spiellogik/Spiel.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.jaujau.spiellogik; - -import java.util.*; - -import de.jaujau.daten.Kartensatz; - - -/** - * Class Spiel - */ -public class Spiel { - - - - -} diff --git a/src/de/jaujau/spiellogik/Spielzug.java b/src/de/jaujau/spiellogik/Spielzug.java deleted file mode 100644 index 6e4f107..0000000 --- a/src/de/jaujau/spiellogik/Spielzug.java +++ /dev/null @@ -1,65 +0,0 @@ -package de.jaujau.spiellogik; - -import java.util.*; - -import de.jaujau.daten.Kartensatz; -import de.jaujau.daten.Spielerdaten; - - -/** - * Class Spielzug - */ -public class Spielzug { - - // - // Fields - // - - - // - // Constructors - // - public Spielzug () { }; - - // - // 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) - { - } - - -} From 66fa85ea4b6dd765d571012a1d9c3cd9839cddcf Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 2 Dec 2020 08:03:02 +0100 Subject: [PATCH 09/33] Revert "Merge branch 'revert-94c5f454' into 'master'" This reverts merge request !2 --- .classpath | 6 + .gitignore | 1 + .project | 17 +++ .../org.eclipse.ltk.core.refactoring.prefs | 2 + README.md | 42 ++++++ src/de/jaujau/daten/Ablageort.java | 5 + src/de/jaujau/daten/Farbe.java | 5 + src/de/jaujau/daten/Karte.java | 12 ++ src/de/jaujau/daten/Kartensatz.java | 12 ++ src/de/jaujau/daten/Spieler.java | 5 + src/de/jaujau/daten/Spielerdaten.java | 14 ++ src/de/jaujau/daten/Spielerverwaltung.java | 87 +++++++++++++ src/de/jaujau/daten/Texturenpakete.java | 12 ++ src/de/jaujau/daten/Wert.java | 5 + src/de/jaujau/gui/GUI.java | 34 +++++ src/de/jaujau/gui/Hilfe_GUI.java | 34 +++++ src/de/jaujau/gui/Menue_GUI.java | 123 ++++++++++++++++++ src/de/jaujau/gui/Spiel_GUI.java | 34 +++++ src/de/jaujau/gui/texturenauswaehlen_GUI.java | 34 +++++ src/de/jaujau/spiellogik/Anwendung.java | 113 ++++++++++++++++ src/de/jaujau/spiellogik/Computer_gegner.java | 44 +++++++ src/de/jaujau/spiellogik/Spiel.java | 16 +++ src/de/jaujau/spiellogik/Spielzug.java | 65 +++++++++ 23 files changed, 722 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.ltk.core.refactoring.prefs create mode 100755 src/de/jaujau/daten/Ablageort.java create mode 100755 src/de/jaujau/daten/Farbe.java create mode 100644 src/de/jaujau/daten/Karte.java create mode 100644 src/de/jaujau/daten/Kartensatz.java create mode 100755 src/de/jaujau/daten/Spieler.java create mode 100644 src/de/jaujau/daten/Spielerdaten.java create mode 100644 src/de/jaujau/daten/Spielerverwaltung.java create mode 100644 src/de/jaujau/daten/Texturenpakete.java create mode 100755 src/de/jaujau/daten/Wert.java create mode 100644 src/de/jaujau/gui/GUI.java create mode 100644 src/de/jaujau/gui/Hilfe_GUI.java create mode 100644 src/de/jaujau/gui/Menue_GUI.java create mode 100644 src/de/jaujau/gui/Spiel_GUI.java create mode 100644 src/de/jaujau/gui/texturenauswaehlen_GUI.java create mode 100644 src/de/jaujau/spiellogik/Anwendung.java create mode 100644 src/de/jaujau/spiellogik/Computer_gegner.java create mode 100644 src/de/jaujau/spiellogik/Spiel.java create mode 100644 src/de/jaujau/spiellogik/Spielzug.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..9b07da8 --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/.project b/.project new file mode 100644 index 0000000..a71a1b2 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + inb1-a-jaujau + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.ltk.core.refactoring.prefs b/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000..b196c64 --- /dev/null +++ b/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/README.md b/README.md index e69de29..f17482b 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,42 @@ +JauJau +===== +JauJau ist ein Java basiertes Spiel was nach auf dem Spielprinzip von MauMau aufbaut. + + +Produktvision +===== +JauJau - "Java-MauMau" Interaktives Spieldesign, welches die traditionellen Spielmechaniken von MauMau digitalisiert und es möglich macht auch alleine den beliebten Klassiker zu spielen. Individuell - durch Spielerfolg Freischaltung neuer Kartendesigns. + +Spielidee +===== + +- Kartenspiel auf Basis von MauMau. +- Ein Spieler spielt gegen eine Computer Spieler +- Die Punktestände der Spieler werden Gespeichert +- Mit höheren Punktestand werden zusätzliche Kartentexturenpakete freigeschaltete + +Spielregeln +===== + +Akionskarten: +- 7 - zwei ziehen +- 8 - Aussetzen +- Bube - Wünscher + +Zusatzregeln: +- 9 - Richtungswechsel +- 8 - Stopper hebt Aktionskarte 7 "zwei ziehen" auf +- 10 - Allesleger (darf auf jede Karte gelegt werden) + +Features +===== + +1. Automatischer "Jau" Ausruf bei letzter Karte und "JauJau" beim Ablegen der letzten +2. verschiedene Texturenpackete für Kartensätze + +Anforderungen +===== + +- Kompatibel mit verschieden Betriebssystemen +- Skalierung der GUI +- Java 11 Support \ No newline at end of file diff --git a/src/de/jaujau/daten/Ablageort.java b/src/de/jaujau/daten/Ablageort.java new file mode 100755 index 0000000..e5fe09e --- /dev/null +++ b/src/de/jaujau/daten/Ablageort.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Ablageort { + SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL +} diff --git a/src/de/jaujau/daten/Farbe.java b/src/de/jaujau/daten/Farbe.java new file mode 100755 index 0000000..d6f8702 --- /dev/null +++ b/src/de/jaujau/daten/Farbe.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Farbe { + PIK, KREUZ, HERZ, KARO +} diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java new file mode 100644 index 0000000..0c6fafd --- /dev/null +++ b/src/de/jaujau/daten/Karte.java @@ -0,0 +1,12 @@ +package de.jaujau.daten; + + +/** + * Class Karte + */ +public class Karte { + + + + +} diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java new file mode 100644 index 0000000..47d4ed1 --- /dev/null +++ b/src/de/jaujau/daten/Kartensatz.java @@ -0,0 +1,12 @@ +package de.jaujau.daten; + + +/** + * Class Kartensatz + */ +public class Kartensatz { + + + + +} diff --git a/src/de/jaujau/daten/Spieler.java b/src/de/jaujau/daten/Spieler.java new file mode 100755 index 0000000..faaea4d --- /dev/null +++ b/src/de/jaujau/daten/Spieler.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Spieler { + SPIELER, COMPUTER +} diff --git a/src/de/jaujau/daten/Spielerdaten.java b/src/de/jaujau/daten/Spielerdaten.java new file mode 100644 index 0000000..f75bc68 --- /dev/null +++ b/src/de/jaujau/daten/Spielerdaten.java @@ -0,0 +1,14 @@ +package de.jaujau.daten; + +import java.util.*; + + +/** + * Class Spieler + */ +public class Spielerdaten { + + + + +} diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java new file mode 100644 index 0000000..b73d583 --- /dev/null +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -0,0 +1,87 @@ +package de.jaujau.daten; + +import java.util.*; + + +/** + * Class Spielerverwaltung + */ +public class Spielerverwaltung { + + // + // Fields + // + + private int level; + /** + * arraylist von Spieler + */ + private Spieler spieler; + + // + // Constructors + // + public Spielerverwaltung () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + /** + * Set the value of level + * @param newVar the new value of level + */ + public void setLevel (int newVar) { + level = newVar; + } + + /** + * Get the value of level + * @return the value of level + */ + public int getLevel () { + return level; + } + + /** + * Set the value of spieler + * arraylist von Spieler + * @param newVar the new value of spieler + */ + public void setSpieler (Spieler newVar) { + spieler = newVar; + } + + /** + * Get the value of spieler + * arraylist von Spieler + * @return the value of spieler + */ + public Spieler getSpieler () { + return spieler; + } + + // + // Other methods + // + + /** + */ + public void leseDaten() + { + } + + + /** + */ + public void speichernDaten() + { + } + + +} diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java new file mode 100644 index 0000000..c8a3c6d --- /dev/null +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -0,0 +1,12 @@ +package de.jaujau.daten; + + +/** + * Class Texturenpakete + */ +public class Texturenpakete { + + + + +} diff --git a/src/de/jaujau/daten/Wert.java b/src/de/jaujau/daten/Wert.java new file mode 100755 index 0000000..41b1a47 --- /dev/null +++ b/src/de/jaujau/daten/Wert.java @@ -0,0 +1,5 @@ +package de.jaujau.daten; + +public enum Wert { + SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS +} diff --git a/src/de/jaujau/gui/GUI.java b/src/de/jaujau/gui/GUI.java new file mode 100644 index 0000000..8fdf1eb --- /dev/null +++ b/src/de/jaujau/gui/GUI.java @@ -0,0 +1,34 @@ +package de.jaujau.gui; + +import java.util.*; + + +/** + * Class GUI + */ +public class GUI { + + // + // Fields + // + + + // + // Constructors + // + public GUI () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + // + // Other methods + // + +} diff --git a/src/de/jaujau/gui/Hilfe_GUI.java b/src/de/jaujau/gui/Hilfe_GUI.java new file mode 100644 index 0000000..34db5d8 --- /dev/null +++ b/src/de/jaujau/gui/Hilfe_GUI.java @@ -0,0 +1,34 @@ +package de.jaujau.gui; + +import java.util.*; + + +/** + * Class Hilfe_GUI + */ +public class Hilfe_GUI { + + // + // Fields + // + + + // + // Constructors + // + public Hilfe_GUI () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + // + // Other methods + // + +} diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java new file mode 100644 index 0000000..a2d8dec --- /dev/null +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -0,0 +1,123 @@ +package de.jaujau.gui; + +import java.awt.EventQueue; +import java.awt.Image; + +import javax.swing.JFrame; +import javax.swing.JButton; +import java.awt.BorderLayout; +import javax.swing.JPanel; +import javax.imageio.ImageIO; +import javax.swing.BoxLayout; +import javax.swing.Icon; + +import java.awt.Color; +import java.awt.Dimension; +import javax.swing.JLabel; +import javax.swing.ImageIcon; +import javax.swing.SwingConstants; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.awt.Component; +import java.awt.Font; + +public class Menue_GUI { + + private JFrame frame; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Menue_GUI window = new Menue_GUI(); + window.frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the application. + */ + public Menue_GUI() { + initialize(); + } + + /** + * Initialize the contents of the frame. + */ + + + //Test GUI für JauJau + + + private void initialize() { + frame = new JFrame(); + frame.setBounds(100, 100, 783, 762); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.getContentPane().setLayout(new BorderLayout(0, 0)); + + JPanel panel_top = new JPanel(); + panel_top.setPreferredSize(new Dimension(200, 100)); + panel_top.setBackground(new Color(0, 0, 128)); + frame.getContentPane().add(panel_top, BorderLayout.NORTH); + panel_top.setLayout(new BorderLayout(0, 0)); + + JLabel lblNewLabel_1 = new JLabel("JauJau"); + lblNewLabel_1.setForeground(Color.WHITE); + lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_1.setInheritsPopupMenu(false); + lblNewLabel_1.setIgnoreRepaint(false); + lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40)); + lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER); + panel_top.add(lblNewLabel_1, BorderLayout.CENTER); + + JPanel panel_side = new JPanel(); + panel_side.setBackground(new Color(100, 149, 237)); + panel_side.setPreferredSize(new Dimension(200, 400)); + frame.getContentPane().add(panel_side, BorderLayout.WEST); + 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.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + panel_side.setVisible(false); + } + }); + 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_main = new JPanel(); + panel_main.setPreferredSize(new Dimension(600, 600)); + frame.getContentPane().add(panel_main, BorderLayout.CENTER); + } + +} diff --git a/src/de/jaujau/gui/Spiel_GUI.java b/src/de/jaujau/gui/Spiel_GUI.java new file mode 100644 index 0000000..8622e81 --- /dev/null +++ b/src/de/jaujau/gui/Spiel_GUI.java @@ -0,0 +1,34 @@ +package de.jaujau.gui; + +import java.util.*; + + +/** + * Class Spiel_GUI + */ +public class Spiel_GUI { + + // + // Fields + // + + + // + // Constructors + // + public Spiel_GUI () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + // + // Other methods + // + +} diff --git a/src/de/jaujau/gui/texturenauswaehlen_GUI.java b/src/de/jaujau/gui/texturenauswaehlen_GUI.java new file mode 100644 index 0000000..88be19b --- /dev/null +++ b/src/de/jaujau/gui/texturenauswaehlen_GUI.java @@ -0,0 +1,34 @@ +package de.jaujau.gui; + +import java.util.*; + + +/** + * Class texturenauswaehlen_GUI + */ +public class texturenauswaehlen_GUI { + + // + // Fields + // + + + // + // Constructors + // + public texturenauswaehlen_GUI () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + // + // Other methods + // + +} diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java new file mode 100644 index 0000000..d586ef4 --- /dev/null +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -0,0 +1,113 @@ +package de.jaujau.spiellogik; + +import java.util.*; + +import de.jaujau.daten.Spielerverwaltung; +import de.jaujau.daten.Texturenpakete; +import de.jaujau.gui.GUI; + + +/** + * Class Anwendung + */ +public class Anwendung { + + // + // Fields + // + + private Spiel aktuellesSpiel; + private Texturenpakete texturenpakete; + private Spielerverwaltung speicherung; + private GUI gui; + + // + // Constructors + // + public Anwendung () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + /** + * Set the value of aktuellesSpiel + * @param newVar the new value of aktuellesSpiel + */ + public void setAktuellesSpiel (Spiel newVar) { + aktuellesSpiel = newVar; + } + + /** + * Get the value of aktuellesSpiel + * @return the value of aktuellesSpiel + */ + public Spiel getAktuellesSpiel () { + return aktuellesSpiel; + } + + /** + * Set the value of texturenpakete + * @param newVar the new value of texturenpakete + */ + public void setTexturenpakete (Texturenpakete newVar) { + texturenpakete = newVar; + } + + /** + * Get the value of texturenpakete + * @return the value of texturenpakete + */ + public Texturenpakete getTexturenpakete () { + return texturenpakete; + } + + /** + * Set the value of speicherung + * @param newVar the new value of speicherung + */ + public void setSpeicherung (Spielerverwaltung newVar) { + speicherung = newVar; + } + + /** + * Get the value of speicherung + * @return the value of speicherung + */ + public Spielerverwaltung getSpeicherung () { + return speicherung; + } + + /** + * Set the value of gui + * @param newVar the new value of gui + */ + public void setGui (GUI newVar) { + gui = newVar; + } + + /** + * Get the value of gui + * @return the value of gui + */ + public GUI getGui () { + return gui; + } + + // + // Other methods + // + + /** + */ + public void main() + { + } + + +} diff --git a/src/de/jaujau/spiellogik/Computer_gegner.java b/src/de/jaujau/spiellogik/Computer_gegner.java new file mode 100644 index 0000000..9e0b849 --- /dev/null +++ b/src/de/jaujau/spiellogik/Computer_gegner.java @@ -0,0 +1,44 @@ +package de.jaujau.spiellogik; + +import java.util.*; + +import de.jaujau.daten.Kartensatz; + + +/** + * Class Computer_gegner + */ +public class Computer_gegner { + + // + // Fields + // + + + // + // Constructors + // + public Computer_gegner () { }; + + // + // Methods + // + + + // + // Accessor methods + // + + // + // Other methods + // + + /** + * @param kartensatz + */ + public void pruefeZug(Kartensatz kartensatz) + { + } + + +} diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java new file mode 100644 index 0000000..98db592 --- /dev/null +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -0,0 +1,16 @@ +package de.jaujau.spiellogik; + +import java.util.*; + +import de.jaujau.daten.Kartensatz; + + +/** + * Class Spiel + */ +public class Spiel { + + + + +} diff --git a/src/de/jaujau/spiellogik/Spielzug.java b/src/de/jaujau/spiellogik/Spielzug.java new file mode 100644 index 0000000..6e4f107 --- /dev/null +++ b/src/de/jaujau/spiellogik/Spielzug.java @@ -0,0 +1,65 @@ +package de.jaujau.spiellogik; + +import java.util.*; + +import de.jaujau.daten.Kartensatz; +import de.jaujau.daten.Spielerdaten; + + +/** + * Class Spielzug + */ +public class Spielzug { + + // + // Fields + // + + + // + // Constructors + // + public Spielzug () { }; + + // + // 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) + { + } + + +} From 3d61cebe164121dbe6f1141c6c27a8ac2234a970 Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 2 Dec 2020 11:50:39 +0100 Subject: [PATCH 10/33] =?UTF-8?q?Update=20GUI=20und=20Funktionalit=C3=A4t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/daten/Spielerverwaltung.java | 10 ++++++ src/de/jaujau/gui/GUI.java | 19 ++++++++--- src/de/jaujau/gui/Menue_GUI.java | 39 ++++++++++++---------- src/de/jaujau/spiellogik/Anwendung.java | 37 +++++++++----------- 4 files changed, 63 insertions(+), 42 deletions(-) diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java index b73d583..911056d 100644 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -13,6 +13,7 @@ public class Spielerverwaltung { // private int level; + private String name; /** * arraylist von Spieler */ @@ -47,6 +48,15 @@ public class Spielerverwaltung { public int getLevel () { return level; } + + + /** + * Get the value of level + * @return the value of level + */ + public String getName () { + return name; + } /** * Set the value of spieler diff --git a/src/de/jaujau/gui/GUI.java b/src/de/jaujau/gui/GUI.java index 8fdf1eb..9c95836 100644 --- a/src/de/jaujau/gui/GUI.java +++ b/src/de/jaujau/gui/GUI.java @@ -1,22 +1,33 @@ package de.jaujau.gui; -import java.util.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JFrame; + /** * Class GUI */ -public class GUI { +public class GUI extends JFrame implements ActionListener{ // // Fields // - + private static final long serialVersionUID = 1L; + // // Constructors // - public GUI () { }; + public GUI () { } + +@Override +public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + +} // // Methods diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java index a2d8dec..bb1987d 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -16,6 +16,11 @@ import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.ImageIcon; import javax.swing.SwingConstants; + +import de.jaujau.daten.Spielerverwaltung; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; @@ -25,30 +30,24 @@ import java.net.URL; import java.awt.Component; import java.awt.Font; -public class Menue_GUI { +public class Menue_GUI extends JFrame implements ActionListener { + /** + * + */ + private static final long serialVersionUID = 1L; + private Spielerverwaltung spielerverwaltung; private JFrame frame; - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - Menue_GUI window = new Menue_GUI(); - window.frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } + /** * Create the application. + * @param speicherung */ - public Menue_GUI() { + public Menue_GUI(Spielerverwaltung speicherung) { + this.spielerverwaltung = speicherung; + speicherung.getSpieler(); initialize(); } @@ -120,4 +119,10 @@ public class Menue_GUI { frame.getContentPane().add(panel_main, BorderLayout.CENTER); } + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + } + } diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java index d586ef4..c1eb785 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -5,6 +5,7 @@ import java.util.*; import de.jaujau.daten.Spielerverwaltung; import de.jaujau.daten.Texturenpakete; import de.jaujau.gui.GUI; +import de.jaujau.gui.Menue_GUI; /** @@ -19,12 +20,17 @@ public class Anwendung { private Spiel aktuellesSpiel; private Texturenpakete texturenpakete; private Spielerverwaltung speicherung; - private GUI gui; + private Menue_GUI gui; // // Constructors // - public Anwendung () { }; + public Anwendung () { + + speicherung = new Spielerverwaltung(); + gui = new Menue_GUI(speicherung); + + }; // // Methods @@ -83,30 +89,19 @@ public class Anwendung { return speicherung; } - /** - * Set the value of gui - * @param newVar the new value of gui - */ - public void setGui (GUI newVar) { - gui = newVar; - } - - /** - * Get the value of gui - * @return the value of gui - */ - public GUI getGui () { - return gui; - } - // // Other methods // - /** - */ - public void main() + /** + * Launch the application. + */ + + public static void main(String[] args) { + Anwendung jaujau = new Anwendung(); + jaujau.gui.setVisible(true); + } From 239711838de44207154f890b8cdfba9f6380d7f8 Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 2 Dec 2020 18:18:17 +0100 Subject: [PATCH 11/33] Update Anwendung --- src/de/jaujau/spiellogik/Anwendung.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java index c1eb785..e47e42d 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -99,6 +99,8 @@ public class Anwendung { public static void main(String[] args) { + + System.out.println("Hallo Welt"); Anwendung jaujau = new Anwendung(); jaujau.gui.setVisible(true); From 2c864c3efbe296f9989e1641b035283bbf0ce202 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Wed, 2 Dec 2020 18:36:13 +0100 Subject: [PATCH 12/33] Klasse Karte Implementiert, Klasse Kartensatz Implementiert (noch nicht alle Methoden vorhanden/funktionieren) --- src/de/jaujau/daten/Karte.java | 64 ++++++++++- src/de/jaujau/daten/Kartensatz.java | 158 +++++++++++++++++++++++++++- 2 files changed, 216 insertions(+), 6 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 0c6fafd..8f80166 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -2,11 +2,67 @@ package de.jaujau.daten; /** - * Class Karte + * Klasse Karte + * Verwaltet die Daten einer Spielkarte + * @author Sebastian Kacza */ public class Karte { + private Farbe FARBE; + private Wert WERT; + private Ablageort Ablageort; + + /** + * Konstruktor für die Klasse Karte + * Ablageort dird Standartmäßig auf Zielstapel gestezt + * @param f Farbe der Karte + * @param w Wert der Karte + */ + public Karte(Farbe f, Wert w) { + FARBE = f; + WERT = w; + Ablageort = de.jaujau.daten.Ablageort.ZIESTAPEL; + } + + /** + * Gibt die Farbe der Karte zurück + * @return Farbe der Karte + */ + public Farbe getFARBE() { + return FARBE; + } + + /** + * Gibt den Wert einer Karte zurück + * @return Wert der Karte + */ + public Wert getWERT() { + return WERT; + } + + /** + * Gibt den Ablageort der Karte zurück + * @return Ablageort der Karte + */ + public Ablageort getAblageort() { + return Ablageort; + } + + /** + * Ändert den Ablageoert der Karte + * @param ablageort Neuer Ablageort der Karte + */ + public void setAblageort(Ablageort ablageort) { + Ablageort = ablageort; + } - - - + /** + * Gibt die Eigenschaften der Karte aus Text aus + * Diese Methode dient zum Testen der Funktion + * @return String mit den Karten Eigenschaften + */ + @Override + public String toString() { + return "Karte [FARBE=" + FARBE + ", WERT=" + WERT + ", Ablageort=" + Ablageort + "]"; + } + } diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 47d4ed1..cde915a 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -1,12 +1,166 @@ package de.jaujau.daten; +import java.util.Random; /** - * Class Kartensatz + * Diese Klasse Verwaltet den Kartensatz + * @author Sebastian Kacza */ public class Kartensatz { + public Karte kartensatz[]; + int letztekarte; + + /** + * Konstruktor für den Kartensatz + * Erstellt einen Neuen Kartensatz mit 32 Karten in einem Array + * Die Karten haben dabei die Reihenfolge eines Standart Skat Blattes + */ + public Kartensatz() { + letztekarte = 0; + kartensatz = new Karte[32]; + + //Standart Skat Kartensatz erstellen + kartensatz[0] = new Karte(Farbe.KARO, Wert.SIEBEN); + kartensatz[1] = new Karte(Farbe.KARO, Wert.ACHT); + kartensatz[2] = new Karte(Farbe.KARO, Wert.NEUN); + kartensatz[3] = new Karte(Farbe.KARO, Wert.ZEHN); + kartensatz[4] = new Karte(Farbe.KARO, Wert.BUBE); + kartensatz[5] = new Karte(Farbe.KARO, Wert.DAME); + kartensatz[6] = new Karte(Farbe.KARO, Wert.KOENING); + kartensatz[7] = new Karte(Farbe.KARO, Wert.ASS); + + kartensatz[8] = new Karte(Farbe.HERZ, Wert.SIEBEN); + kartensatz[9] = new Karte(Farbe.HERZ, Wert.ACHT); + kartensatz[10] = new Karte(Farbe.HERZ, Wert.NEUN); + kartensatz[11] = new Karte(Farbe.HERZ, Wert.ZEHN); + kartensatz[12] = new Karte(Farbe.HERZ, Wert.BUBE); + kartensatz[13] = new Karte(Farbe.HERZ, Wert.DAME); + kartensatz[14] = new Karte(Farbe.HERZ, Wert.KOENING); + kartensatz[15] = new Karte(Farbe.HERZ, Wert.ASS); + + kartensatz[16] = new Karte(Farbe.PIK, Wert.SIEBEN); + kartensatz[17] = new Karte(Farbe.PIK, Wert.ACHT); + kartensatz[18] = new Karte(Farbe.PIK, Wert.NEUN); + kartensatz[19] = new Karte(Farbe.PIK, Wert.ZEHN); + kartensatz[20] = new Karte(Farbe.PIK, Wert.BUBE); + kartensatz[21] = new Karte(Farbe.PIK, Wert.DAME); + kartensatz[22] = new Karte(Farbe.PIK, Wert.KOENING); + kartensatz[23] = new Karte(Farbe.PIK, Wert.ASS); + + kartensatz[24] = new Karte(Farbe.KREUZ, Wert.SIEBEN); + kartensatz[25] = new Karte(Farbe.KREUZ, Wert.ACHT); + kartensatz[26] = new Karte(Farbe.KREUZ, Wert.NEUN); + kartensatz[27] = new Karte(Farbe.KREUZ, Wert.ZEHN); + kartensatz[28] = new Karte(Farbe.KREUZ, Wert.BUBE); + kartensatz[29] = new Karte(Farbe.KREUZ, Wert.DAME); + kartensatz[30] = new Karte(Farbe.KREUZ, Wert.KOENING); + kartensatz[31] = new Karte(Farbe.KREUZ, Wert.ASS); + + } + + //!!!Funktioniert noch nicht + /** + * Zieht eine Zufällige karte aus dem Ziestapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand + * Wenn keine Karten mehr auf dem Ziestapel sind werden alle Karten vom Ablagestabel auf den Ziestapel verschoben + * @param spieler Spieler der die Karte auf die Hand bekommen soll + */ + public void ziehen(Spieler spieler) { + //Ziestapel Prüfen + int ZiestapelAnzahl = getZiestapelAnzahl(); + if(ZiestapelAnzahl < 1) { + //Karten vom Ablagestapel auf den Ziestapel verschieben + for(Karte karte: kartensatz) { + if(karte.getAblageort() == Ablageort.ABLAGESTAPEL) { + karte.setAblageort(Ablageort.ZIESTAPEL); + } + } + } + + //Zienummer auswählen + Random random = new Random(); + int auswahl = random.nextInt(ZiestapelAnzahl); + System.out.println(auswahl); + + //Ziekarte bestimmen und + int ZiestapelIndex = 0; + for(Karte karte: kartensatz) { + if(karte.getAblageort() == Ablageort.ZIESTAPEL) { + if(auswahl == ZiestapelIndex) { + //Karte im Ziestaple ist die die Ausgewählt wurde + if(spieler == Spieler.SPIELER) { + karte.setAblageort(Ablageort.SPIELER); + } + if(spieler == Spieler.COMPUTER) { + karte.setAblageort(Ablageort.COMPUTER); + } + } + ZiestapelIndex++; + } + + } + + + } + + + /** + * legt die Karte mit der KartenID x auf den Ablagestapel + * Speicher die KartenID der zuletzgelegt Karte in "letztekarte" + * @param kartenid ID der Karte die Abgeget werden Soll + */ + public void ablegen(int kartenID) { + if((kartenID >= 0) && (kartenID < 32)){ + kartensatz[kartenID].setAblageort(Ablageort.ABLAGESTAPEL); + letztekarte = kartenID; + } + } + + + /** + * gibt die ID der Kartezurück die als letztes auf dem Ablagestabel gelegt wurde + * @return ID der zuletzt gelegten Karte + */ + public int getletzteKarte() { + return letztekarte; + } + + //Methode get Hand + //Kommt noch + + /** + * Gibt eine Karte aus dem Kartensatz zurück + * @param kartenid ID Der Karte (0 - 31) + * @return Karte auf dem Kartensatz mit der ID x + */ + public Karte getKarte(int kartenID) { + if((kartenID >= 0) && (kartenID < 32)){ + return kartensatz[kartenID]; + } + else { + return null; + } + + } + + //Kommt noch + public void SetWunschfarbe(Farbe farbe) { + + } - + + /** + * Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet + * @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden + */ + private int getZiestapelAnzahl() { + int anzahl = 0; + for(Karte karte: kartensatz) { + if(karte.getAblageort() == Ablageort.ZIESTAPEL) { + anzahl++; + } + } + return anzahl; + } } From 5f53fe854a784348f4e4a6faa97578959c4047b6 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Wed, 2 Dec 2020 20:59:42 +0100 Subject: [PATCH 13/33] Klasse Karte fertig, Klasse Kartensatz teilweise fertig --- src/de/jaujau/daten/Karte.java | 2 +- src/de/jaujau/daten/Kartensatz.java | 73 +++++++++++++++++------------ 2 files changed, 45 insertions(+), 30 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 8f80166..96e1b22 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -57,7 +57,7 @@ public class Karte { /** * Gibt die Eigenschaften der Karte aus Text aus - * Diese Methode dient zum Testen der Funktion + * !!!Diese Methode ist nur für Debug-Ausgaben notwendig und kann Später entfernt werden!!! * @return String mit den Karten Eigenschaften */ @Override diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index cde915a..7dc5d12 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -58,48 +58,62 @@ public class Kartensatz { } - //!!!Funktioniert noch nicht + //!!!Es kann noch zu fehler kommen /** * Zieht eine Zufällige karte aus dem Ziestapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand * Wenn keine Karten mehr auf dem Ziestapel sind werden alle Karten vom Ablagestabel auf den Ziestapel verschoben * @param spieler Spieler der die Karte auf die Hand bekommen soll */ - public void ziehen(Spieler spieler) { + public boolean ziehen(Spieler spieler) { + //System.out.println("Start Ziehen"); //Ziestapel Prüfen int ZiestapelAnzahl = getZiestapelAnzahl(); if(ZiestapelAnzahl < 1) { - //Karten vom Ablagestapel auf den Ziestapel verschieben - for(Karte karte: kartensatz) { - if(karte.getAblageort() == Ablageort.ABLAGESTAPEL) { - karte.setAblageort(Ablageort.ZIESTAPEL); + //Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben + for(int i = 0; i < 32; i++) { + if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) { + kartensatz[i].setAblageort(Ablageort.ZIESTAPEL); } } } - //Zienummer auswählen - Random random = new Random(); - int auswahl = random.nextInt(ZiestapelAnzahl); - System.out.println(auswahl); - - //Ziekarte bestimmen und - int ZiestapelIndex = 0; - for(Karte karte: kartensatz) { - if(karte.getAblageort() == Ablageort.ZIESTAPEL) { - if(auswahl == ZiestapelIndex) { - //Karte im Ziestaple ist die die Ausgewählt wurde - if(spieler == Spieler.SPIELER) { - karte.setAblageort(Ablageort.SPIELER); - } - if(spieler == Spieler.COMPUTER) { - karte.setAblageort(Ablageort.COMPUTER); - } - } - ZiestapelIndex++; - } + ZiestapelAnzahl = getZiestapelAnzahl(); + //System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl); + if(ZiestapelAnzahl > 0) { + //Ziekarte bestimmen und + //Zienummer auswählen + //System.out.println("Nummer wählen"); + Random random = new Random(); + int auswahl = random.nextInt(ZiestapelAnzahl); + //System.out.println("Karte Ziehen " + auswahl); + //Wenn Karten auf dem Ziespabel verfügbar sind + int ZiestapelIndex = 0; + for(int i = 0; i < 32; i++) { + //System.out.println("ZielStapelIndex " + ZiestapelIndex); + if(kartensatz[i].getAblageort() == Ablageort.ZIESTAPEL) { + //System.out.println("Suche " + auswahl + " ZieIndex " + ZiestapelIndex + " KartenIndex " + i); + if(auswahl == ZiestapelIndex) { + //System.out.println("Ziehe Karte " + i + " " + kartensatz[i].toString()); + //Karte im Ziestaple ist die die Ausgewählt wurde + if(spieler == Spieler.SPIELER) { + kartensatz[i].setAblageort(Ablageort.SPIELER); + } + if(spieler == Spieler.COMPUTER) { + kartensatz[i].setAblageort(Ablageort.COMPUTER); + } + return true; + } + ZiestapelIndex++; + } + + } } - - + else { + System.out.println("Keine Karten zum ziehen verfügbar!"); + return false; + } + return false; } @@ -142,7 +156,7 @@ public class Kartensatz { } - //Kommt noch + //Methode kommt noch public void SetWunschfarbe(Farbe farbe) { } @@ -150,6 +164,7 @@ public class Kartensatz { /** * Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet + * Wird nur Klassenintern Verwendet * @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden */ private int getZiestapelAnzahl() { From fe5d1abea99c4d4eb8b68276d79a79b7f54b3fcb Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Thu, 3 Dec 2020 09:48:44 +0100 Subject: [PATCH 14/33] Klasse Karte fertig, Klasse Kartensatz fertig --- src/de/jaujau/daten/Karte.java | 2 +- src/de/jaujau/daten/Kartensatz.java | 54 ++++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 96e1b22..1a68c2e 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -36,7 +36,7 @@ public class Karte { * @return Wert der Karte */ public Wert getWERT() { - return WERT; + return WERT; } /** diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 7dc5d12..9e1973a 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -1,5 +1,6 @@ package de.jaujau.daten; +import java.util.ArrayList; import java.util.Random; /** @@ -130,6 +131,7 @@ public class Kartensatz { } + //Funktion geprüft /** * gibt die ID der Kartezurück die als letztes auf dem Ablagestabel gelegt wurde * @return ID der zuletzt gelegten Karte @@ -138,9 +140,35 @@ public class Kartensatz { return letztekarte; } - //Methode get Hand - //Kommt noch + + //Funktion geprüft + /** + * Gibt die Karten Indexe einer Spieler Hand zuück + * Wenn keine Karten auf der Hand liegen wird eine Leere ArrayList zurückgegeben + * @param spieler Spieler + * @return ArrayList von Integer welche die KatrenIndexe enthält, + */ + public ArrayList getHand(Spieler spieler) { + ArrayList hand = new ArrayList(); + for(int i = 0; i < 32; i++) { + //Für Spieler + if(spieler == Spieler.SPIELER) { + if(kartensatz[i].getAblageort() == Ablageort.SPIELER) { + hand.add(i); + } + } + //Für Computer + if(spieler == Spieler.COMPUTER) { + if(kartensatz[i].getAblageort() == Ablageort.COMPUTER) { + hand.add(i); + } + } + } + return hand; + } + + //Funktion geprüft /** * Gibt eine Karte aus dem Kartensatz zurück * @param kartenid ID Der Karte (0 - 31) @@ -156,12 +184,28 @@ public class Kartensatz { } - //Methode kommt noch + //Funktion geprüft + /** + * Legt die Farbe fest die als nächstes auf den Ablagestapel gelegt werden muss + * Dafür wird der "Wünscher" (Bube) der jeweiligen Farbe als letze Karte auf dem Ablegestabel eingetragen + * @param farbe Farbe die sich gewünscht wird + */ public void SetWunschfarbe(Farbe farbe) { - + if(farbe == Farbe.KARO) { + letztekarte = 4; //Karo Bube + } + else if (farbe == Farbe.HERZ) { + letztekarte = 12; //Kerz Bube + } + else if (farbe == Farbe.PIK) { + letztekarte = 20; //Pik Bube + } + else if (farbe == Farbe.KREUZ) { + letztekarte = 28; //Kreuz Bube + } } - + //Funktion geprüft /** * Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet * Wird nur Klassenintern Verwendet From d2892a1437a47403d51eeebb6110ec6536d0ae28 Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 09:49:51 +0100 Subject: [PATCH 15/33] Console Message changed --- src/de/jaujau/spiellogik/Anwendung.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java index e47e42d..c69e298 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -100,7 +100,7 @@ public class Anwendung { public static void main(String[] args) { - System.out.println("Hallo Welt"); + System.out.println("Programm gestartet"); Anwendung jaujau = new Anwendung(); jaujau.gui.setVisible(true); From 9b3d7995ea19d0d72519ce4af6fb55ff6df9a2c5 Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 11:01:22 +0100 Subject: [PATCH 16/33] Anwendung Update --- src/de/jaujau/spiellogik/Anwendung.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java index c69e298..ff56ac0 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -99,7 +99,6 @@ public class Anwendung { public static void main(String[] args) { - System.out.println("Programm gestartet"); Anwendung jaujau = new Anwendung(); jaujau.gui.setVisible(true); From b4603a085afc8a7e903841ae2c9ca7fb02f71837 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Thu, 3 Dec 2020 11:03:00 +0100 Subject: [PATCH 17/33] Klasse Karte fertig, Klasse Kartensatz fertig --- src/de/jaujau/daten/Karte.java | 1 + src/de/jaujau/daten/Kartensatz.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 1a68c2e..3643a32 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -42,6 +42,7 @@ public class Karte { /** * Gibt den Ablageort der Karte zurück * @return Ablageort der Karte + * */ public Ablageort getAblageort() { return Ablageort; diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 9e1973a..d28c0a8 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -64,6 +64,7 @@ public class Kartensatz { * Zieht eine Zufällige karte aus dem Ziestapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand * Wenn keine Karten mehr auf dem Ziestapel sind werden alle Karten vom Ablagestabel auf den Ziestapel verschoben * @param spieler Spieler der die Karte auf die Hand bekommen soll + * */ public boolean ziehen(Spieler spieler) { //System.out.println("Start Ziehen"); From 1f5db08d47bff2d4deba3d47aa4c023cd1c43956 Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 11:09:31 +0100 Subject: [PATCH 18/33] Menue Push --- src/de/jaujau/gui/Menue_GUI.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java index bb1987d..002192c 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -39,7 +39,7 @@ public class Menue_GUI extends JFrame implements ActionListener { private Spielerverwaltung spielerverwaltung; private JFrame frame; - + /** * Create the application. @@ -48,9 +48,9 @@ public class Menue_GUI extends JFrame implements ActionListener { public Menue_GUI(Spielerverwaltung speicherung) { this.spielerverwaltung = speicherung; speicherung.getSpieler(); + System.out.println("Menü-GUI aufgerufen"); initialize(); } - /** * Initialize the contents of the frame. */ @@ -58,12 +58,12 @@ public class Menue_GUI extends JFrame implements ActionListener { //Test GUI für JauJau - private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 783, 762); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new BorderLayout(0, 0)); + frame.setVisible(true); JPanel panel_top = new JPanel(); panel_top.setPreferredSize(new Dimension(200, 100)); From cbc7f5b573eb966837bf673ccf15f4d07594f71d Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 11:10:00 +0100 Subject: [PATCH 19/33] Update Menu --- src/de/jaujau/gui/Menue_GUI.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java index 002192c..fd9765e 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -50,6 +50,7 @@ public class Menue_GUI extends JFrame implements ActionListener { speicherung.getSpieler(); System.out.println("Menü-GUI aufgerufen"); initialize(); + } /** * Initialize the contents of the frame. From 52c2f969b89804832279d31968eb5b4e3f1b6c04 Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 11:10:40 +0100 Subject: [PATCH 20/33] Update GUI --- src/de/jaujau/gui/Menue_GUI.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java index fd9765e..4409147 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -56,7 +56,6 @@ public class Menue_GUI extends JFrame implements ActionListener { * Initialize the contents of the frame. */ - //Test GUI für JauJau private void initialize() { From ec9790f635df2d9e9586f6f92c6966b17864ead3 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Thu, 3 Dec 2020 11:19:34 +0100 Subject: [PATCH 21/33] Rechtschreibfehler in Enum, Karte und Kartensatz entfernt --- src/de/jaujau/daten/Ablageort.java | 2 +- src/de/jaujau/daten/Karte.java | 3 +- src/de/jaujau/daten/Kartensatz.java | 45 ++++++++++++++--------------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/de/jaujau/daten/Ablageort.java b/src/de/jaujau/daten/Ablageort.java index e5fe09e..79aa24a 100755 --- a/src/de/jaujau/daten/Ablageort.java +++ b/src/de/jaujau/daten/Ablageort.java @@ -1,5 +1,5 @@ package de.jaujau.daten; public enum Ablageort { - SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL + SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL } diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 3643a32..6b9b5aa 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -20,7 +20,7 @@ public class Karte { public Karte(Farbe f, Wert w) { FARBE = f; WERT = w; - Ablageort = de.jaujau.daten.Ablageort.ZIESTAPEL; + Ablageort = de.jaujau.daten.Ablageort.ZIEHSTAPEL; } /** @@ -42,7 +42,6 @@ public class Karte { /** * Gibt den Ablageort der Karte zurück * @return Ablageort der Karte - * */ public Ablageort getAblageort() { return Ablageort; diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index d28c0a8..315f2e6 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -61,43 +61,42 @@ public class Kartensatz { //!!!Es kann noch zu fehler kommen /** - * Zieht eine Zufällige karte aus dem Ziestapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand - * Wenn keine Karten mehr auf dem Ziestapel sind werden alle Karten vom Ablagestabel auf den Ziestapel verschoben + * Zieht eine Zufällige karte aus dem Ziehstapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand + * Wenn keine Karten mehr auf dem Ziehstapel sind werden alle Karten vom Ablagestabel auf den Ziehstapel verschoben * @param spieler Spieler der die Karte auf die Hand bekommen soll - * */ public boolean ziehen(Spieler spieler) { //System.out.println("Start Ziehen"); - //Ziestapel Prüfen - int ZiestapelAnzahl = getZiestapelAnzahl(); - if(ZiestapelAnzahl < 1) { - //Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben + //Ziehstapel Prüfen + int ZiehstapelAnzahl = getZiehstapelAnzahl(); + if(ZiehstapelAnzahl < 1) { + //Alle Karten vom Ablagestapel ausßer letze auf den Ziehstapel verschieben for(int i = 0; i < 32; i++) { if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) { - kartensatz[i].setAblageort(Ablageort.ZIESTAPEL); + kartensatz[i].setAblageort(Ablageort.ZIEHSTAPEL); } } } - ZiestapelAnzahl = getZiestapelAnzahl(); - //System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl); - if(ZiestapelAnzahl > 0) { + ZiehstapelAnzahl = getZiehstapelAnzahl(); + //System.out.println("ZiehStapel Anzahl " + ZiehstapelAnzahl); + if(ZiehstapelAnzahl > 0) { //Ziekarte bestimmen und //Zienummer auswählen //System.out.println("Nummer wählen"); Random random = new Random(); - int auswahl = random.nextInt(ZiestapelAnzahl); + int auswahl = random.nextInt(ZiehstapelAnzahl); //System.out.println("Karte Ziehen " + auswahl); - //Wenn Karten auf dem Ziespabel verfügbar sind - int ZiestapelIndex = 0; + //Wenn Karten auf dem Ziehspabel verfügbar sind + int ZiehstapelIndex = 0; for(int i = 0; i < 32; i++) { - //System.out.println("ZielStapelIndex " + ZiestapelIndex); - if(kartensatz[i].getAblageort() == Ablageort.ZIESTAPEL) { - //System.out.println("Suche " + auswahl + " ZieIndex " + ZiestapelIndex + " KartenIndex " + i); - if(auswahl == ZiestapelIndex) { + //System.out.println("ZielStapelIndex " + ZiehstapelIndex); + if(kartensatz[i].getAblageort() == Ablageort.ZIEHSTAPEL) { + //System.out.println("Suche " + auswahl + " ZieIndex " + ZiehstapelIndex + " KartenIndex " + i); + if(auswahl == ZiehstapelIndex) { //System.out.println("Ziehe Karte " + i + " " + kartensatz[i].toString()); - //Karte im Ziestaple ist die die Ausgewählt wurde + //Karte im Ziehstaple ist die die Ausgewählt wurde if(spieler == Spieler.SPIELER) { kartensatz[i].setAblageort(Ablageort.SPIELER); } @@ -106,7 +105,7 @@ public class Kartensatz { } return true; } - ZiestapelIndex++; + ZiehstapelIndex++; } } @@ -208,14 +207,14 @@ public class Kartensatz { //Funktion geprüft /** - * Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet + * Dies Funktion Prüft ob sich auf dem Ziehstapel noch mindestes eine Karte Befindet * Wird nur Klassenintern Verwendet * @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden */ - private int getZiestapelAnzahl() { + private int getZiehstapelAnzahl() { int anzahl = 0; for(Karte karte: kartensatz) { - if(karte.getAblageort() == Ablageort.ZIESTAPEL) { + if(karte.getAblageort() == Ablageort.ZIEHSTAPEL) { anzahl++; } } From 96e72a1e8e4d239d8dc7edfd8b16575c1fccc425 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Thu, 3 Dec 2020 12:19:48 +0100 Subject: [PATCH 22/33] =?UTF-8?q?Erste=20Grundstrukturen=20f=C3=BCr=20die?= =?UTF-8?q?=20Zug-Pr=C3=BCfung=20in=20Spiel.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Spiel.java | 55 ++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 98db592..68bc9b6 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -1,8 +1,9 @@ package de.jaujau.spiellogik; -import java.util.*; - +import de.jaujau.daten.Farbe; import de.jaujau.daten.Kartensatz; +import de.jaujau.daten.Spieler; +import de.jaujau.daten.Wert; /** @@ -10,7 +11,51 @@ import de.jaujau.daten.Kartensatz; */ public class Spiel { - - - + private Spieler spieler; + private Spieler amZug; + private boolean aussetzen; + private boolean zwei_ziehen; + private Kartensatz kartensatz; + + private void spiel() { + + } + + private void zug(Spieler name) { + + } + + private boolean pruefeMoeglichkeitLegen(int Kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? + Farbe legenFarbe; + Wert legenWert; + Farbe liegtFarbe; + Wert liegtWert; + legenFarbe = kartensatz.getKarte(Kartenindex).getFARBE(); + legenWert = kartensatz.getKarte(Kartenindex).getWERT(); + liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); + liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); + + if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) { + return true; + } + if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) { + return true; + } + if(!aussetzen && !zwei_ziehen) { + if(legenFarbe == liegtFarbe) { + return true; + } + if(legenWert == liegtWert) { + return true; + } + } + return false; + } + + private boolean pruefeMoeglichkeitZiehen(int Kartenindex) { + if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) { + return false; + } + return true; + } } From 5816595d10999c7661f21b9705aeb0d9296744d1 Mon Sep 17 00:00:00 2001 From: ekresse Date: Thu, 3 Dec 2020 12:57:04 +0100 Subject: [PATCH 23/33] GUI Upgrade --- src/de/jaujau/daten/Spielerverwaltung.java | 3 +- src/de/jaujau/gui/Menue_GUI.java | 164 +++++++++++++++++---- 2 files changed, 140 insertions(+), 27 deletions(-) diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java index 911056d..bf9ff77 100644 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -13,7 +13,7 @@ public class Spielerverwaltung { // private int level; - private String name; + private String name = "Mark Zuckerberg"; //Testeintrag /** * arraylist von Spieler */ @@ -55,6 +55,7 @@ public class Spielerverwaltung { * @return the value of level */ public String getName () { + return name; } diff --git a/src/de/jaujau/gui/Menue_GUI.java b/src/de/jaujau/gui/Menue_GUI.java index 4409147..bc40257 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -16,6 +16,7 @@ import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.ImageIcon; import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; import de.jaujau.daten.Spielerverwaltung; @@ -30,14 +31,15 @@ import java.net.URL; import java.awt.Component; import java.awt.Font; -public class Menue_GUI extends JFrame implements ActionListener { +public class Menue_GUI extends GUI implements ActionListener { /** * */ private static final long serialVersionUID = 1L; private Spielerverwaltung spielerverwaltung; - private JFrame frame; + private JPanel contentPane; + private boolean shown = true; @@ -49,7 +51,7 @@ public class Menue_GUI extends JFrame implements ActionListener { this.spielerverwaltung = speicherung; speicherung.getSpieler(); System.out.println("Menü-GUI aufgerufen"); - initialize(); + initialize(this.spielerverwaltung); } /** @@ -58,17 +60,17 @@ public class Menue_GUI extends JFrame implements ActionListener { //Test GUI für JauJau - private void initialize() { - frame = new JFrame(); - frame.setBounds(100, 100, 783, 762); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.getContentPane().setLayout(new BorderLayout(0, 0)); - frame.setVisible(true); + private void initialize(Spielerverwaltung speicherung) { + this.spielerverwaltung = speicherung; + setBounds(100, 100, 963, 762); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + getContentPane().setLayout(new BorderLayout(0, 0)); + setVisible(true); JPanel panel_top = new JPanel(); panel_top.setPreferredSize(new Dimension(200, 100)); panel_top.setBackground(new Color(0, 0, 128)); - frame.getContentPane().add(panel_top, BorderLayout.NORTH); + this.getContentPane().add(panel_top, BorderLayout.NORTH); panel_top.setLayout(new BorderLayout(0, 0)); JLabel lblNewLabel_1 = new JLabel("JauJau"); @@ -81,42 +83,153 @@ public class Menue_GUI extends JFrame implements ActionListener { panel_top.add(lblNewLabel_1, BorderLayout.CENTER); JPanel panel_side = new JPanel(); - panel_side.setBackground(new Color(100, 149, 237)); - panel_side.setPreferredSize(new Dimension(200, 400)); - frame.getContentPane().add(panel_side, BorderLayout.WEST); + panel_side.setBackground(new Color(0, 51, 153)); + panel_side.setPreferredSize(new Dimension(270, 400)); + this.getContentPane().add(panel_side, BorderLayout.WEST); 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)); + panel_buttons.setLayout(null); JPanel panel = new JPanel(); + panel.setBounds(0, 0, 50, 50); panel.setBackground(new Color(0, 0, 153)); panel.setPreferredSize(new Dimension(50, 50)); - panel_buttons.add(panel, BorderLayout.NORTH); + panel_buttons.add(panel); panel.setLayout(new BorderLayout(0, 0)); - JLabel lblNewLabel = new JLabel(""); - lblNewLabel.addMouseListener(new MouseAdapter() { + JLabel minimize = new JLabel(""); + minimize.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - panel_side.setVisible(false); + if(shown == true) { + panel_side.setPreferredSize(new Dimension(50, panel_side.getHeight())); + System.out.println("Update GUI 50"); + panel_side.revalidate(); + panel_side.repaint(); + shown = false; + }else{ + panel_side.setPreferredSize(new Dimension(270, panel_side.getHeight())); + System.out.println("Update GUI 270"); + panel_side.revalidate(); + panel_side.repaint(); + shown = true; + } } }); - lblNewLabel.setPreferredSize(new Dimension(50, 50)); - lblNewLabel.setAlignmentX(Component.CENTER_ALIGNMENT); - lblNewLabel.setHorizontalTextPosition(SwingConstants.CENTER); - lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); + minimize.setPreferredSize(new Dimension(50, 50)); + minimize.setAlignmentX(Component.CENTER_ALIGNMENT); + minimize.setHorizontalTextPosition(SwingConstants.CENTER); + minimize.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); + minimize.setIcon(imageIcon); + panel.add(minimize, BorderLayout.CENTER); + + JPanel buttons = new JPanel(); + buttons.setBackground(new Color(51, 51, 153)); + panel_side.add(buttons, BorderLayout.CENTER); + buttons.setLayout(new BorderLayout(0, 0)); + + JPanel panel_4 = new JPanel(); + panel_4.setBackground(new Color(0, 51, 153)); + buttons.add(panel_4, BorderLayout.CENTER); + panel_4.setLayout(null); + + JLabel start = new JLabel("Spiel starten"); + start.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + //Spiel starten Spiel_GUI und schließe Menue_GUI (wechsel) und Spiellogikaufrufen + System.out.println("Start Game"); + } + }); + start.setBackground(Color.WHITE); + start.setForeground(Color.WHITE); + start.setFont(new Font("Segoe UI", Font.PLAIN, 26)); + start.setHorizontalAlignment(SwingConstants.CENTER); + start.setAlignmentX(Component.CENTER_ALIGNMENT); + start.setBounds(0, 0, 220, 31); + panel_4.add(start); + + JLabel score = new JLabel("Highscore"); + score.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + //Rechtes Panel ändern und Highscore aus jaujaudaten abrufen. + System.out.println("Highscore"); + } + }); + score.setBackground(Color.WHITE); + score.setForeground(Color.WHITE); + score.setFont(new Font("Segoe UI", Font.PLAIN, 26)); + score.setHorizontalAlignment(SwingConstants.CENTER); + score.setAlignmentX(Component.CENTER_ALIGNMENT); + score.setBounds(0, 42, 220, 31); + panel_4.add(score); + + JLabel settings = new JLabel("Einstellungen"); + settings.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + //Rechtes Panel ändern und Einstellungen aufrufen + System.out.println("Highscore"); + } + }); + settings.setBackground(Color.WHITE); + settings.setForeground(Color.WHITE); + settings.setFont(new Font("Segoe UI", Font.PLAIN, 26)); + settings.setHorizontalAlignment(SwingConstants.CENTER); + settings.setAlignmentX(Component.CENTER_ALIGNMENT); + settings.setBounds(0, 84, 220, 31); + panel_4.add(settings); + + JLabel help = new JLabel("Hilfe"); + help.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + //Starte Hilfe GUI Menue_GUI bleibt geöffnet + System.out.println("Hilfe"); + } + }); + help.setBackground(Color.WHITE); + help.setForeground(Color.WHITE); + help.setFont(new Font("Segoe UI", Font.PLAIN, 26)); + help.setHorizontalAlignment(SwingConstants.CENTER); + help.setAlignmentX(Component.CENTER_ALIGNMENT); + help.setBounds(0, 126, 220, 31); + panel_4.add(help); JPanel panel_main = new JPanel(); panel_main.setPreferredSize(new Dimension(600, 600)); - frame.getContentPane().add(panel_main, BorderLayout.CENTER); + this.getContentPane().add(panel_main, BorderLayout.CENTER); + panel_main.setLayout(new BoxLayout(panel_main, BoxLayout.X_AXIS)); + + JPanel panel_1 = new JPanel(); + panel_1.setBackground(new Color(102, 153, 255)); + panel_main.add(panel_1); + panel_1.setLayout(new BorderLayout(0, 0)); + + JPanel panel_2 = new JPanel(); + panel_2.setBackground(new Color(51, 153, 204)); + panel_1.add(panel_2, BorderLayout.CENTER); + panel_2.setLayout(new BorderLayout(0, 0)); + + JLabel lblNewLabel_2 = new JLabel("Name: "); + lblNewLabel_2.setForeground(Color.WHITE); + lblNewLabel_2.setFont(new Font("Segoe UI", Font.PLAIN, 26)); + lblNewLabel_2.setBackground(new Color(51, 153, 204)); + panel_2.add(lblNewLabel_2, BorderLayout.NORTH); + lblNewLabel_2.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel_2.setVerticalAlignment(SwingConstants.TOP); + lblNewLabel_2.setText("Name: " + speicherung.getName()); + + JPanel panel_3 = new JPanel(); + panel_3.setBackground(new Color(51, 153, 204)); + panel_2.add(panel_3, BorderLayout.CENTER); } @Override @@ -124,5 +237,4 @@ public class Menue_GUI extends JFrame implements ActionListener { // TODO Auto-generated method stub } - } From 33ffdc5c981d9c724e81aa217e7ea26412f180c8 Mon Sep 17 00:00:00 2001 From: akarkout Date: Wed, 9 Dec 2020 08:57:00 +0100 Subject: [PATCH 24/33] Anwendung und Spielerdaten (Test) --- .project | 11 +++++ src/de/jaujau/daten/Spielerdaten.java | 21 +++++++-- src/de/jaujau/daten/Spielerverwaltung.java | 40 +++++----------- src/de/jaujau/spiellogik/Anwendung.java | 55 +++++++--------------- 4 files changed, 57 insertions(+), 70 deletions(-) diff --git a/.project b/.project index a71a1b2..d95d958 100644 --- a/.project +++ b/.project @@ -14,4 +14,15 @@ org.eclipse.jdt.core.javanature + + + 1606897925456 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/src/de/jaujau/daten/Spielerdaten.java b/src/de/jaujau/daten/Spielerdaten.java index f75bc68..cd205fb 100644 --- a/src/de/jaujau/daten/Spielerdaten.java +++ b/src/de/jaujau/daten/Spielerdaten.java @@ -1,14 +1,25 @@ package de.jaujau.daten; - -import java.util.*; - +import de.jaujau.spiellogik.Spiel; /** * Class Spieler */ + public class Spielerdaten { + int punktestand; //Punktestand des Spielers + String name /*= Spieler.getSpieler()*/; // Name des Spielers - - + public void punktestandErhoehen(int punkt){ // Methode zum Erhoehen des Punktestandes + punktestand += punkt ; + + } + + public int getPunktestand() { + return punktestand; + } + + public String getName() { + return name; + } } diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java index b73d583..933b08b 100644 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -1,45 +1,25 @@ package de.jaujau.daten; -import java.util.*; -/** - * Class Spielerverwaltung - */ + public class Spielerverwaltung { - // - // Fields - // - private int level; - /** - * arraylist von Spieler - */ - private Spieler spieler; - - // - // Constructors - // - public Spielerverwaltung () { }; + private Spielerdaten spieler; // // Methods - // - - // // Accessor methods // - /** * Set the value of level * @param newVar the new value of level */ - public void setLevel (int newVar) { - level = newVar; + public void setLevel (int newlevel) { + level = newlevel; } - /** * Get the value of level * @return the value of level @@ -53,8 +33,8 @@ public class Spielerverwaltung { * arraylist von Spieler * @param newVar the new value of spieler */ - public void setSpieler (Spieler newVar) { - spieler = newVar; + public void setSpieler (Spielerdaten newSpieler) { + spieler = newSpieler; } /** @@ -62,7 +42,7 @@ public class Spielerverwaltung { * arraylist von Spieler * @return the value of spieler */ - public Spieler getSpieler () { + public Spielerdaten getSpieler () { return spieler; } @@ -74,6 +54,7 @@ public class Spielerverwaltung { */ public void leseDaten() { + throw new UnsupportedOperationException(); } @@ -81,7 +62,10 @@ public class Spielerverwaltung { */ public void speichernDaten() { + throw new UnsupportedOperationException(); } - + public Spielerverwaltung () { + //Implementieren + }; } diff --git a/src/de/jaujau/spiellogik/Anwendung.java b/src/de/jaujau/spiellogik/Anwendung.java index d586ef4..ca3cc41 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -1,48 +1,29 @@ package de.jaujau.spiellogik; -import java.util.*; - import de.jaujau.daten.Spielerverwaltung; import de.jaujau.daten.Texturenpakete; import de.jaujau.gui.GUI; -/** - * Class Anwendung - */ public class Anwendung { - // - // Fields - // - private Spiel aktuellesSpiel; private Texturenpakete texturenpakete; private Spielerverwaltung speicherung; - private GUI gui; - - // - // Constructors - // - public Anwendung () { }; - + private static GUI gui; // // Methods - // - - + // // Accessor methods // - /** * Set the value of aktuellesSpiel * @param newVar the new value of aktuellesSpiel */ - public void setAktuellesSpiel (Spiel newVar) { - aktuellesSpiel = newVar; + public void setAktuellesSpiel (Spiel newSpiel) { + aktuellesSpiel = newSpiel; } - /** * Get the value of aktuellesSpiel * @return the value of aktuellesSpiel @@ -50,15 +31,13 @@ public class Anwendung { public Spiel getAktuellesSpiel () { return aktuellesSpiel; } - /** * Set the value of texturenpakete * @param newVar the new value of texturenpakete */ - public void setTexturenpakete (Texturenpakete newVar) { - texturenpakete = newVar; + public void setTexturenpakete (Texturenpakete newTexture) { + texturenpakete = newTexture; } - /** * Get the value of texturenpakete * @return the value of texturenpakete @@ -66,15 +45,13 @@ public class Anwendung { public Texturenpakete getTexturenpakete () { return texturenpakete; } - /** * Set the value of speicherung * @param newVar the new value of speicherung */ - public void setSpeicherung (Spielerverwaltung newVar) { - speicherung = newVar; + public void setSpeicherung (Spielerverwaltung newVer) { + speicherung = newVer; } - /** * Get the value of speicherung * @return the value of speicherung @@ -87,7 +64,7 @@ public class Anwendung { * Set the value of gui * @param newVar the new value of gui */ - public void setGui (GUI newVar) { + public static void setGui (GUI newVar) { gui = newVar; } @@ -95,18 +72,22 @@ public class Anwendung { * Get the value of gui * @return the value of gui */ - public GUI getGui () { + public static GUI getGui () { return gui; } - + // // Other methods // - + public static void openGui() { // GUI oeffnen! + gui = new GUI(); + setGui(gui); + getGui(); + } /** */ - public void main() - { + public static void main(String[] args){ + openGui(); } From 6ac5f1f4757d5ff45b68940cca340c40b6248894 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Fri, 11 Dec 2020 11:25:11 +0100 Subject: [PATCH 25/33] Karten Eigenschaften final gesetzet --- src/de/jaujau/daten/Karte.java | 4 ++-- src/de/jaujau/daten/Kartensatz.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 6b9b5aa..72873f5 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -7,8 +7,8 @@ package de.jaujau.daten; * @author Sebastian Kacza */ public class Karte { - private Farbe FARBE; - private Wert WERT; + private final Farbe FARBE; + private final Wert WERT; private Ablageort Ablageort; /** diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 315f2e6..5c08d03 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -68,8 +68,8 @@ public class Kartensatz { public boolean ziehen(Spieler spieler) { //System.out.println("Start Ziehen"); //Ziehstapel Prüfen - int ZiehstapelAnzahl = getZiehstapelAnzahl(); - if(ZiehstapelAnzahl < 1) { + int ZiehstapelAnzahl = getZiehstapelAnzahl(); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden???? + if(ZiehstapelAnzahl < 1) { //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden???? //Alle Karten vom Ablagestapel ausßer letze auf den Ziehstapel verschieben for(int i = 0; i < 32; i++) { if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) { @@ -78,14 +78,14 @@ public class Kartensatz { } } - ZiehstapelAnzahl = getZiehstapelAnzahl(); + ZiehstapelAnzahl = getZiehstapelAnzahl(); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden???? //System.out.println("ZiehStapel Anzahl " + ZiehstapelAnzahl); - if(ZiehstapelAnzahl > 0) { + if(ZiehstapelAnzahl > 0) { //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden???? //Ziekarte bestimmen und //Zienummer auswählen //System.out.println("Nummer wählen"); Random random = new Random(); - int auswahl = random.nextInt(ZiehstapelAnzahl); + int auswahl = random.nextInt(ZiehstapelAnzahl); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden???? //System.out.println("Karte Ziehen " + auswahl); //Wenn Karten auf dem Ziehspabel verfügbar sind From 12ed12e31e0316d5050d7439d5cae1229d9ca329 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Fri, 11 Dec 2020 12:02:59 +0100 Subject: [PATCH 26/33] =?UTF-8?q?Weiterentwicklung=20von=20legen(),=20zieh?= =?UTF-8?q?en()=20und=20erste=20Idee=20f=C3=BCr=20spiel()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Spiel.java | 55 ++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 68bc9b6..29e8552 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -1,5 +1,7 @@ package de.jaujau.spiellogik; +import java.util.Random; + import de.jaujau.daten.Farbe; import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Spieler; @@ -11,51 +13,72 @@ import de.jaujau.daten.Wert; */ public class Spiel { - private Spieler spieler; private Spieler amZug; + private boolean spielgestartet = false; private boolean aussetzen; private boolean zwei_ziehen; private Kartensatz kartensatz; private void spiel() { - + if(spielgestartet) { + Random zufallszahl = new Random(); + int zahl = zufallszahl.nextInt(1); + if(zahl == 1) { + amZug = Spieler.SPIELER; + } + else { + amZug = Spieler.COMPUTER; + } + spielgestartet = true; + kartensatz.ablegen(zufallszahl.nextInt(31)); + return; + } + if(amZug == Spieler.SPIELER) { + amZug = Spieler.COMPUTER; + } + else { + amZug= Spieler.SPIELER; + } } - private void zug(Spieler name) { - - } - private boolean pruefeMoeglichkeitLegen(int Kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? + /** + * @param kartenindex + */ + private void legen(int kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? Farbe legenFarbe; Wert legenWert; Farbe liegtFarbe; Wert liegtWert; - legenFarbe = kartensatz.getKarte(Kartenindex).getFARBE(); - legenWert = kartensatz.getKarte(Kartenindex).getWERT(); + legenFarbe = kartensatz.getKarte(kartenindex).getFARBE(); + legenWert = kartensatz.getKarte(kartenindex).getWERT(); liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(!aussetzen && !zwei_ziehen) { if(legenFarbe == liegtFarbe) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(legenWert == liegtWert) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } } - return false; } - private boolean pruefeMoeglichkeitZiehen(int Kartenindex) { + private void ziehen(int Kartenindex) { if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) { - return false; + kartensatz.ziehen(amZug); + spiel(); } - return true; } } From b74a6c6b323a7f2f04b35c69a3ff9699b67221df Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Fri, 11 Dec 2020 14:56:55 +0100 Subject: [PATCH 27/33] =?UTF-8?q?UnitTest=20f=C3=BCr=20Kartensatz=20hinzug?= =?UTF-8?q?ef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 1 + src/de/jaujau/daten/TEST_Kartensatz.java | 94 ++++++++++++++++++++++++ src/de/jaujau/daten/Texturenpakete.java | 3 +- 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100755 src/de/jaujau/daten/TEST_Kartensatz.java diff --git a/.classpath b/.classpath index 9b07da8..afbfe1a 100644 --- a/.classpath +++ b/.classpath @@ -2,5 +2,6 @@ + diff --git a/src/de/jaujau/daten/TEST_Kartensatz.java b/src/de/jaujau/daten/TEST_Kartensatz.java new file mode 100755 index 0000000..4d9369e --- /dev/null +++ b/src/de/jaujau/daten/TEST_Kartensatz.java @@ -0,0 +1,94 @@ +package de.jaujau.daten; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TEST_Kartensatz { + + private Kartensatz satz; + + @BeforeEach + public void Setup() { + satz = new Kartensatz(); + assertNotNull(satz); + } + + @Test + void ziehenSpieler() { + for(int i = 0; i < 32; i++) { + //Spieler hat zu angang keine Karten auf der Hand + assertTrue(satz.getHand(Spieler.SPIELER).size()==i); + + //Karte Ziehen + assertTrue(satz.ziehen(Spieler.SPIELER)); + + //Spieler hat eine Karte auf der Hand + assertTrue(satz.getHand(Spieler.SPIELER).size()==i+1); + } + } + + @Test + void ziehenComputer() { + for(int i = 0; i < 32; i++) { + //Computer hat zu angang keine Karten auf der Hand + assertTrue(satz.getHand(Spieler.SPIELER).size()==i); + + //Karte Ziehen + assertTrue(satz.ziehen(Spieler.SPIELER)); + + //Computer hat eine Karte auf der Hand + assertTrue(satz.getHand(Spieler.SPIELER).size()==i+1); + } + } + + @Test + void WunschfarbeSetzen() { + satz.SetWunschfarbe(Farbe.HERZ); + assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.HERZ); + + satz.SetWunschfarbe(Farbe.KARO); + assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.KARO); + + satz.SetWunschfarbe(Farbe.KREUZ); + assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.KREUZ); + + satz.SetWunschfarbe(Farbe.PIK); + assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.PIK); + } + + @Test + void legeKarte() { + + //Kein Spieler hat ein Karte + assertTrue(satz.getHand(Spieler.SPIELER).size()==0); + assertTrue(satz.getHand(Spieler.COMPUTER).size()==0); + + //Computer und Spieler Zihen jeweils eine Karte + assertTrue(satz.ziehen(Spieler.SPIELER)); + assertTrue(satz.ziehen(Spieler.COMPUTER)); + + //Jetzt muss jeder Spieler ein KArte auf der Hand haben + assertTrue(satz.getHand(Spieler.SPIELER).size()==1); + assertTrue(satz.getHand(Spieler.COMPUTER).size()==1); + + //KartenIndex der Spieler auslesen + int karteSpieler = satz.getHand(Spieler.SPIELER).get(0); + int karteComputer = satz.getHand(Spieler.COMPUTER).get(0); + + //Die Karten drüfen nicht gleich sein + assertTrue(karteSpieler != karteComputer); + + //Spieler legt Karte auf Ablagestapel + satz.ablegen(karteSpieler); + assertTrue(karteSpieler == satz.letztekarte); + assertTrue(satz.getHand(Spieler.SPIELER).size()==0); + + //Computer legt Karte auf Ablagestapel + satz.ablegen(karteComputer); + assertTrue(karteComputer == satz.letztekarte); + assertTrue(satz.getHand(Spieler.COMPUTER).size()==0); + + } +} diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java index c8a3c6d..daa9a62 100644 --- a/src/de/jaujau/daten/Texturenpakete.java +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -2,7 +2,8 @@ package de.jaujau.daten; /** - * Class Texturenpakete + * Diese Klasse Verwaltet die Texturen des Spiel + * @author Sebastian Kacza */ public class Texturenpakete { From 1d2a615f09e83e7f8450afff99932162289f0399 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Sat, 12 Dec 2020 10:37:06 +0100 Subject: [PATCH 28/33] Begin der Implementierung der Texturen Packet Klasse + Testklassen --- src/de/jaujau/daten/TEST_Texturenpaket.java | 23 +++++++ src/de/jaujau/daten/TEST_Texturenpakete.java | 22 +++++++ src/de/jaujau/daten/Texturenpaket.java | 63 ++++++++++++++++++++ src/de/jaujau/daten/Texturenpakete.java | 8 ++- 4 files changed, 114 insertions(+), 2 deletions(-) create mode 100755 src/de/jaujau/daten/TEST_Texturenpaket.java create mode 100755 src/de/jaujau/daten/TEST_Texturenpakete.java create mode 100755 src/de/jaujau/daten/Texturenpaket.java diff --git a/src/de/jaujau/daten/TEST_Texturenpaket.java b/src/de/jaujau/daten/TEST_Texturenpaket.java new file mode 100755 index 0000000..abe340a --- /dev/null +++ b/src/de/jaujau/daten/TEST_Texturenpaket.java @@ -0,0 +1,23 @@ +package de.jaujau.daten; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TEST_Texturenpaket { + + private Texturenpaket paket; + + @BeforeEach + void setUp() throws Exception { + paket = new Texturenpaket("/home/sebastian/testpacket.zip"); + + } + + @Test + void PacketLaden() { + assertTrue(paket.ladePacket()); + } + +} diff --git a/src/de/jaujau/daten/TEST_Texturenpakete.java b/src/de/jaujau/daten/TEST_Texturenpakete.java new file mode 100755 index 0000000..228bcae --- /dev/null +++ b/src/de/jaujau/daten/TEST_Texturenpakete.java @@ -0,0 +1,22 @@ +package de.jaujau.daten; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TEST_Texturenpakete { + + private Texturenpakete pakete; + + @BeforeEach + void setUp() throws Exception { + pakete = new Texturenpakete(); + } + + @Test + void test() { + fail("Not yet implemented"); + } + +} diff --git a/src/de/jaujau/daten/Texturenpaket.java b/src/de/jaujau/daten/Texturenpaket.java new file mode 100755 index 0000000..6d36a82 --- /dev/null +++ b/src/de/jaujau/daten/Texturenpaket.java @@ -0,0 +1,63 @@ +package de.jaujau.daten; + +import java.awt.Image; + +/** + * Verwaltet ein Texturenpackt + * @author Sebastian Kacza + * + */ +public class Texturenpaket { + + private final String name; + private final int level; + private final String pfad; + + + /** + * Erstellt ein neues Texturenpackt + * @param Pfad zu der Zip-Datei des Texturenpacketes + */ + public Texturenpaket(String Pfad) { + name = "Nicht geladen"; + level = 0; + pfad = Pfad; + } + + + /** + * Läd die Packetinformationen und Testet das Packet auf Vollständigkeit + * @return Paket vollständig laden, true/false + */ + public boolean ladePacket() { + return true; + } + + + /** + * Gibt ein Bild das dem Texturenpacket zurück + * @param KartenID der Textur + * @return Image der Textur + */ + public Image getTextur(int KartenID) { + return null; + } + + + /** + * Gibt den Namen des Texturenpacket zurück + * @return Name des Texturenpacketes + */ + public String getName() { + return name; + } + + + /** + * Gibt den Level Wert zurück der mindestens Benötigt wird um das Packet zu benutzten + * @return Mindest Level + */ + public int getLevel() { + return level; + } +} diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java index daa9a62..2dea05f 100644 --- a/src/de/jaujau/daten/Texturenpakete.java +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -2,12 +2,16 @@ package de.jaujau.daten; /** - * Diese Klasse Verwaltet die Texturen des Spiel + * Diese Klasse Verwaltet die Texturenpackete des Spiels * @author Sebastian Kacza */ public class Texturenpakete { + public Texturenpakete(){ + + } - + + } From d809f936a57f37b348561dd762899b2c9ad9934a Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Sat, 12 Dec 2020 15:25:31 +0100 Subject: [PATCH 29/33] Paket UnitTest erstellt und Test Klassen dorthin verschoben --- src/de/jaujau/{daten => UnitTests}/TEST_Kartensatz.java | 0 src/de/jaujau/{daten => UnitTests}/TEST_Texturenpaket.java | 0 src/de/jaujau/{daten => UnitTests}/TEST_Texturenpakete.java | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/de/jaujau/{daten => UnitTests}/TEST_Kartensatz.java (100%) rename src/de/jaujau/{daten => UnitTests}/TEST_Texturenpaket.java (100%) rename src/de/jaujau/{daten => UnitTests}/TEST_Texturenpakete.java (100%) diff --git a/src/de/jaujau/daten/TEST_Kartensatz.java b/src/de/jaujau/UnitTests/TEST_Kartensatz.java similarity index 100% rename from src/de/jaujau/daten/TEST_Kartensatz.java rename to src/de/jaujau/UnitTests/TEST_Kartensatz.java diff --git a/src/de/jaujau/daten/TEST_Texturenpaket.java b/src/de/jaujau/UnitTests/TEST_Texturenpaket.java similarity index 100% rename from src/de/jaujau/daten/TEST_Texturenpaket.java rename to src/de/jaujau/UnitTests/TEST_Texturenpaket.java diff --git a/src/de/jaujau/daten/TEST_Texturenpakete.java b/src/de/jaujau/UnitTests/TEST_Texturenpakete.java similarity index 100% rename from src/de/jaujau/daten/TEST_Texturenpakete.java rename to src/de/jaujau/UnitTests/TEST_Texturenpakete.java From 75e15aa002022ff60f9ec16ca3995a46598c985b Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Sat, 12 Dec 2020 15:52:50 +0100 Subject: [PATCH 30/33] =?UTF-8?q?Erste=20Kommentierung,=20hinzuf=C3=BCgen?= =?UTF-8?q?=20von=20zugMoeglich()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Spiel.java | 74 +++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 14 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 29e8552..4c5572c 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -9,7 +9,8 @@ import de.jaujau.daten.Wert; /** - * Class Spiel + * Diese Klasse prüft die Spielaktionen und alterniert zwischen Spieler und Computer + * @author Fabian Keller */ public class Spiel { @@ -17,10 +18,17 @@ public class Spiel { private boolean spielgestartet = false; private boolean aussetzen; private boolean zwei_ziehen; + private int kartenZiehen; private Kartensatz kartensatz; + private Farbe gelegteFarbe; + private Wert gelegterWert; + + /** + * alterniert zwischen Spieler und Computer und legt Beginner fest + */ private void spiel() { - if(spielgestartet) { + if(!spielgestartet) { //Starter durch zufall bestimmen Random zufallszahl = new Random(); int zahl = zufallszahl.nextInt(1); if(zahl == 1) { @@ -43,42 +51,80 @@ public class Spiel { /** + * prüft ob eine Karte mit einem bestimmten Kartenindex gelegt werden kann * @param kartenindex */ - private void legen(int kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? + private void karteLegen(int kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? + zugMoeglich(); Farbe legenFarbe; Wert legenWert; - Farbe liegtFarbe; - Wert liegtWert; legenFarbe = kartensatz.getKarte(kartenindex).getFARBE(); legenWert = kartensatz.getKarte(kartenindex).getWERT(); - liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); - liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); - if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) { + if(zwei_ziehen && legenWert == Wert.SIEBEN) { kartensatz.ablegen(kartenindex); spiel(); + return; } - if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) { + if(aussetzen && legenWert == Wert.ACHT) { kartensatz.ablegen(kartenindex); spiel(); + return; } if(!aussetzen && !zwei_ziehen) { - if(legenFarbe == liegtFarbe) { + if(legenFarbe == gelegteFarbe) { kartensatz.ablegen(kartenindex); spiel(); + return; } - if(legenWert == liegtWert) { + if(legenWert == gelegterWert) { kartensatz.ablegen(kartenindex); spiel(); + return; } } + if(aussetzen) { + spiel(); + aussetzen = false; + } } - private void ziehen(int Kartenindex) { - if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) { - kartensatz.ziehen(amZug); + + /** + * prüft ob eine Karte gezogen werden kann + */ + private void karteZiehen(){ + zugMoeglich(); + if(zwei_ziehen) { + for(int i = 0; i < kartenZiehen; i++) { + kartensatz.ziehen(amZug); + } spiel(); + kartenZiehen = 0; + zwei_ziehen = false; + } + if(aussetzen) { + spiel(); + aussetzen = false; + } + } + + + /** + * prüft ob ein Zug überhaupt möglich ist und ließt Werte zum weiterarbeiten ein + */ + private void zugMoeglich() { + gelegteFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); + gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); + if(gelegterWert == Wert.ACHT) { + aussetzen = true; + } + else { + aussetzen = false; + } + if(gelegterWert == Wert.SIEBEN) { + zwei_ziehen = true; + kartenZiehen += 2; } } } From 1267792408db945627413fa6242e3e42ad3f25ba Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Sat, 12 Dec 2020 16:14:26 +0100 Subject: [PATCH 31/33] =?UTF-8?q?Texturenpakte=20Verwaltung=20und=20Test?= =?UTF-8?q?=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/UnitTests/TEST_Kartensatz.java | 10 +- .../jaujau/UnitTests/TEST_Texturenpaket.java | 32 +++- .../jaujau/UnitTests/TEST_Texturenpakete.java | 15 +- src/de/jaujau/daten/Texturenpaket.java | 156 +++++++++++++++++- src/de/jaujau/daten/Texturenpakete.java | 99 +++++++++++ 5 files changed, 298 insertions(+), 14 deletions(-) diff --git a/src/de/jaujau/UnitTests/TEST_Kartensatz.java b/src/de/jaujau/UnitTests/TEST_Kartensatz.java index 4d9369e..6649284 100755 --- a/src/de/jaujau/UnitTests/TEST_Kartensatz.java +++ b/src/de/jaujau/UnitTests/TEST_Kartensatz.java @@ -1,10 +1,14 @@ -package de.jaujau.daten; +package de.jaujau.UnitTests; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import de.jaujau.daten.Farbe; +import de.jaujau.daten.Kartensatz; +import de.jaujau.daten.Spieler; + class TEST_Kartensatz { private Kartensatz satz; @@ -82,12 +86,12 @@ class TEST_Kartensatz { //Spieler legt Karte auf Ablagestapel satz.ablegen(karteSpieler); - assertTrue(karteSpieler == satz.letztekarte); + assertTrue(karteSpieler == satz.getletzteKarte()); assertTrue(satz.getHand(Spieler.SPIELER).size()==0); //Computer legt Karte auf Ablagestapel satz.ablegen(karteComputer); - assertTrue(karteComputer == satz.letztekarte); + assertTrue(karteComputer == satz.getletzteKarte()); assertTrue(satz.getHand(Spieler.COMPUTER).size()==0); } diff --git a/src/de/jaujau/UnitTests/TEST_Texturenpaket.java b/src/de/jaujau/UnitTests/TEST_Texturenpaket.java index abe340a..0d52b10 100755 --- a/src/de/jaujau/UnitTests/TEST_Texturenpaket.java +++ b/src/de/jaujau/UnitTests/TEST_Texturenpaket.java @@ -1,23 +1,49 @@ -package de.jaujau.daten; +package de.jaujau.UnitTests; import static org.junit.jupiter.api.Assertions.*; +import java.awt.Image; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import de.jaujau.daten.Texturenpaket; + class TEST_Texturenpaket { private Texturenpaket paket; @BeforeEach void setUp() throws Exception { - paket = new Texturenpaket("/home/sebastian/testpacket.zip"); + } @Test - void PacketLaden() { + void FehlerFreiesPaketLaden() { + paket = new Texturenpaket("/home/sebastian/testpaket.zip"); assertTrue(paket.ladePacket()); + System.out.println("Name des Texturen Paketes: " + paket.getName()); + System.out.println("Level des Texturen Paketes: " + paket.getLevel()); + } + + @Test + void FehlerHaftesPaketLaden() { + paket = new Texturenpaket("/home/sebastian/testpaket_fehler.zip"); + assertFalse(paket.ladePacket()); + System.out.println("Name des Fehlerhaften Texturen Paketes: " + paket.getName()); + System.out.println("Level des Fehlerhaften Texturen Paketes: " + paket.getLevel()); + } + + + @Test + void TexturenAusgeben() { + paket = new Texturenpaket("/home/sebastian/testpaket.zip"); + assertTrue(paket.ladePacket()); + Image Bilder[] = paket.getTexturen(); + for(int i = 0; i < 32; i++) { + assertTrue(Bilder[i] != null); + } } } diff --git a/src/de/jaujau/UnitTests/TEST_Texturenpakete.java b/src/de/jaujau/UnitTests/TEST_Texturenpakete.java index 228bcae..d0a9a8d 100755 --- a/src/de/jaujau/UnitTests/TEST_Texturenpakete.java +++ b/src/de/jaujau/UnitTests/TEST_Texturenpakete.java @@ -1,10 +1,12 @@ -package de.jaujau.daten; +package de.jaujau.UnitTests; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import de.jaujau.daten.Texturenpakete; + class TEST_Texturenpakete { private Texturenpakete pakete; @@ -16,7 +18,16 @@ class TEST_Texturenpakete { @Test void test() { - fail("Not yet implemented"); + assertTrue(pakete.getAnzahlPakete()==0); + assertTrue(pakete.addPaket("/home/sebastian/testpaket.zip")); + assertTrue(pakete.getAnzahlPakete()==1); + assertTrue(pakete.setAktivesPaket(0)); + assertTrue(pakete.getAktivesPaket()==0); + System.out.println(pakete.getName(0)); + System.out.println(pakete.getName(0)); + for(int i = 0; i < 32; i++) { + assertTrue(pakete.getTextur(i)!=null); + } } } diff --git a/src/de/jaujau/daten/Texturenpaket.java b/src/de/jaujau/daten/Texturenpaket.java index 6d36a82..7b82b87 100755 --- a/src/de/jaujau/daten/Texturenpaket.java +++ b/src/de/jaujau/daten/Texturenpaket.java @@ -1,6 +1,15 @@ package de.jaujau.daten; import java.awt.Image; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.Scanner; +import java.util.zip.ZipEntry; +import java.util.zip.ZipException; +import java.util.zip.ZipFile; +import javax.imageio.ImageIO; + /** * Verwaltet ein Texturenpackt @@ -9,8 +18,8 @@ import java.awt.Image; */ public class Texturenpaket { - private final String name; - private final int level; + private String name; + private int level; private final String pfad; @@ -30,16 +39,80 @@ public class Texturenpaket { * @return Paket vollständig laden, true/false */ public boolean ladePacket() { + System.out.println("Lade Paket"); + if(testePaket()) { + //Paket ist OK + + //Paket Informationen Laden + + try { + File zipDatei = new File(pfad); + ZipFile paketDatei = new ZipFile(zipDatei); + ZipEntry zipInhaltPaketTXT = paketDatei.getEntry("paket.txt"); + InputStream eingabeStromTXT = paketDatei.getInputStream(zipInhaltPaketTXT); + Scanner scanner = new Scanner(eingabeStromTXT); + while(scanner.hasNext()) { + String Zeile = scanner.next(); + String Spalte[] = Zeile.split(":"); + //System.out.println(Spalte.length); + if(Spalte.length==2) { + System.out.println(Spalte[1]); + //Name Auslesen + if(Spalte[0].equals("name")) { + name = Spalte[1]; + } + //Level Auslesen + if(Spalte[0].equals("level")) { + level = Integer.parseInt(Spalte[1]); + } + + } + } + scanner.close(); + paketDatei.close(); + + } catch (ZipException e) { + e.printStackTrace(); + return false; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + + } + else { + return false; + } return true; } /** - * Gibt ein Bild das dem Texturenpacket zurück - * @param KartenID der Textur - * @return Image der Textur + * Gibt alle Bilddatein für ein Texturen Paket zurück + * @return Image der Texturen des Peketes als Image Array */ - public Image getTextur(int KartenID) { + public Image[] getTexturen() { + if(testePaket()) { + + try { + File zipDatei = new File(pfad); + ZipFile paketDatei = new ZipFile(zipDatei); + Image Bilder[] = new Image[32]; + + for(int i = 0; i < 32; i++) { + ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png"); + InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur); + Bilder[i] = ImageIO.read(eingabeStromTextur); + } + return Bilder; + + } catch (ZipException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + } return null; } @@ -60,4 +133,75 @@ public class Texturenpaket { public int getLevel() { return level; } + + + /** + * Testet das Texturenpaket auf vollständigkeit + * @return Paket vollständig, true/false + */ + private boolean testePaket() { + System.out.println("Teste Paket:"); + //Testen ob Zip-Datei vorhanden und lesabar ist + File zipDatei = new File(pfad); + if(zipDatei.exists() || zipDatei.canRead()) { + + try { + //Zip Datei öffnen + ZipFile paketDatei = new ZipFile(zipDatei); + + //Paket Konfigurations Datei Prüfen + ZipEntry zipInhaltPaketTXT = paketDatei.getEntry("paket.txt"); + InputStream eingabeStromTXT = paketDatei.getInputStream(zipInhaltPaketTXT); + Scanner scanner = new Scanner(eingabeStromTXT); + boolean PaketName = false; + boolean PaketLevel = false; + while(scanner.hasNext()) { + //Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält + String Zeile = scanner.next(); + System.out.println(Zeile); + if(Zeile.contains("name:")) { + PaketName = true; + } + if(Zeile.contains("level:")) { + PaketLevel = true; + } + } + scanner.close(); + if(!PaketName || !PaketLevel) { + System.out.println("Paket Konfiguration fehlerhaft"); + return false; + } + + //Texturen Prüfen + for(int i = 0; i < 32; i++) { + ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png"); + InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur); + Image bild = ImageIO.read(eingabeStromTextur); + if(bild == null) { + System.out.println("Datei: " + i + ".png nicht gefunden"); + return false; + } + } + + paketDatei.close(); + + } catch (ZipException e) { + //Zip Datei nicht leesbar + e.printStackTrace(); + return false; + } catch (IOException e) { + //Zip Datei nicht lesbar + e.printStackTrace(); + return false; + } + + } + else { + return false; + } + + //Alles OK + System.out.println("Texturen Paket ist OK"); + return true; + } } diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java index 2dea05f..d9d5d46 100644 --- a/src/de/jaujau/daten/Texturenpakete.java +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -1,5 +1,7 @@ package de.jaujau.daten; +import java.awt.Image; +import java.util.ArrayList; /** * Diese Klasse Verwaltet die Texturenpackete des Spiels @@ -7,11 +9,108 @@ package de.jaujau.daten; */ public class Texturenpakete { + private ArrayList TexturenpaketListe; + private Image Texturen[]; + private int AktivesPaket; + + public Texturenpakete(){ + TexturenpaketListe = new ArrayList(); + AktivesPaket = 0; + } + + + /** + * Gibt die Anzahl der Vorhanden Texturenpakete aus + * @return Anzahl Texturenpakte + */ + public int getAnzahlPakete() { + return TexturenpaketListe.size(); + } + + + /** + * Gibt das min Level für ein bestimtes Paket zurück + * @param PaketNummer + * @return min Level + */ + public int getLevel(int PaketNr) { + if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) { + return TexturenpaketListe.get(PaketNr).getLevel(); + } + return 0; + } + + + /** + * Gibt den Namen eines Bestiment Paketes zurück + * @param PaketNummer + * @return Name des Paketes + */ + public String getName(int PaketNr) { + if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) { + return TexturenpaketListe.get(PaketNr).getName(); + } + return ""; + } + + + /** + * Gibt die Nummer des AktivenPakes aus + * @return Nummer des Aktiven Paketes + */ + public int getAktivesPaket() { + return AktivesPaket; + } + + + /** + * Setzt das aktive Paket + * @param PaketNr des Paketes + * @return Setzen erfolgreich true/false + */ + public boolean setAktivesPaket(int PaketNr) { + if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) { + AktivesPaket = PaketNr; + + //Texturen Laden + Texturen = TexturenpaketListe.get(PaketNr).getTexturen(); + return true; + } + return false; + } + + + /** + * Fügt ein Neues Testuren Paket hinzu + * Das Paket wird vor dem einfügen auf Vollständfigkeit geprüft + * @param Pfad + * @return + */ + public boolean addPaket(String Pfad) { + Texturenpaket NeuesPaket = new Texturenpaket(Pfad); + if(NeuesPaket.ladePacket()) { + TexturenpaketListe.add(NeuesPaket); + return true; + } + return false; } + /** + * Gibt eine Textur des aktuellen Paketes als Image zurück + * @param KartenNr der Textur + * @return Textur als Image + */ + public Image getTextur(int KartenNr) { + if((KartenNr >= 0) && (KartenNr < 32)) { + return Texturen[KartenNr]; + } + return null; + } + + } From 2b1547f6e2d76385e46e6ca868de21e80ac25899 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Sat, 12 Dec 2020 16:29:02 +0100 Subject: [PATCH 32/33] Debug Ausgaben Formatiert --- src/de/jaujau/daten/Texturenpaket.java | 14 +++++++------- src/de/jaujau/daten/Texturenpakete.java | 3 --- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/de/jaujau/daten/Texturenpaket.java b/src/de/jaujau/daten/Texturenpaket.java index 7b82b87..4d4a89a 100755 --- a/src/de/jaujau/daten/Texturenpaket.java +++ b/src/de/jaujau/daten/Texturenpaket.java @@ -39,7 +39,7 @@ public class Texturenpaket { * @return Paket vollständig laden, true/false */ public boolean ladePacket() { - System.out.println("Lade Paket"); + System.out.println("TEXTURENPAKET: Lade Paket"); if(testePaket()) { //Paket ist OK @@ -56,7 +56,7 @@ public class Texturenpaket { String Spalte[] = Zeile.split(":"); //System.out.println(Spalte.length); if(Spalte.length==2) { - System.out.println(Spalte[1]); + System.out.println("TEXTURENPAKET: " + Spalte[1]); //Name Auslesen if(Spalte[0].equals("name")) { name = Spalte[1]; @@ -140,7 +140,7 @@ public class Texturenpaket { * @return Paket vollständig, true/false */ private boolean testePaket() { - System.out.println("Teste Paket:"); + System.out.println("TEXTURENPAKET: Teste Paket:"); //Testen ob Zip-Datei vorhanden und lesabar ist File zipDatei = new File(pfad); if(zipDatei.exists() || zipDatei.canRead()) { @@ -158,7 +158,7 @@ public class Texturenpaket { while(scanner.hasNext()) { //Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält String Zeile = scanner.next(); - System.out.println(Zeile); + System.out.println("TEXTURENPAKET: " + Zeile); if(Zeile.contains("name:")) { PaketName = true; } @@ -168,7 +168,7 @@ public class Texturenpaket { } scanner.close(); if(!PaketName || !PaketLevel) { - System.out.println("Paket Konfiguration fehlerhaft"); + System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft"); return false; } @@ -178,7 +178,7 @@ public class Texturenpaket { InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur); Image bild = ImageIO.read(eingabeStromTextur); if(bild == null) { - System.out.println("Datei: " + i + ".png nicht gefunden"); + System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden"); return false; } } @@ -201,7 +201,7 @@ public class Texturenpaket { } //Alles OK - System.out.println("Texturen Paket ist OK"); + System.out.println("TEXTURENPAKET: Texturen Paket ist OK"); return true; } } diff --git a/src/de/jaujau/daten/Texturenpakete.java b/src/de/jaujau/daten/Texturenpakete.java index d9d5d46..e87bab1 100644 --- a/src/de/jaujau/daten/Texturenpakete.java +++ b/src/de/jaujau/daten/Texturenpakete.java @@ -109,8 +109,5 @@ public class Texturenpakete { } return null; } - - - } From 6173a13a87f0e336ef4389f8b9d9f2cf2d461006 Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Sat, 12 Dec 2020 16:29:53 +0100 Subject: [PATCH 33/33] Update --- src/de/jaujau/daten/Kartensatz.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 5c08d03..e69945c 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -59,7 +59,7 @@ public class Kartensatz { } - //!!!Es kann noch zu fehler kommen + /** * Zieht eine Zufällige karte aus dem Ziehstapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand * Wenn keine Karten mehr auf dem Ziehstapel sind werden alle Karten vom Ablagestabel auf den Ziehstapel verschoben @@ -131,7 +131,6 @@ public class Kartensatz { } - //Funktion geprüft /** * gibt die ID der Kartezurück die als letztes auf dem Ablagestabel gelegt wurde * @return ID der zuletzt gelegten Karte @@ -141,7 +140,6 @@ public class Kartensatz { } - //Funktion geprüft /** * Gibt die Karten Indexe einer Spieler Hand zuück * Wenn keine Karten auf der Hand liegen wird eine Leere ArrayList zurückgegeben @@ -168,7 +166,6 @@ public class Kartensatz { } - //Funktion geprüft /** * Gibt eine Karte aus dem Kartensatz zurück * @param kartenid ID Der Karte (0 - 31) @@ -184,7 +181,7 @@ public class Kartensatz { } - //Funktion geprüft + /** * Legt die Farbe fest die als nächstes auf den Ablagestapel gelegt werden muss * Dafür wird der "Wünscher" (Bube) der jeweiligen Farbe als letze Karte auf dem Ablegestabel eingetragen @@ -205,7 +202,7 @@ public class Kartensatz { } } - //Funktion geprüft + /** * Dies Funktion Prüft ob sich auf dem Ziehstapel noch mindestes eine Karte Befindet * Wird nur Klassenintern Verwendet