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.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 {
|
||||
ImageIcon backButtonIcon = new ImageIcon("graphics/backButton.png");
|
||||
|
||||
|
@ -27,12 +20,12 @@ public class JoinGame extends JPanel {
|
|||
|
||||
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);
|
||||
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){
|
||||
spielBeitretenLabel= new JLabel("Spiel beitreten");
|
||||
}else{
|
||||
|
@ -43,10 +36,12 @@ public class JoinGame extends JPanel {
|
|||
losButton.setBounds(320, 225, 100, 50);
|
||||
backButton.setBounds(1380, 20, 80, 80);
|
||||
|
||||
ipLabel.setBounds(50, 125, 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);
|
||||
|
||||
|
||||
|
@ -61,31 +56,38 @@ public class JoinGame extends JPanel {
|
|||
add(backButton);
|
||||
|
||||
backButton.addActionListener(e -> frame.showPanel("MultiplayerGame"));
|
||||
losButton.addActionListener(e -> frame.showPanel("Verbinden"));
|
||||
//losButton.addActionListener(e -> frame.showPanel("Verbinden"));
|
||||
|
||||
|
||||
losButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
String ipAddress = ipTextField.getText();
|
||||
if (ipAddress.equals("")) {
|
||||
ipAddress = "0.0.0.0";
|
||||
}
|
||||
String portText = portTextField.getText();
|
||||
|
||||
int port = Integer.parseInt(portText);
|
||||
InetSocketAddress address = new InetSocketAddress(ipAddress, port);
|
||||
|
||||
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
|
||||
public void showPanelSMG(String panelName, int num) {
|
||||
public void showPanelSMG(String panelName, int num, int playerType,String playerName) {
|
||||
this.localMult = num;
|
||||
|
||||
//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.revalidate(); // Refresh
|
||||
mainPanel.repaint();
|
||||
|
@ -128,11 +128,12 @@ public class MainFrame extends JFrame {
|
|||
mainPanel.repaint();
|
||||
}*/
|
||||
|
||||
|
||||
/* Tut wohl gar nicht, weils nicht aufgerufen wird hoppla
|
||||
public static void main(String[] args) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
MainFrame frame = new MainFrame();
|
||||
frame.setVisible(true);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
// TODO
|
||||
// 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
|
||||
|
||||
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
||||
joinGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",1));
|
||||
createGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",0));
|
||||
//joinGameButton.addActionListener(e -> frame.showPanelSMG("JoinGame",1));
|
||||
//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
|
||||
|
|
Loading…
Reference in New Issue