mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 06:18:44 +00:00
Initial commit for Power Up story
Made new preliminary models for each power up. Currently just different colour balls Added new YachtEventTypes in the enum for each pick up to be sent out to clients Tokens now not only randomise location but also randomise which type of token will be sent out Added new methods to the MessageFactory class - Make collision and Make pickup Message Game Client now checks what type of Yacht Event code has come in to respond appropriately rather than just generic collision / token.. although this has not been implemented yet Game View loads appropriate token models depending on what is in XML #story[1245]
This commit is contained in:
@@ -281,7 +281,13 @@ public class GameState implements Runnable {
|
||||
public static void spawnNewToken() {
|
||||
Random random = new Random();
|
||||
tokensInPlay.clear();
|
||||
tokensInPlay.add(allTokens.get(random.nextInt(allTokens.size())));
|
||||
|
||||
//Get a random token location
|
||||
Token token = allTokens.get(random.nextInt(allTokens.size()));
|
||||
//Set a random type to this token
|
||||
token.setTokenType(TokenType.values()[random.nextInt(TokenType.values().length)]);
|
||||
|
||||
tokensInPlay.add(token);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -397,9 +403,7 @@ public class GameState implements Runnable {
|
||||
collidedYacht.setCurrentVelocity(
|
||||
collidedYacht.getCurrentVelocity() * COLLISION_VELOCITY_PENALTY
|
||||
);
|
||||
notifyMessageListeners(
|
||||
new YachtEventCodeMessage(serverYacht.getSourceId(), YachtEventType.COLLISION)
|
||||
);
|
||||
notifyMessageListeners(MessageFactory.makeCollisionMessage(serverYacht));
|
||||
}
|
||||
|
||||
//Mark Collision
|
||||
@@ -411,9 +415,7 @@ public class GameState implements Runnable {
|
||||
serverYacht.setCurrentVelocity(
|
||||
serverYacht.getCurrentVelocity() * COLLISION_VELOCITY_PENALTY
|
||||
);
|
||||
notifyMessageListeners(
|
||||
new YachtEventCodeMessage(serverYacht.getSourceId(), YachtEventType.COLLISION)
|
||||
);
|
||||
notifyMessageListeners(MessageFactory.makeCollisionMessage(serverYacht));
|
||||
}
|
||||
|
||||
//Boundary Collision
|
||||
@@ -426,22 +428,21 @@ public class GameState implements Runnable {
|
||||
serverYacht.setCurrentVelocity(
|
||||
serverYacht.getCurrentVelocity() * COLLISION_VELOCITY_PENALTY
|
||||
);
|
||||
notifyMessageListeners(
|
||||
new YachtEventCodeMessage(serverYacht.getSourceId(), YachtEventType.COLLISION)
|
||||
);
|
||||
notifyMessageListeners(MessageFactory.makeCollisionMessage(serverYacht));
|
||||
}
|
||||
|
||||
//Token Collision
|
||||
Token collidedToken = checkTokenPickUp(serverYacht);
|
||||
if (collidedToken != null) {
|
||||
sendServerMessage(serverYacht.getSourceId(), serverYacht.getBoatName() + " has picked speed-up token");
|
||||
sendServerMessage(serverYacht.getSourceId(),
|
||||
serverYacht.getBoatName() + " has picked up a " + collidedToken.getTokenType()
|
||||
.getName() + " token");
|
||||
tokensInPlay.remove(collidedToken);
|
||||
serverYacht.powerUp(collidedToken.getTokenType());
|
||||
logger.debug("Yacht: " + serverYacht.getShortName() + " got powerup " + collidedToken
|
||||
.getTokenType());
|
||||
notifyMessageListeners(MessageFactory.getRaceXML());
|
||||
notifyMessageListeners(
|
||||
new YachtEventCodeMessage(serverYacht.getSourceId(), YachtEventType.TOKEN));
|
||||
notifyMessageListeners(MessageFactory.makePickupMessage(serverYacht, collidedToken));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user