From 66fa85ea4b6dd765d571012a1d9c3cd9839cddcf Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 2 Dec 2020 08:03:02 +0100 Subject: [PATCH] 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) + { + } + + +}