mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
Broadcast messages when boats pass legs or a token is picked up or expired.
tags: #story[1250] #pair[hyi25, zyt10]
This commit is contained in:
@@ -323,6 +323,7 @@ public class GameState implements Runnable {
|
|||||||
if (yacht.getPowerUp() != null) {
|
if (yacht.getPowerUp() != null) {
|
||||||
if (System.currentTimeMillis() - yacht.getPowerUpStartTime() > POWERUP_TIMEOUT_MS) {
|
if (System.currentTimeMillis() - yacht.getPowerUpStartTime() > POWERUP_TIMEOUT_MS) {
|
||||||
yacht.powerDown();
|
yacht.powerDown();
|
||||||
|
sendServerMessage(yacht.getSourceId(), yacht.getBoatName() + "'s power-up token expired");
|
||||||
logger.debug("Yacht: " + yacht.getShortName() + " powered down!");
|
logger.debug("Yacht: " + yacht.getShortName() + " powered down!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -433,6 +434,7 @@ public class GameState implements Runnable {
|
|||||||
//Token Collision
|
//Token Collision
|
||||||
Token collidedToken = checkTokenPickUp(serverYacht);
|
Token collidedToken = checkTokenPickUp(serverYacht);
|
||||||
if (collidedToken != null) {
|
if (collidedToken != null) {
|
||||||
|
sendServerMessage(serverYacht.getSourceId(), serverYacht.getBoatName() + " has picked speed-up token");
|
||||||
tokensInPlay.remove(collidedToken);
|
tokensInPlay.remove(collidedToken);
|
||||||
serverYacht.powerUp(collidedToken.getTokenType());
|
serverYacht.powerUp(collidedToken.getTokenType());
|
||||||
logger.debug("Yacht: " + serverYacht.getShortName() + " got powerup " + collidedToken
|
logger.debug("Yacht: " + serverYacht.getShortName() + " got powerup " + collidedToken
|
||||||
@@ -531,6 +533,9 @@ public class GameState implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (hasProgressed) {
|
if (hasProgressed) {
|
||||||
|
if (currentMarkSeqID != 0 && !markOrder.isLastMark(currentMarkSeqID)) {
|
||||||
|
sendServerMessage(yacht.getSourceId(), yacht.getBoatName() + " passed leg " + yacht.getLegNumber());
|
||||||
|
}
|
||||||
yacht.incrementLegNumber();
|
yacht.incrementLegNumber();
|
||||||
sendMarkRoundingMessage(yacht);
|
sendMarkRoundingMessage(yacht);
|
||||||
logMarkRounding(yacht);
|
logMarkRounding(yacht);
|
||||||
@@ -565,6 +570,7 @@ public class GameState implements Runnable {
|
|||||||
if (crossedLine == 2 && isClockwiseCross || crossedLine == 1 && !isClockwiseCross) {
|
if (crossedLine == 2 && isClockwiseCross || crossedLine == 1 && !isClockwiseCross) {
|
||||||
yacht.setClosestCurrentMark(mark1);
|
yacht.setClosestCurrentMark(mark1);
|
||||||
yacht.setBoatStatus(BoatStatus.RACING);
|
yacht.setBoatStatus(BoatStatus.RACING);
|
||||||
|
sendServerMessage(yacht.getSourceId(), yacht.getBoatName() + " passed start line");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -668,6 +674,7 @@ public class GameState implements Runnable {
|
|||||||
if (crossedLine == 1 && isClockwiseCross || crossedLine == 2 && !isClockwiseCross) {
|
if (crossedLine == 1 && isClockwiseCross || crossedLine == 2 && !isClockwiseCross) {
|
||||||
yacht.setClosestCurrentMark(mark1);
|
yacht.setClosestCurrentMark(mark1);
|
||||||
yacht.setBoatStatus(BoatStatus.FINISHED);
|
yacht.setBoatStatus(BoatStatus.FINISHED);
|
||||||
|
sendServerMessage(yacht.getSourceId(), yacht.getBoatName() + " passed finish line");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -788,12 +795,7 @@ public class GameState implements Runnable {
|
|||||||
try {
|
try {
|
||||||
setSpeedMultiplier(Double.valueOf(words[3]));
|
setSpeedMultiplier(Double.valueOf(words[3]));
|
||||||
sendServerMessage(chatterMessage.getMessage_type(),
|
sendServerMessage(chatterMessage.getMessage_type(),
|
||||||
"SERVER: Speed modifier set to x" + words[3]);
|
"Speed modifier set to x" + words[3]);
|
||||||
System.out.println(chatterMessage.getMessage_type());
|
|
||||||
// notifyMessageListeners(new ChatterMessage(
|
|
||||||
// chatterMessage.getMessage_type(),
|
|
||||||
// "SERVER: Speed modifier set to x" + words[3]
|
|
||||||
// ));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger logger = LoggerFactory.getLogger(GameState.class);
|
Logger logger = LoggerFactory.getLogger(GameState.class);
|
||||||
logger.error("cannot parse >speed value");
|
logger.error("cannot parse >speed value");
|
||||||
@@ -801,12 +803,7 @@ public class GameState implements Runnable {
|
|||||||
return;
|
return;
|
||||||
case "/finish":
|
case "/finish":
|
||||||
sendServerMessage(chatterMessage.getMessage_type(),
|
sendServerMessage(chatterMessage.getMessage_type(),
|
||||||
"SERVER: Game will now finish");
|
"Game will now finish");
|
||||||
System.out.println(chatterMessage.getMessage_type());
|
|
||||||
// notifyMessageListeners(new ChatterMessage(
|
|
||||||
// chatterMessage.getMessage_type(),
|
|
||||||
// "SERVER: Game will now finish"
|
|
||||||
// ));
|
|
||||||
endRace();
|
endRace();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user