mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
Game state now updates based on boat position. Arrows drawn as boat travels course. Currently do not point in correct direction, also the sparkline does not work.
#bug #refactor #implement #story[1118]
This commit is contained in:
@@ -8,13 +8,13 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import seng302.gameServer.server.messages.BoatAction;
|
||||
import seng302.gameServer.server.messages.BoatStatus;
|
||||
import seng302.gameServer.server.messages.MarkRoundingMessage;
|
||||
import seng302.gameServer.server.messages.MarkType;
|
||||
import seng302.gameServer.server.messages.Message;
|
||||
import seng302.gameServer.server.messages.RoundingBoatStatus;
|
||||
import seng302.gameServer.server.messages.YachtEventCodeMessage;
|
||||
import seng302.gameServer.messages.BoatAction;
|
||||
import seng302.gameServer.messages.BoatStatus;
|
||||
import seng302.gameServer.messages.MarkRoundingMessage;
|
||||
import seng302.gameServer.messages.MarkType;
|
||||
import seng302.gameServer.messages.Message;
|
||||
import seng302.gameServer.messages.RoundingBoatStatus;
|
||||
import seng302.gameServer.messages.YachtEventCodeMessage;
|
||||
import seng302.model.GeoPoint;
|
||||
import seng302.model.Player;
|
||||
import seng302.model.PolarTable;
|
||||
@@ -283,7 +283,7 @@ public class GameState implements Runnable {
|
||||
Double velocity = yacht.getCurrentVelocity();
|
||||
Double trueWindAngle = Math.abs(windDirection - yacht.getHeading());
|
||||
Double boatSpeedInKnots = PolarTable.getBoatSpeed(getWindSpeedKnots(), trueWindAngle);
|
||||
Double maxBoatSpeed = GeoUtility.knotsToMMS(boatSpeedInKnots);
|
||||
Double maxBoatSpeed = GeoUtility.knotsToMMS(boatSpeedInKnots) * 3;
|
||||
// TODO: 15/08/17 remove magic numbers from these equations.
|
||||
if (yacht.getSailIn()) {
|
||||
if (velocity < maxBoatSpeed - 500) {
|
||||
@@ -556,7 +556,7 @@ public class GameState implements Runnable {
|
||||
// TODO: 13/8/17 figure out the rounding side, rounded mark source ID and boat status.
|
||||
Message markRoundingMessage = new MarkRoundingMessage(0, 0,
|
||||
sourceID, RoundingBoatStatus.RACING, roundingMark.getRoundingSide(), markType,
|
||||
roundingMark.getSourceID());
|
||||
currentMarkSeqID + 1);
|
||||
|
||||
notifyMessageListeners(markRoundingMessage);
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ import java.util.Stack;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import seng302.model.Player;
|
||||
import seng302.gameServer.server.messages.Heartbeat;
|
||||
import seng302.gameServer.server.messages.Message;
|
||||
import seng302.gameServer.messages.Heartbeat;
|
||||
import seng302.gameServer.messages.Message;
|
||||
|
||||
/**
|
||||
* Send Heartbeat messages to connected player at a specified interval
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import seng302.gameServer.server.messages.Message;
|
||||
import seng302.gameServer.messages.Message;
|
||||
import seng302.model.GeoPoint;
|
||||
import seng302.model.Player;
|
||||
import seng302.model.PolarTable;
|
||||
|
||||
@@ -2,10 +2,10 @@ package seng302.gameServer;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import seng302.gameServer.server.messages.ClientType;
|
||||
import seng302.gameServer.server.messages.Message;
|
||||
import seng302.gameServer.messages.ClientType;
|
||||
import seng302.gameServer.messages.Message;
|
||||
import seng302.model.stream.packets.StreamPacket;
|
||||
import seng302.gameServer.server.messages.BoatAction;
|
||||
import seng302.gameServer.messages.BoatAction;
|
||||
|
||||
|
||||
public class ServerPacketParser {
|
||||
|
||||
@@ -19,25 +19,25 @@ import java.util.zip.CRC32;
|
||||
import java.util.zip.Checksum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import seng302.gameServer.server.messages.YachtEventCodeMessage;
|
||||
import seng302.gameServer.messages.YachtEventCodeMessage;
|
||||
import seng302.model.Player;
|
||||
import seng302.model.stream.packets.PacketType;
|
||||
import seng302.model.stream.packets.StreamPacket;
|
||||
import seng302.model.stream.xml.generator.Race;
|
||||
import seng302.model.stream.xml.generator.Regatta;
|
||||
import seng302.utilities.XMLGenerator;
|
||||
import seng302.gameServer.server.messages.BoatAction;
|
||||
import seng302.gameServer.server.messages.BoatLocationMessage;
|
||||
import seng302.gameServer.server.messages.BoatSubMessage;
|
||||
import seng302.gameServer.server.messages.ClientType;
|
||||
import seng302.gameServer.server.messages.Message;
|
||||
import seng302.gameServer.server.messages.RaceStatus;
|
||||
import seng302.gameServer.server.messages.RaceStatusMessage;
|
||||
import seng302.gameServer.server.messages.RaceType;
|
||||
import seng302.gameServer.server.messages.RegistrationResponseMessage;
|
||||
import seng302.gameServer.server.messages.RegistrationResponseStatus;
|
||||
import seng302.gameServer.server.messages.XMLMessage;
|
||||
import seng302.gameServer.server.messages.XMLMessageSubType;
|
||||
import seng302.gameServer.messages.BoatAction;
|
||||
import seng302.gameServer.messages.BoatLocationMessage;
|
||||
import seng302.gameServer.messages.BoatSubMessage;
|
||||
import seng302.gameServer.messages.ClientType;
|
||||
import seng302.gameServer.messages.Message;
|
||||
import seng302.gameServer.messages.RaceStatus;
|
||||
import seng302.gameServer.messages.RaceStatusMessage;
|
||||
import seng302.gameServer.messages.RaceType;
|
||||
import seng302.gameServer.messages.RegistrationResponseMessage;
|
||||
import seng302.gameServer.messages.RegistrationResponseStatus;
|
||||
import seng302.gameServer.messages.XMLMessage;
|
||||
import seng302.gameServer.messages.XMLMessageSubType;
|
||||
import seng302.model.ServerYacht;
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Created by kre39 on 12/07/17.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class BoatLocationMessage extends Message {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* The current status of a boat
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Created by kre39 on 20/07/17.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public enum ClientType {
|
||||
SPECTATOR(0x00),
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public enum DeviceType {
|
||||
UNKNOWN(0),
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class Heartbeat extends Message {
|
||||
private final int MESSAGE_SIZE = 4;
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
|
||||
import seng302.gameServer.GameState;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class MarkRoundingMessage extends Message{
|
||||
private final long MESSAGE_VERSION_NUMBER = 1;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Types of marks boats can round
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Enum containing the types of messages
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* The types of race start status messages
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class RaceStartStatusMessage extends Message {
|
||||
private final int MESSAGE_SIZE = 20;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* The current status of the race
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.zip.CRC32;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Enum containing the types of races
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
|
||||
public class RegistrationRequestMessage extends Message {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class RegistrationResponseMessage extends Message{
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public enum RegistrationResponseStatus {
|
||||
SUCCESS_SPECTATING(0x00),
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* The status of a boat rounding a mark
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* The side the boat rounded the mark
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
public class XMLMessage extends Message{
|
||||
private final MessageType MESSAGE_TYPE = MessageType.XML_MESSAGE;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Enum containing the types of XML messages
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package seng302.gameServer.server.messages;
|
||||
package seng302.gameServer.messages;
|
||||
|
||||
/**
|
||||
* Created by zyt10 on 10/08/17.
|
||||
Reference in New Issue
Block a user