JoinGame and related functions should now work properly
This commit is contained in:
parent
f151a89ea4
commit
3b6ffeb82d
|
@ -5,13 +5,6 @@ import java.awt.event.ActionListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
/*
|
|
||||||
TODO: evtl an Lucas: die "JoinGame" muss noch informationen erhalten, welche Spieler erstellt wurden und welches Semester
|
|
||||||
Also die startMultiplayerGame muss JoinGame mit parametern für (HumanPlayer/AiEasy/AiNormal/AiHard, Semesteranzahl, Spielername) (3 Parameter) erhalten
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
public class JoinGame extends JPanel {
|
public class JoinGame extends JPanel {
|
||||||
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
|
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
|
||||||
|
|
||||||
|
@ -27,12 +20,12 @@ public class JoinGame extends JPanel {
|
||||||
|
|
||||||
Font robotoFont = new Font("Roboto", Font.BOLD, 45);
|
Font robotoFont = new Font("Roboto", Font.BOLD, 45);
|
||||||
|
|
||||||
public JoinGame(MainFrame frame,int g) {
|
public JoinGame(MainFrame frame,int g,int playerType,String playerName) {
|
||||||
setLayout(null);
|
setLayout(null);
|
||||||
buildPanel(frame,g);
|
buildPanel(frame,g,playerType,playerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buildPanel(MainFrame frame,int g) {
|
private void buildPanel(MainFrame frame,int g,int playerType,String playerName) {
|
||||||
if(g==1){
|
if(g==1){
|
||||||
spielBeitretenLabel= new JLabel("Spiel beitreten");
|
spielBeitretenLabel= new JLabel("Spiel beitreten");
|
||||||
}else{
|
}else{
|
||||||
|
@ -43,10 +36,12 @@ public class JoinGame extends JPanel {
|
||||||
losButton.setBounds(320, 225, 100, 50);
|
losButton.setBounds(320, 225, 100, 50);
|
||||||
backButton.setBounds(1380, 20, 80, 80);
|
backButton.setBounds(1380, 20, 80, 80);
|
||||||
|
|
||||||
ipLabel.setBounds(50, 125, 200, 30);
|
|
||||||
portLabel.setBounds(50, 200, 200, 30);
|
portLabel.setBounds(50, 200, 200, 30);
|
||||||
|
|
||||||
ipTextField.setBounds(50, 150, 250, 50);
|
if(g==1) { //Wenn man Spiel erstellen will werden IP-Felder nicht angezeigt.
|
||||||
|
ipLabel.setBounds(50, 125, 200, 30);
|
||||||
|
ipTextField.setBounds(50, 150, 250, 50);
|
||||||
|
}
|
||||||
portTextField.setBounds(50, 225, 250, 50);
|
portTextField.setBounds(50, 225, 250, 50);
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,31 +56,38 @@ public class JoinGame extends JPanel {
|
||||||
add(backButton);
|
add(backButton);
|
||||||
|
|
||||||
backButton.addActionListener(e -> frame.showPanel("MultiplayerGame"));
|
backButton.addActionListener(e -> frame.showPanel("MultiplayerGame"));
|
||||||
losButton.addActionListener(e -> frame.showPanel("Verbinden"));
|
//losButton.addActionListener(e -> frame.showPanel("Verbinden"));
|
||||||
|
|
||||||
|
|
||||||
losButton.addActionListener(new ActionListener() {
|
losButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
|
||||||
String ipAddress = ipTextField.getText();
|
String ipAddress = ipTextField.getText();
|
||||||
|
if (ipAddress.equals("")) {
|
||||||
|
ipAddress = "0.0.0.0";
|
||||||
|
}
|
||||||
String portText = portTextField.getText();
|
String portText = portTextField.getText();
|
||||||
|
|
||||||
int port = Integer.parseInt(portText);
|
int port = Integer.parseInt(portText);
|
||||||
InetSocketAddress address = new InetSocketAddress(ipAddress, port);
|
InetSocketAddress address = new InetSocketAddress(ipAddress, port);
|
||||||
|
|
||||||
frame.showPanel("Verbinden");
|
frame.showPanel("Verbinden");
|
||||||
//public static void startOnlineGame(Class<? extends LocalPlayer> localPlayerClass, String localPlayerName, InetSocketAddress
|
|
||||||
// address, int size) throws IOException {
|
|
||||||
if(true) { //Beispiel (für playertape wäre z.B. 1 humanPlayer etc.)
|
|
||||||
try {
|
|
||||||
GameController.startOnlineGame(HumanPlayer.class, "TollerTest", address,GameController.semesterToBoardSize(2)); //
|
|
||||||
} catch (IOException ex) {
|
|
||||||
throw new RuntimeException(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
if(playerType == 0) {
|
||||||
|
GameController.startOnlineGame(HumanPlayer.class, playerName, address,GameController.semesterToBoardSize(2));
|
||||||
|
} else if(playerType == 1) {
|
||||||
|
GameController.startOnlineGame(SpecificAiPlayerEasy.class, playerName, address,GameController.semesterToBoardSize(2));
|
||||||
|
} else if (playerType == 2) {
|
||||||
|
GameController.startOnlineGame(SpecificAiPlayerMedium.class, playerName, address,GameController.semesterToBoardSize(2));
|
||||||
|
} else if (playerType == 3) {
|
||||||
|
GameController.startOnlineGame(SpecificAiPlayerHard.class, playerName, address,GameController.semesterToBoardSize(2));
|
||||||
|
}
|
||||||
|
} catch (IOException ex) {
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -64,11 +64,11 @@ public class MainFrame extends JFrame {
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- ShowPanel der startMultiplayerGame Klasse
|
// --- ShowPanel der startMultiplayerGame Klasse
|
||||||
public void showPanelSMG(String panelName, int num) {
|
public void showPanelSMG(String panelName, int num, int playerType,String playerName) {
|
||||||
this.localMult = num;
|
this.localMult = num;
|
||||||
|
|
||||||
//if (!isPanelPresent(panelName)) { //TODO potentiell raus
|
//if (!isPanelPresent(panelName)) { //TODO potentiell raus
|
||||||
JoinGame joinGame = new JoinGame(this, localMult);
|
JoinGame joinGame = new JoinGame(this, localMult, playerType, playerName);
|
||||||
mainPanel.add(joinGame, panelName);
|
mainPanel.add(joinGame, panelName);
|
||||||
mainPanel.revalidate(); // Refresh
|
mainPanel.revalidate(); // Refresh
|
||||||
mainPanel.repaint();
|
mainPanel.repaint();
|
||||||
|
@ -128,11 +128,12 @@ public class MainFrame extends JFrame {
|
||||||
mainPanel.repaint();
|
mainPanel.repaint();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
/* Tut wohl gar nicht, weils nicht aufgerufen wird hoppla
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
MainFrame frame = new MainFrame();
|
MainFrame frame = new MainFrame();
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
|
@ -1,4 +1,6 @@
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
// Evtl. ist Namen selber setzten noch unmöglich
|
// Evtl. ist Namen selber setzten noch unmöglich
|
||||||
|
@ -121,8 +123,82 @@ public class startMultiplayerGame extends JPanel {
|
||||||
// ActionListener für den "Back" Button, um zum vorherigen Panel zurückzukehren
|
// ActionListener für den "Back" Button, um zum vorherigen Panel zurückzukehren
|
||||||
|
|
||||||
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
||||||
joinGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",1));
|
//joinGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",1));
|
||||||
createGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",0));
|
//createGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",0));
|
||||||
|
|
||||||
|
joinGameButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
//Parameter -> panelName, Spiel erstellen oder beitreten (int), Spielertyp(int 0-3), Spielername
|
||||||
|
if (PlayerIcon.getIcon() == humanPlayerIcon) { // TODO Wird name wirklich weitergegeben?
|
||||||
|
frame.showPanelSMG("JoinGame",1,0, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",1,1, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",1,2, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",1,3, PlayerNickname);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
createGameButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
//Parameter -> panelName, Spiel erstellen oder beitreten (int), Spielertyp(int 0-3), Spielername
|
||||||
|
if (PlayerIcon.getIcon() == humanPlayerIcon) { // TODO Wird name wirklich weitergegeben?
|
||||||
|
frame.showPanelSMG("JoinGame",0,0, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",0,1, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",0,2, PlayerNickname);
|
||||||
|
} else if ( PlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
frame.showPanelSMG("JoinGame",0,3, PlayerNickname);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/*
|
||||||
|
startButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
frame.showPanelSLGLS("startLocalGameLoadingScreen", semesterCounter); //TODO
|
||||||
|
if (leftPlayerIcon.getIcon() == humanPlayerIcon) {// TODO Wird name wirklich weitergegeben?
|
||||||
|
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
}
|
||||||
|
} else if (leftPlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
}
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
}
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
if (rightPlayerIcon.getIcon() == aiPlayerEasyIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerEasy.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerNormalIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerMedium.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
} else if (rightPlayerIcon.getIcon() == aiPlayerHardIcon) {
|
||||||
|
GameController.startLocalGame(HumanPlayer.class, leftPlayerNickname, SpecificAiPlayerHard.class, GameController.semesterToBoardSize(semesterCounter));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOGGLE METHODEN
|
// TOGGLE METHODEN
|
||||||
|
|
Loading…
Reference in New Issue