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 0c6fafd..6b9b5aa 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.ZIEHSTAPEL; + } + + /** + * 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 ist nur für Debug-Ausgaben notwendig und kann Später entfernt werden!!! + * @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..315f2e6 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -1,12 +1,225 @@ package de.jaujau.daten; +import java.util.ArrayList; +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); + + } + + //!!!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 + * @param spieler Spieler der die Karte auf die Hand bekommen soll + */ + public boolean ziehen(Spieler spieler) { + //System.out.println("Start Ziehen"); + //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.ZIEHSTAPEL); + } + } + } + + 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(ZiehstapelAnzahl); + //System.out.println("Karte Ziehen " + auswahl); + + //Wenn Karten auf dem Ziehspabel verfügbar sind + int ZiehstapelIndex = 0; + for(int i = 0; i < 32; i++) { + //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 Ziehstaple 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; + } + ZiehstapelIndex++; + } + + } + } + else { + System.out.println("Keine Karten zum ziehen verfügbar!"); + return false; + } + return false; + } + + + /** + * 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; + } + } + + + //Funktion geprüft + /** + * 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; + } + + //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) + * @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; + } + + } + + //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 Ziehstapel noch mindestes eine Karte Befindet + * Wird nur Klassenintern Verwendet + * @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden + */ + private int getZiehstapelAnzahl() { + int anzahl = 0; + for(Karte karte: kartensatz) { + if(karte.getAblageort() == Ablageort.ZIEHSTAPEL) { + anzahl++; + } + } + return anzahl; + } } diff --git a/src/de/jaujau/daten/Spielerverwaltung.java b/src/de/jaujau/daten/Spielerverwaltung.java index 933b08b..0de3003 100644 --- a/src/de/jaujau/daten/Spielerverwaltung.java +++ b/src/de/jaujau/daten/Spielerverwaltung.java @@ -6,8 +6,17 @@ package de.jaujau.daten; public class Spielerverwaltung { private int level; + private Spielerdaten spieler; + + private String name = "Mark Zuckerberg"; //Testeintrag + /** + * arraylist von Spieler + */ + // + // Constructors + // // // Methods // @@ -27,6 +36,16 @@ 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 @@ -65,7 +84,7 @@ public class Spielerverwaltung { throw new UnsupportedOperationException(); } - public Spielerverwaltung () { - //Implementieren + public Spielerverwaltung() { + //Implementieren }; } 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..bc40257 100644 --- a/src/de/jaujau/gui/Menue_GUI.java +++ b/src/de/jaujau/gui/Menue_GUI.java @@ -16,6 +16,12 @@ 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; + +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,51 +31,46 @@ import java.net.URL; import java.awt.Component; import java.awt.Font; -public class Menue_GUI { - - private JFrame frame; +public class Menue_GUI extends GUI implements ActionListener { /** - * 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(); - } - } - }); - } + private static final long serialVersionUID = 1L; + private Spielerverwaltung spielerverwaltung; + private JPanel contentPane; + private boolean shown = true; + + /** * Create the application. + * @param speicherung */ - public Menue_GUI() { - initialize(); + public Menue_GUI(Spielerverwaltung speicherung) { + this.spielerverwaltung = speicherung; + speicherung.getSpieler(); + System.out.println("Menü-GUI aufgerufen"); + initialize(this.spielerverwaltung); + } - /** * 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)); + 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"); @@ -82,42 +83,158 @@ public class Menue_GUI { 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 + 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 ca3cc41..a2fe9c7 100644 --- a/src/de/jaujau/spiellogik/Anwendung.java +++ b/src/de/jaujau/spiellogik/Anwendung.java @@ -3,6 +3,7 @@ package de.jaujau.spiellogik; import de.jaujau.daten.Spielerverwaltung; import de.jaujau.daten.Texturenpakete; import de.jaujau.gui.GUI; +import de.jaujau.gui.Menue_GUI; public class Anwendung { @@ -10,61 +11,83 @@ public class Anwendung { private Spiel aktuellesSpiel; private Texturenpakete texturenpakete; private Spielerverwaltung speicherung; - private static GUI gui; + private static Menue_GUI gui; + + // + // Constructors + // + public Anwendung() { + + speicherung = new Spielerverwaltung(); + gui = new Menue_GUI(speicherung); + + }; // // Methods - + // // Accessor methods // /** * Set the value of aktuellesSpiel + * * @param newVar the new value of aktuellesSpiel */ - public void setAktuellesSpiel (Spiel newSpiel) { + public void setAktuellesSpiel(Spiel newSpiel) { aktuellesSpiel = newSpiel; } + /** * Get the value of aktuellesSpiel + * * @return the value of aktuellesSpiel */ - public Spiel getAktuellesSpiel () { + public Spiel getAktuellesSpiel() { return aktuellesSpiel; } + /** * Set the value of texturenpakete + * * @param newVar the new value of texturenpakete */ - public void setTexturenpakete (Texturenpakete newTexture) { + public void setTexturenpakete(Texturenpakete newTexture) { texturenpakete = newTexture; } + /** * Get the value of texturenpakete + * * @return the value of texturenpakete */ - public Texturenpakete getTexturenpakete () { + public Texturenpakete getTexturenpakete() { return texturenpakete; } + /** * Set the value of speicherung + * * @param newVar the new value of speicherung */ - public void setSpeicherung (Spielerverwaltung newVer) { + public void setSpeicherung(Spielerverwaltung newVer) { speicherung = newVer; } + /** * Get the value of speicherung + * * @return the value of speicherung */ - public Spielerverwaltung getSpeicherung () { + public Spielerverwaltung getSpeicherung() { return speicherung; } /** * Set the value of gui + * * @param newVar the new value of gui */ - public static void setGui (GUI newVar) { + public static void setGui(Menue_GUI newVar) { gui = newVar; } @@ -80,15 +103,30 @@ public class Anwendung { // Other methods // public static void openGui() { // GUI oeffnen! - gui = new GUI(); - setGui(gui); - getGui(); + Anwendung jaujau = new Anwendung(); + jaujau.gui.setVisible(true); } /** */ public static void main(String[] args){ openGui(); + + // + // Other methods + // + + /** + * Launch the application. + */ + + /*public static void main(String[] args) + { + System.out.println("Programm gestartet"); + Anwendung jaujau = new Anwendung(); + jaujau.gui.setVisible(true); + + + }*/ + } - - } 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; + } }