Code aufräumen und kleine Anpassungen/Korrekturen vorgenommen

This commit is contained in:
Kaver 2024-12-20 19:39:56 +01:00
parent bfb25dfe2c
commit 4dd1c9b39b
8 changed files with 37 additions and 29 deletions

View File

@ -40,6 +40,7 @@ public class GameBoard extends JPanel {
// Buttons
JButton giveUpButton = new JButton("Aufgeben");
/**
* Konstruktor von GameBoard.
* @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden.
@ -136,7 +137,6 @@ public class GameBoard extends JPanel {
opponentBoardPanel.addShipButton(shipButton);
shipButton.setEnabled(false);
}
JToggleButton readyButton = new JToggleButton("Bereit");
readyButton.setBackground(Color.GREEN);
rightButtonsPanel.add(readyButton);
@ -159,6 +159,10 @@ public class GameBoard extends JPanel {
kontextText.setText(kT2);
p1.ready();
if(true) {
remove(readyButton);
remove(resetButton);
remove(rightButtonsPanel);
remove(leftButtonsPanel);
readyButton.setEnabled(false);
resetButton.setEnabled(false);
}

View File

@ -22,7 +22,7 @@ public class LocalPlayer extends Player {
switch (hitResponse.getType()) {
case HIT, SUNK -> this.myTurn = false;
case MISS -> this.myTurn = true;
case VICTORY -> GameController.getMainFrame().showPanelLoose("", this); //TODO Was halt bei victory passiert ist hier wurder verloheren
case VICTORY -> GameController.getMainFrame().showPanelLose("", this); //TODO Was halt bei victory passiert ist hier wurder verloheren
}
GameController.getMainFrame().refreshGameBoard();
}

View File

@ -1,22 +1,24 @@
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
* Klasse für Erstellung von looseScreen Objekten
* Dient zur Anzeige das ein Spiel verloren wurde
*/
public class LooseScreen extends JPanel {
JLabel looseLabel = new JLabel("Du hast Verloren");
public class LoseScreen extends JPanel {
JLabel loseLabel = new JLabel("Du hast Verloren");
JButton okButton = new JButton("Zurück zum Hauptmenü");
Font robotoFont = new Font("Roboto", Font.BOLD, 45);
/**
* Konstruktor der LooseScreen Klasse
* Konstruktor der LoseScreen Klasse
* @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden.
* @author Lucas Bronson
*/
public LooseScreen(MainFrame frame) {
setLayout(new BorderLayout());
public LoseScreen(MainFrame frame) {
setLayout(null);
buildPanel(frame);
}
@ -26,9 +28,17 @@ public class LooseScreen extends JPanel {
* @author Lucas Bronson
*/
public void buildPanel(MainFrame frame) {
add(looseLabel);
add(loseLabel);
okButton.setBounds(650,525,200,50);
looseLabel.setBounds(500,450,500,50);
looseLabel.setFont(robotoFont);
loseLabel.setBounds(550,450,500,50);
loseLabel.setFont(robotoFont);
okButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.showPanel("MainMenu");
}
});
add(loseLabel);
add(okButton);
}
}

View File

@ -147,11 +147,11 @@ public class MainFrame extends JFrame {
* @param player Player von dem die funktion aufgerufen worden ist
* @author Lucas Bronson, Peer Ole Wachtel
*/
public void showPanelLoose(String panelName, Player player){
public void showPanelLose(String panelName, Player player){
if(player != gameBoard.getP1()){
return;
}
LooseScreen looseScreen = new LooseScreen(this);
LoseScreen looseScreen = new LoseScreen(this);
mainPanel.add(looseScreen,panelName);
mainPanel.revalidate();
mainPanel.repaint();

View File

@ -7,7 +7,7 @@ import java.awt.*;
*/
public class Verbinden extends JPanel{
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
//ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
JLabel verbindenLabel = new JLabel("Verbinde . . .",SwingConstants.CENTER);

View File

@ -56,7 +56,6 @@ public class WinScreen extends JPanel {
public void actionPerformed(ActionEvent e) {
frame.showPanel("MainMenu");
}
});
add(winLabel);
add(okButton);

View File

@ -1,4 +1,5 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
@ -44,12 +45,12 @@ public class startLocalGame extends JPanel {
JButton rightPlayerLeftButton = new JButton("<-");
JButton rightPlayerRightButton = new JButton("->");
JButton startButton = new JButton("Start!");
JButton testButton = new JButton("Test");
// Textfelder
JTextField leftPlayerTextField = new JTextField(20);
JTextField rightPlayerTextField = new JTextField(20);
Font robotoFont = new Font("Roboto", Font.BOLD, 45);
/**
* Konstruktor der startLocalGame.
* Fügt Buttons, Textfelder und Label hinzu.
@ -63,7 +64,8 @@ public class startLocalGame extends JPanel {
setLayout(null);
// Setze Komponentenpositionen
frameTitle.setBounds(20, 20, 200, 30);
frameTitle.setBounds(20, 20, 500, 60);
frameTitle.setFont(robotoFont.deriveFont(50f));
add(frameTitle);
semesterLabel.setBounds(700, 300, 200, 30);
@ -85,9 +87,6 @@ public class startLocalGame extends JPanel {
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
add(semesterCounterLabel);
testButton.setBounds(500,800,50,50);
add(testButton);
backButton.setBounds(1380, 20, 80, 80);
add(backButton);
@ -196,14 +195,6 @@ public class startLocalGame extends JPanel {
}
});
// Um zum Gameboard zu wechseln.
testButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//frame.showPanelWin("WinPanel");
}
});
// Um zum startLocalGameLoadingScreen zu wechseln und Daten an Backend weiterzureichen.
startButton.addActionListener(new ActionListener() {
@SuppressWarnings("unchecked")

View File

@ -1,4 +1,5 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -39,12 +40,14 @@ public class startMultiplayerGame extends JPanel {
// Textfelder
JTextField PlayerTextField = new JTextField(20);
Font robotoFont = new Font("Roboto", Font.BOLD, 45);
/**
* Konstruktor der startLocalGame.
* Fügt Buttons, Textfelder und Label hinzu.
* Fügt ebenfalls ActionListeners hinzu, damit Buttons etc. ihre gewünschte Funktion haben
* @param frame Der Mainframe der Anwendung über den alle Panels angezeigt werden.
* @author Joshua Kuklok
* @author Joshua Kuklok, Lucas Bronson
*/
startMultiplayerGame(MainFrame frame) {
@ -52,7 +55,8 @@ public class startMultiplayerGame extends JPanel {
setLayout(null);
// Setze Komponentenpositionen
frameTitle.setBounds(20, 20, 200, 30);
frameTitle.setBounds(20, 20, 500, 60);
frameTitle.setFont(robotoFont.deriveFont(50f));
add(frameTitle);
semesterLabel.setBounds(700, 300, 200, 30);