6 Commits

  1. 143
      src/main/java/de/tims/gameexplorer/GameExplorer.java

143
src/main/java/de/tims/gameexplorer/GameExplorer.java

@ -25,22 +25,30 @@ public class GameExplorer {
private JPanel border4;
private JPanel border5;
private JPanel border6;
private JPanel border7;
private JButton loginBtn;
private JButton fleetstormBtn;
private JButton fourwinsBtn;
private JButton tictactoeBtn;
private JButton leaderboardBtn;
private JButton logoutBtn;
private JButton exitBtn;
private JButton backBtn;
private JLabel username;
private JLabel loginWarning;
private JLabel playerName;
private JLabel playerPoints;
private JLabel actualPlayerName;
private JLabel actualPlayerPoints;
private JLabel chosenGame;
private JTextField usernameInput;
private Dimension minSize;
private Dimension loginBtnSize;
private Dimension btnSize;
private Dimension smallBtnSize;
private GridBagConstraints gbc;
private static final String playerFile = "src/main/java/resources/player_data.csv";
private static final String PLAYER_FILE = "src/main/java/resources/player_data.csv";
private enum Game { FLEETSTORM, FOURWINS, TICTACTOE, LEADERBOARD };
private Game actualGame;
@ -52,12 +60,12 @@ public class GameExplorer {
frame = new JFrame("1000 infomagische Spiele");
minSize = new Dimension(400, 300);
minSize = new Dimension(480, 360);
loginBtnSize = new Dimension(91, 20);
btnSize = new Dimension(160, 40);
smallBtnSize = new Dimension(75, 30);
gbc = new GridBagConstraints();
buildExplorerPanel();
buildLoginPanel();
buildNavigationPanel();
buildGamePanels();
@ -75,6 +83,11 @@ public class GameExplorer {
explorerPanel = new JPanel();
explorerPanel.setLayout(new GridBagLayout());
playerName = new JLabel("Spieler:");
playerPoints = new JLabel("Punkte:");
actualPlayerName = new JLabel(actualPlayer.getName());
actualPlayerPoints = new JLabel("" + actualPlayer.getPoints());
fleetstormBtn = new JButton("Schiffe versenken");
fleetstormBtn.setPreferredSize(btnSize);
fleetstormBtn.addActionListener(new GameAction());
@ -87,6 +100,12 @@ public class GameExplorer {
leaderboardBtn = new JButton("Leaderboard");
leaderboardBtn.setPreferredSize(btnSize);
leaderboardBtn.addActionListener(new GameAction());
logoutBtn = new JButton("Logout");
logoutBtn.setPreferredSize(smallBtnSize);
logoutBtn.addActionListener(new LogoutAction());
exitBtn = new JButton("Exit");
exitBtn.setPreferredSize(smallBtnSize);
exitBtn.addActionListener(new ExitAction());
border1 = new JPanel();
border1.setOpaque(false);
@ -98,51 +117,119 @@ public class GameExplorer {
border4.setOpaque(false);
border5 = new JPanel();
border5.setOpaque(false);
border7 = new JPanel();
border7.setOpaque(false);
gbc.weightx = 0.0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.insets = new Insets(0, 0, 0, 0);
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weighty = 0.2;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border1, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 3;
gbc.weighty = 0.0;
explorerPanel.add(fleetstormBtn, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.weighty = 0.2;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border2, gbc);
gbc.gridx = 0;
gbc.gridy = 3;
gbc.gridwidth = 3;
gbc.weighty = 0.0;
explorerPanel.add(fourwinsBtn, gbc);
gbc.gridx = 0;
gbc.gridy = 4;
gbc.weighty = 0.2;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border3, gbc);
gbc.gridx = 0;
gbc.gridy = 5;
gbc.gridwidth = 3;
gbc.weighty = 0.0;
explorerPanel.add(tictactoeBtn, gbc);
gbc.gridx = 0;
gbc.gridy = 6;
gbc.weighty = 0.2;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border4, gbc);
gbc.gridx = 0;
gbc.gridy = 7;
gbc.gridwidth = 3;
gbc.weighty = 0.0;
explorerPanel.add(leaderboardBtn, gbc);
gbc.gridx = 0;
gbc.gridy = 8;
gbc.weighty = 0.2;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border5, gbc);
gbc.gridx = 0;
gbc.gridy = 9;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.LINE_END;
gbc.insets = new Insets(0, 0, 0, 5);
explorerPanel.add(logoutBtn, gbc);
gbc.gridx = 2;
gbc.gridy = 9;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.LINE_START;
gbc.insets = new Insets(0, 5, 0, 0);
explorerPanel.add(exitBtn, gbc);
gbc.anchor = GridBagConstraints.CENTER;
gbc.insets = new Insets(0, 0, 0, 0);
gbc.gridx = 0;
gbc.gridy = 10;
gbc.gridwidth = 3;
gbc.weighty = 1.0 / 6;
explorerPanel.add(border7, gbc);
gbc.gridx = 0;
gbc.gridy = 11;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.LINE_END;
explorerPanel.add(playerName, gbc);
gbc.gridx = 2;
gbc.gridy = 11;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.insets = new Insets(0, 5, 0, 0);
gbc.anchor = GridBagConstraints.LINE_START;
explorerPanel.add(actualPlayerName, gbc);
gbc.gridx = 0;
gbc.gridy = 12;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.LINE_END;
explorerPanel.add(playerPoints, gbc);
gbc.gridx = 2;
gbc.gridy = 12;
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.insets = new Insets(0, 5, 0, 0);
gbc.anchor = GridBagConstraints.LINE_START;
explorerPanel.add(actualPlayerPoints, gbc);
}
private void buildLoginPanel() {
@ -156,7 +243,10 @@ public class GameExplorer {
loginWarning = new JLabel();
usernameInput = new JTextField(8);
gbc.weighty = 0;
gbc.gridwidth = 1;
gbc.weightx = 0.0;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(0, 0, 5, 0);
@ -190,7 +280,9 @@ public class GameExplorer {
border6 = new JPanel();
border6.setOpaque(false);
gbc.gridwidth = 1;
gbc.weighty = 0.0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0.0;
@ -238,15 +330,16 @@ public class GameExplorer {
if (!userInput.equals("")) {
loginWarning.setText("");
manager.loadPlayers(playerFile);
manager.loadPlayers(PLAYER_FILE);
actualPlayer = manager.selectPlayer(userInput);
buildExplorerPanel();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.remove(loginPanel);
frame.add(explorerPanel);
frame.revalidate();
frame.repaint();
System.out.println("Actual Player: " + actualPlayer.getName() + ", Points: " + actualPlayer.getPoints());
} else {
loginWarning.setText("Kein Name eingegeben!");
}
@ -283,6 +376,30 @@ public class GameExplorer {
}
}
private class LogoutAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
manager.savePlayers(PLAYER_FILE);
buildLoginPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.remove(explorerPanel);
frame.add(loginPanel);
frame.revalidate();
frame.repaint();
}
}
private class ExitAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
manager.savePlayers(PLAYER_FILE);
System.exit(0);
}
}
private class BackAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
@ -300,6 +417,8 @@ public class GameExplorer {
gamePanel.remove(leaderboardPanel);
}
actualPlayerPoints.setText("" + actualPlayer.getPoints());
frame.remove(gamePanel);
frame.add(explorerPanel);
frame.revalidate();

Loading…
Cancel
Save