GUI Erste Spielimpressionen
This commit is contained in:
@@ -22,6 +22,7 @@ import javax.swing.DefaultComboBoxModel;
|
|||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
@@ -36,7 +37,10 @@ import java.awt.ComponentOrientation;
|
|||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.MouseListener;
|
||||||
|
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
|
import java.awt.Font;
|
||||||
|
|
||||||
public class Dashboard_GUI extends JPanel{
|
public class Dashboard_GUI extends JPanel{
|
||||||
private static final long serialVersionUID = -7380187913989942586L;
|
private static final long serialVersionUID = -7380187913989942586L;
|
||||||
@@ -55,7 +59,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
private final JPanel spielfeld = new JPanel();
|
private final JPanel spielfeld = new JPanel();
|
||||||
private final JPanel player_hand = new JPanel();
|
private final JPanel player_hand = new JPanel();
|
||||||
private final JPanel gegner_hand = new JPanel();
|
private final JPanel gegner_hand = new JPanel();
|
||||||
private final JLabel ablagestapel = new JLabel("Ablagestapel");
|
private final JLabel ablagestapel = new JLabel("");
|
||||||
private final JLabel ziehstapel = new JLabel("");
|
private final JLabel ziehstapel = new JLabel("");
|
||||||
private final JScrollPane scrollPane = new JScrollPane();
|
private final JScrollPane scrollPane = new JScrollPane();
|
||||||
private final JLabel lblNewLabel_2_1 = new JLabel("");
|
private final JLabel lblNewLabel_2_1 = new JLabel("");
|
||||||
@@ -63,9 +67,12 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
JLabel labels[] = new JLabel[32];
|
JLabel labels[] = new JLabel[32];
|
||||||
private Audio sound = new Audio();
|
private Audio sound = new Audio();
|
||||||
private Spiel aktuellesSpiel;
|
private Spiel aktuellesSpiel;
|
||||||
private final JPanel gegenerkarten = new JPanel();
|
private JPanel gegenerkarten = new JPanel();
|
||||||
|
private JLabel label_aktuellerSpieler;
|
||||||
|
private Texturenpakete texturenpakete;
|
||||||
|
|
||||||
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturenpakete) {
|
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) {
|
||||||
|
texturenpakete = texturen;
|
||||||
texturenpakete.addPaket("StandartTexturenBeta3.zip");
|
texturenpakete.addPaket("StandartTexturenBeta3.zip");
|
||||||
texturenpakete.setAktivesPaket(0);
|
texturenpakete.setAktivesPaket(0);
|
||||||
System.out.println(texturenpakete.getAktivesPaket());
|
System.out.println(texturenpakete.getAktivesPaket());
|
||||||
@@ -107,6 +114,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
gegenerkarten.setBackground(new Color(169, 169, 169));
|
gegenerkarten.setBackground(new Color(169, 169, 169));
|
||||||
|
|
||||||
scrollPane.setViewportView(gegenerkarten);
|
scrollPane.setViewportView(gegenerkarten);
|
||||||
|
ablagestapel.setPreferredSize(new Dimension(242, 362));
|
||||||
ablagestapel.setHorizontalAlignment(SwingConstants.CENTER);
|
ablagestapel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
ablagestapel.setBounds(618, 267, 137, 210);
|
ablagestapel.setBounds(618, 267, 137, 210);
|
||||||
|
|
||||||
@@ -135,8 +143,20 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
sound.test();
|
sound.test();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
btnNewButton_1.setBounds(293, 346, 89, 23);
|
btnNewButton_1.setBounds(26, 197, 89, 23);
|
||||||
spielfeld.add(btnNewButton_1);
|
spielfeld.add(btnNewButton_1);
|
||||||
|
|
||||||
|
JLabel beschreibung_aktuellerSpieler = new JLabel("Aktueller Spieler:");
|
||||||
|
beschreibung_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||||
|
beschreibung_aktuellerSpieler.setForeground(Color.WHITE);
|
||||||
|
beschreibung_aktuellerSpieler.setBounds(435, 163, 156, 31);
|
||||||
|
spielfeld.add(beschreibung_aktuellerSpieler);
|
||||||
|
|
||||||
|
label_aktuellerSpieler = new JLabel("Auswahlphase");
|
||||||
|
label_aktuellerSpieler.setForeground(Color.WHITE);
|
||||||
|
label_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||||
|
label_aktuellerSpieler.setBounds(601, 163, 163, 31);
|
||||||
|
spielfeld.add(label_aktuellerSpieler);
|
||||||
panelCont.add(start, "3");
|
panelCont.add(start, "3");
|
||||||
start.setLayout(new BorderLayout(0, 0));
|
start.setLayout(new BorderLayout(0, 0));
|
||||||
panel.setPreferredSize(new Dimension(10, 30));
|
panel.setPreferredSize(new Dimension(10, 30));
|
||||||
@@ -156,19 +176,21 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
highscore.setLayout(new BorderLayout(0, 0));
|
highscore.setLayout(new BorderLayout(0, 0));
|
||||||
|
|
||||||
|
//Erstes Panel wird angezeigt
|
||||||
cl.show(panelCont, "3");
|
cl.show(panelCont, "3");
|
||||||
add(panelCont);
|
add(panelCont);
|
||||||
renderStart(); //Startseite beim ersten <20>ffnen aktualisieren
|
renderStart(); //Startseite beim ersten <20>ffnen aktualisieren
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Spiel Panel wird gezeigt
|
||||||
public void showgame(Spiel Spiel){
|
public void showgame(Spiel Spiel){
|
||||||
|
//Neues Spiel wird <20>bergeben
|
||||||
aktuellesSpiel = Spiel;
|
aktuellesSpiel = Spiel;
|
||||||
System.out.println("DASHBOARD: Game darstellen");
|
System.out.println("DASHBOARD: Game darstellen");
|
||||||
cl.show(panelCont, "2");
|
cl.show(panelCont, "2");
|
||||||
repaint();
|
aktuellesSpiel.spiel();
|
||||||
revalidate();
|
aktualisiereGUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showstart(){
|
public void showstart(){
|
||||||
@@ -216,8 +238,6 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
table.setAutoCreateRowSorter(true); //Tabelle Sortierbar durch Tabellenkopf
|
table.setAutoCreateRowSorter(true); //Tabelle Sortierbar durch Tabellenkopf
|
||||||
table.getTableHeader().setReorderingAllowed(false); //Tabelle nicht mehr drag and drop
|
table.getTableHeader().setReorderingAllowed(false); //Tabelle nicht mehr drag and drop
|
||||||
table.setModel(tableModel);
|
table.setModel(tableModel);
|
||||||
|
|
||||||
|
|
||||||
highscore.add( new JScrollPane( table ) );
|
highscore.add( new JScrollPane( table ) );
|
||||||
|
|
||||||
|
|
||||||
@@ -240,6 +260,15 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
labels[i].setSize(new Dimension(120, 180));
|
labels[i].setSize(new Dimension(120, 180));
|
||||||
labels[i].setHorizontalTextPosition(SwingConstants.CENTER);
|
labels[i].setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
labels[i].setHorizontalAlignment(SwingConstants.CENTER);
|
labels[i].setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
labels[i].setName(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i).toString());
|
||||||
|
labels[i].addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
aktuellesSpiel.karteLegen(Integer.parseInt(e.getComponent().getName()));
|
||||||
|
System.out.println("Karte: " + e.getComponent().getName() + " ausgew<65>hlt.");
|
||||||
|
aktualisiereGUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
labels[i].setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(ziehstapel.getWidth(), ziehstapel.getHeight(), Image.SCALE_SMOOTH)));
|
labels[i].setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(ziehstapel.getWidth(), ziehstapel.getHeight(), Image.SCALE_SMOOTH)));
|
||||||
spielerkarten.add(labels[i]);
|
spielerkarten.add(labels[i]);
|
||||||
spielerkarten.updateUI(); //Panel erneuern
|
spielerkarten.updateUI(); //Panel erneuern
|
||||||
@@ -249,8 +278,31 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
void aktualisiereAblage(Spiel aktuellesSpiel, Texturenpakete texturen){
|
void aktualisiereAblage(Spiel aktuellesSpiel, Texturenpakete texturen){
|
||||||
ablagestapel.setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getletzteKarte()).getScaledInstance(ziehstapel.getWidth(), ziehstapel.getHeight(), Image.SCALE_SMOOTH)));
|
ablagestapel.setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getletzteKarte()).getScaledInstance(ziehstapel.getWidth(), ziehstapel.getHeight(), Image.SCALE_SMOOTH)));
|
||||||
|
ablagestapel.revalidate();
|
||||||
|
ablagestapel.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void aktualisiereSpieleranzeige(Spiel aktuellesSpiel) {
|
||||||
|
if(aktuellesSpiel.getamZug() == Spieler.COMPUTER) {
|
||||||
|
label_aktuellerSpieler.setText("Gegner");
|
||||||
|
label_aktuellerSpieler.setForeground(Color.RED);
|
||||||
|
}
|
||||||
|
if(aktuellesSpiel.getamZug() == Spieler.SPIELER) {
|
||||||
|
label_aktuellerSpieler.setText("Gegner");
|
||||||
|
label_aktuellerSpieler.setForeground(Color.GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(aktuellesSpiel.getamZug() == null) {
|
||||||
|
label_aktuellerSpieler.setText("Auswahlphase");
|
||||||
|
label_aktuellerSpieler.setForeground(Color.WHITE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void aktualisiereGUI(){
|
||||||
|
aktualisiereSpieleranzeige(aktuellesSpiel);
|
||||||
|
aktualisiereAblage(aktuellesSpiel, texturenpakete);
|
||||||
|
aktualisiereHand(aktuellesSpiel, texturenpakete);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -52,6 +52,8 @@ public class Spiel {
|
|||||||
* alterniert zwischen Spieler und Computer, legt Beginner fest
|
* alterniert zwischen Spieler und Computer, legt Beginner fest
|
||||||
*/
|
*/
|
||||||
public void spiel() {
|
public void spiel() {
|
||||||
|
System.out.println("Spiel gestartet.");
|
||||||
|
//Spiel nicht gestartet
|
||||||
if(!spielgestartet) {
|
if(!spielgestartet) {
|
||||||
Random zufallszahl = new Random();
|
Random zufallszahl = new Random();
|
||||||
int zahl = zufallszahl.nextInt(1);
|
int zahl = zufallszahl.nextInt(1);
|
||||||
@@ -73,6 +75,8 @@ public class Spiel {
|
|||||||
kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken
|
kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Spiel gestartet
|
||||||
if(amZug == Spieler.SPIELER) {
|
if(amZug == Spieler.SPIELER) {
|
||||||
amZug = Spieler.COMPUTER;
|
amZug = Spieler.COMPUTER;
|
||||||
if(spielzug.zugMoeglich(Spieler.COMPUTER)) {
|
if(spielzug.zugMoeglich(Spieler.COMPUTER)) {
|
||||||
@@ -85,7 +89,9 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Spieler getamZug() {
|
||||||
|
return amZug;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* falls eine Karte gelegt werden kann wird diese gelegt
|
* falls eine Karte gelegt werden kann wird diese gelegt
|
||||||
* @param kartenindex
|
* @param kartenindex
|
||||||
|
Reference in New Issue
Block a user