Skip to content

Commit 6613487

Browse files
committed
feat(player): implement joining by roomid
1 parent 6944209 commit 6613487

File tree

2 files changed

+24
-14
lines changed

2 files changed

+24
-14
lines changed

player/src/main/sc/player2021/Starter.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
public class Starter extends AbstractClient {
1818
private static final Logger logger = LoggerFactory.getLogger(Starter.class);
1919

20-
public Starter(String host, int port, String reservation) {
20+
public Starter(String host, int port, String reservation, String roomId) {
2121
// client starten
2222
super(host, port);
2323

@@ -26,10 +26,12 @@ public Starter(String host, int port, String reservation) {
2626
setHandler(logic);
2727

2828
// einem Spiel beitreten
29-
if (reservation == null || reservation.isEmpty()) {
30-
joinAnyGame();
31-
} else {
29+
if (reservation != null) {
3230
joinPreparedGame(reservation);
31+
} else if (roomId != null) {
32+
joinGameRoom(roomId);
33+
} else {
34+
joinAnyGame();
3335
}
3436
}
3537

@@ -41,6 +43,7 @@ public static void main(String[] args) {
4143
CmdLineParser.Option hostOption = parser.addStringOption('h', "host");
4244
CmdLineParser.Option portOption = parser.addIntegerOption('p', "port");
4345
CmdLineParser.Option reservationOption = parser.addStringOption('r', "reservation");
46+
CmdLineParser.Option roomOption = parser.addStringOption("room");
4447

4548
try {
4649
// parameter auslesen
@@ -54,11 +57,12 @@ public static void main(String[] args) {
5457
// parameter laden
5558
String host = (String) parser.getOptionValue(hostOption, "localhost");
5659
int port = (Integer) parser.getOptionValue(portOption, SharedConfiguration.DEFAULT_PORT);
57-
String reservation = (String) parser.getOptionValue(reservationOption, "");
60+
String reservation = (String) parser.getOptionValue(reservationOption);
61+
String room = (String) parser.getOptionValue(roomOption);
5862

5963
// einen neuen client erzeugen
6064
try {
61-
new Starter(host, port, reservation);
65+
new Starter(host, port, reservation, room);
6266
} catch (Exception e) {
6367
logger.error("Beim Starten den Clients ist ein Fehler aufgetreten:", e);
6468
e.printStackTrace();
@@ -69,11 +73,12 @@ public static void main(String[] args) {
6973
private static void showHelp(String errorMsg) {
7074
String jarName = new File(Starter.class.getProtectionDomain().getCodeSource().getLocation().getFile()).getName();
7175
System.out.println("\n" + errorMsg);
72-
System.out.println("\nBitte das Programm mit folgenden Parametern (optional) aufrufen: \n"
76+
System.out.println("\nFolgende Parameter sind erlaubt: \n"
7377
+ "java -jar " + jarName + " [{-h,--host} hostname]\n"
7478
+ " [{-p,--port} port]\n"
75-
+ " [{-r,--reservation} reservierung]");
76-
System.out.println("\nBeispiel: \n"
79+
+ " [{-r,--reservation} reservierung]\n"
80+
+ " [--room raumnummer]\n");
81+
System.out.println("Beispiel: \n"
7782
+ "java -jar " + jarName + " --host 127.0.0.1 --port 10500 --reservation 1234\n");
7883
}
7984

plugin/src/client/sc/plugin2021/AbstractClient.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,16 @@ abstract class AbstractClient(
9797
client.joinGame(GamePlugin.PLUGIN_ID)
9898
}
9999

100+
fun joinPreparedGame(reservation: String) {
101+
start()
102+
client.joinGameWithReservation(reservation)
103+
}
104+
105+
fun joinGameRoom(roomId: String) {
106+
start()
107+
client.joinGameRoom(roomId)
108+
}
109+
100110
override fun onGameLeft(roomId: String) {
101111
logger.info("$this: Got game left in room $roomId")
102112
client.stop()
@@ -107,9 +117,4 @@ abstract class AbstractClient(
107117
isGameOver = true
108118
handler?.gameEnded(data, team, error)
109119
}
110-
111-
fun joinPreparedGame(reservation: String) {
112-
start()
113-
client.joinGameWithReservation(reservation)
114-
}
115120
}

0 commit comments

Comments
 (0)