GUI Erste Spielimpressionen
This commit is contained in:
@@ -22,6 +22,7 @@ import javax.swing.DefaultComboBoxModel;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JComboBox;
|
||||
@@ -36,7 +37,10 @@ import java.awt.ComponentOrientation;
|
||||
import java.awt.Cursor;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
import javax.swing.UIManager;
|
||||
import java.awt.Font;
|
||||
|
||||
public class Dashboard_GUI extends JPanel{
|
||||
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 player_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 JScrollPane scrollPane = new JScrollPane();
|
||||
private final JLabel lblNewLabel_2_1 = new JLabel("");
|
||||
@@ -63,9 +67,12 @@ public class Dashboard_GUI extends JPanel{
|
||||
JLabel labels[] = new JLabel[32];
|
||||
private Audio sound = new Audio();
|
||||
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.setAktivesPaket(0);
|
||||
System.out.println(texturenpakete.getAktivesPaket());
|
||||
@@ -107,6 +114,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
gegenerkarten.setBackground(new Color(169, 169, 169));
|
||||
|
||||
scrollPane.setViewportView(gegenerkarten);
|
||||
ablagestapel.setPreferredSize(new Dimension(242, 362));
|
||||
ablagestapel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
ablagestapel.setBounds(618, 267, 137, 210);
|
||||
|
||||
@@ -135,8 +143,20 @@ public class Dashboard_GUI extends JPanel{
|
||||
sound.test();
|
||||
}
|
||||
});
|
||||
btnNewButton_1.setBounds(293, 346, 89, 23);
|
||||
btnNewButton_1.setBounds(26, 197, 89, 23);
|
||||
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");
|
||||
start.setLayout(new BorderLayout(0, 0));
|
||||
panel.setPreferredSize(new Dimension(10, 30));
|
||||
@@ -156,19 +176,21 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
highscore.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
|
||||
//Erstes Panel wird angezeigt
|
||||
cl.show(panelCont, "3");
|
||||
add(panelCont);
|
||||
renderStart(); //Startseite beim ersten <20>ffnen aktualisieren
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Spiel Panel wird gezeigt
|
||||
public void showgame(Spiel Spiel){
|
||||
//Neues Spiel wird <20>bergeben
|
||||
aktuellesSpiel = Spiel;
|
||||
System.out.println("DASHBOARD: Game darstellen");
|
||||
cl.show(panelCont, "2");
|
||||
repaint();
|
||||
revalidate();
|
||||
aktuellesSpiel.spiel();
|
||||
aktualisiereGUI();
|
||||
}
|
||||
|
||||
public void showstart(){
|
||||
@@ -216,8 +238,6 @@ public class Dashboard_GUI extends JPanel{
|
||||
table.setAutoCreateRowSorter(true); //Tabelle Sortierbar durch Tabellenkopf
|
||||
table.getTableHeader().setReorderingAllowed(false); //Tabelle nicht mehr drag and drop
|
||||
table.setModel(tableModel);
|
||||
|
||||
|
||||
highscore.add( new JScrollPane( table ) );
|
||||
|
||||
|
||||
@@ -240,6 +260,15 @@ public class Dashboard_GUI extends JPanel{
|
||||
labels[i].setSize(new Dimension(120, 180));
|
||||
labels[i].setHorizontalTextPosition(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)));
|
||||
spielerkarten.add(labels[i]);
|
||||
spielerkarten.updateUI(); //Panel erneuern
|
||||
@@ -249,8 +278,31 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
void aktualisiereAblage(Spiel aktuellesSpiel, Texturenpakete texturen){
|
||||
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
|
||||
*/
|
||||
public void spiel() {
|
||||
System.out.println("Spiel gestartet.");
|
||||
//Spiel nicht gestartet
|
||||
if(!spielgestartet) {
|
||||
Random zufallszahl = new Random();
|
||||
int zahl = zufallszahl.nextInt(1);
|
||||
@@ -73,6 +75,8 @@ public class Spiel {
|
||||
kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken
|
||||
return;
|
||||
}
|
||||
|
||||
//Spiel gestartet
|
||||
if(amZug == Spieler.SPIELER) {
|
||||
amZug = 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
|
||||
* @param kartenindex
|
||||
|
Reference in New Issue
Block a user