Compare commits

...

2 Commits

Author SHA1 Message Date
Haoming Yin edfeb2b287 Merge remote-tracking branch 'origin/NewUI_merge' into NewUI_merge 2017-09-14 15:40:26 +12:00
Haoming Yin 0355784000 Broadcast messages when boats pass legs or a token is picked up or expired.
tags: #story[1250] #pair[hyi25, zyt10]
2017-09-14 15:40:12 +12:00
@@ -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;
} }