From 7c5670f8c20d4c0127de1bafb1dfb091487c8bd2 Mon Sep 17 00:00:00 2001 From: Jessica Syder Date: Mon, 7 Aug 2017 12:20:52 +1200 Subject: [PATCH] Sails are displayed on first boat in a race. Optimised imports. - Implemented drawSails method - Sail position is displayed and updated using a boat's heading - Sails conform to 'Points of sail' - Javadoc'd new method and tidied up existing - Sped up track point frequency (visualiserBoat class) - Optimised imports (any other classes changed) - A lot of canvas drawing and sail rotating issues were discovered and eventually overcome along the way. Using a sail image to draw and rotate on the existing canvas rather than a JavaFX shape on a new canvas was the final decision. #story[1098] --- .../java/mock/app/ConnectionAcceptor.java | 4 - .../src/main/java/mock/app/MockOutput.java | 4 - .../src/main/java/mock/model/MockRace.java | 3 +- .../java/network/BinaryMessageDecoder.java | 4 +- .../java/network/BinaryMessageEncoder.java | 4 +- .../MessageDecoders/BoatActionDecoder.java | 2 - .../MessageDecoders/BoatLocationDecoder.java | 4 +- .../MessageDecoders/RaceStatusDecoder.java | 4 +- .../MessageDecoders/XMLMessageDecoder.java | 3 - .../RaceVisionByteEncoder.java | 5 +- .../java/network/Messages/LatestMessages.java | 1 - .../java/network/Messages/XMLMessage.java | 1 - .../java/shared/dataInput/RaceDataSource.java | 1 - .../java/shared/dataInput/RaceXMLReader.java | 5 +- .../shared/dataInput/RegattaXMLReader.java | 4 - .../main/java/shared/dataInput/XMLReader.java | 1 - .../Controllers/ArrowController.java | 2 - .../Controllers/ConnectionController.java | 1 - .../Controllers/HostController.java | 6 +- .../Controllers/LobbyController.java | 1 - .../Controllers/RaceController.java | 1 - .../Controllers/TitleController.java | 5 - .../java/visualiser/app/VisualiserInput.java | 16 +- .../gameController/ControllerClient.java | 1 - .../gameController/ControllerServer.java | 2 - .../gameController/InputChecker.java | 2 - .../gameController/Keys/ControlKey.java | 2 - .../gameController/Keys/VMGKey.java | 2 - .../gameController/Keys/ZoomInKey.java | 2 - .../src/main/java/visualiser/model/Ping.java | 3 - .../java/visualiser/model/RaceConnection.java | 4 - .../visualiser/model/ResizableRaceCanvas.java | 177 +++++++----------- .../java/visualiser/model/VisualiserBoat.java | 4 +- .../java/visualiser/model/VisualiserRace.java | 1 - .../src/main/resources/images/sailsLeft.png | Bin 0 -> 122 bytes .../src/main/resources/images/sailsRight.png | Bin 0 -> 126 bytes .../resources/visualiser/scenes/arrow.fxml | 9 +- .../resources/visualiser/scenes/connect.fxml | 3 - .../resources/visualiser/scenes/hostgame.fxml | 7 +- .../resources/visualiser/scenes/lobby.fxml | 3 - .../resources/visualiser/scenes/main.fxml | 3 - .../resources/visualiser/scenes/title.fxml | 3 - .../visualiser/scenes/titleScreen.fxml | 14 +- .../test/java/mock/model/MockBoatTest.java | 2 - .../test/java/mock/model/MockRaceTest.java | 2 - .../src/test/java/mock/model/PolarsTest.java | 4 +- .../src/test/java/mock/model/VMGTest.java | 2 +- .../network/BinaryMessageDecoderTest.java | 3 - .../network/Utils/AC35UnitConverterTest.java | 5 +- .../java/network/Utils/ByteConverterTest.java | 1 - .../java/network/XMLMessageEncoderTest.java | 3 - .../shared/dataInput/BoatXMLReaderTest.java | 8 +- .../src/test/java/shared/model/AngleTest.java | 2 - .../test/java/shared/model/AzimuthTest.java | 2 - .../test/java/shared/model/BearingTest.java | 2 - .../java/shared/model/CompoundMarkTest.java | 1 - .../src/test/java/shared/model/MarkTest.java | 2 - .../test/java/shared/model/RaceClockTest.java | 2 - .../GameControllerManualTest.java | 1 - .../visualiser/model/RaceConnectionTest.java | 1 - 60 files changed, 98 insertions(+), 269 deletions(-) create mode 100644 racevisionGame/src/main/resources/images/sailsLeft.png create mode 100644 racevisionGame/src/main/resources/images/sailsRight.png diff --git a/racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java b/racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java index 97a974a9..6a93651d 100644 --- a/racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java +++ b/racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java @@ -3,18 +3,14 @@ package mock.app; import network.Messages.Enums.XMLMessageType; import network.Messages.LatestMessages; import network.Messages.XMLMessage; -import org.mockito.Mock; import visualiser.gameController.ControllerServer; import java.io.DataOutputStream; import java.io.IOException; -import java.lang.reflect.Array; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.List; import java.util.concurrent.ArrayBlockingQueue; /** diff --git a/racevisionGame/src/main/java/mock/app/MockOutput.java b/racevisionGame/src/main/java/mock/app/MockOutput.java index aff0947e..c2c525a4 100644 --- a/racevisionGame/src/main/java/mock/app/MockOutput.java +++ b/racevisionGame/src/main/java/mock/app/MockOutput.java @@ -1,17 +1,13 @@ package mock.app; - import network.BinaryMessageEncoder; import network.MessageEncoders.RaceVisionByteEncoder; import network.Messages.*; import network.Messages.Enums.MessageType; -import network.Messages.Enums.XMLMessageType; import java.io.DataOutputStream; import java.io.IOException; -import java.net.ServerSocket; -import java.net.Socket; import java.net.SocketException; /** diff --git a/racevisionGame/src/main/java/mock/model/MockRace.java b/racevisionGame/src/main/java/mock/model/MockRace.java index 33884e3d..5f177505 100644 --- a/racevisionGame/src/main/java/mock/model/MockRace.java +++ b/racevisionGame/src/main/java/mock/model/MockRace.java @@ -4,18 +4,17 @@ import javafx.animation.AnimationTimer; import network.Messages.BoatLocation; import network.Messages.BoatStatus; import network.Messages.Enums.BoatStatusEnum; +import network.Messages.Enums.RaceStatusEnum; import network.Messages.LatestMessages; import network.Messages.RaceStatus; import network.Utils.AC35UnitConverter; import shared.dataInput.BoatDataSource; import shared.dataInput.RaceDataSource; -import network.Messages.Enums.RaceStatusEnum; import shared.dataInput.RegattaDataSource; import shared.model.*; import java.time.ZonedDateTime; import java.time.temporal.ChronoUnit; -import java.time.temporal.TemporalUnit; import java.util.*; import static java.lang.Math.cos; diff --git a/racevisionGame/src/main/java/network/BinaryMessageDecoder.java b/racevisionGame/src/main/java/network/BinaryMessageDecoder.java index ecc6b2f3..f8b2bbb6 100644 --- a/racevisionGame/src/main/java/network/BinaryMessageDecoder.java +++ b/racevisionGame/src/main/java/network/BinaryMessageDecoder.java @@ -5,12 +5,14 @@ import network.Exceptions.InvalidMessageException; import network.MessageDecoders.*; import network.Messages.*; import network.Messages.Enums.MessageType; -import static network.Utils.ByteConverter.*; import java.nio.ByteBuffer; import java.util.Arrays; import java.util.zip.CRC32; +import static network.Utils.ByteConverter.bytesToInt; +import static network.Utils.ByteConverter.bytesToLong; + /** * This class can be used to decode/convert a byte array into a messageBody object, descended from AC35Data. */ diff --git a/racevisionGame/src/main/java/network/BinaryMessageEncoder.java b/racevisionGame/src/main/java/network/BinaryMessageEncoder.java index ced31af1..0d55d519 100644 --- a/racevisionGame/src/main/java/network/BinaryMessageEncoder.java +++ b/racevisionGame/src/main/java/network/BinaryMessageEncoder.java @@ -1,13 +1,13 @@ package network; - import network.Messages.Enums.MessageType; -import static network.Utils.ByteConverter.*; import java.nio.ByteBuffer; import java.util.zip.CRC32; +import static network.Utils.ByteConverter.*; + /** * This class can be used to encode/convert a byte array message body, plus header data into a byte array containing the entire message, ready to send. diff --git a/racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java b/racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java index bf2076b5..44874fc4 100644 --- a/racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java +++ b/racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java @@ -2,8 +2,6 @@ package network.MessageDecoders; import network.Messages.Enums.BoatActionEnum; -import java.util.Arrays; - public class BoatActionDecoder { byte byteBoatAction; BoatActionEnum boatAction; diff --git a/racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java b/racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java index db90a343..a1876c22 100644 --- a/racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java +++ b/racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java @@ -5,9 +5,7 @@ import network.Messages.BoatLocation; import java.util.Arrays; -import static network.Utils.ByteConverter.bytesToInt; -import static network.Utils.ByteConverter.bytesToLong; -import static network.Utils.ByteConverter.bytesToShort; +import static network.Utils.ByteConverter.*; /** diff --git a/racevisionGame/src/main/java/network/MessageDecoders/RaceStatusDecoder.java b/racevisionGame/src/main/java/network/MessageDecoders/RaceStatusDecoder.java index e4d147df..15914a88 100644 --- a/racevisionGame/src/main/java/network/MessageDecoders/RaceStatusDecoder.java +++ b/racevisionGame/src/main/java/network/MessageDecoders/RaceStatusDecoder.java @@ -6,9 +6,7 @@ import network.Messages.BoatStatus; import java.util.ArrayList; import java.util.Arrays; -import static network.Utils.ByteConverter.bytesToInt; -import static network.Utils.ByteConverter.bytesToLong; -import static network.Utils.ByteConverter.bytesToShort; +import static network.Utils.ByteConverter.*; /** diff --git a/racevisionGame/src/main/java/network/MessageDecoders/XMLMessageDecoder.java b/racevisionGame/src/main/java/network/MessageDecoders/XMLMessageDecoder.java index 18ead92e..681be925 100644 --- a/racevisionGame/src/main/java/network/MessageDecoders/XMLMessageDecoder.java +++ b/racevisionGame/src/main/java/network/MessageDecoders/XMLMessageDecoder.java @@ -2,9 +2,6 @@ package network.MessageDecoders; import network.Messages.Enums.XMLMessageType; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import static network.Utils.ByteConverter.bytesToLong; diff --git a/racevisionGame/src/main/java/network/MessageEncoders/RaceVisionByteEncoder.java b/racevisionGame/src/main/java/network/MessageEncoders/RaceVisionByteEncoder.java index 4c57cf0c..731365c3 100644 --- a/racevisionGame/src/main/java/network/MessageEncoders/RaceVisionByteEncoder.java +++ b/racevisionGame/src/main/java/network/MessageEncoders/RaceVisionByteEncoder.java @@ -3,13 +3,14 @@ package network.MessageEncoders; import network.Messages.*; -import static network.Utils.ByteConverter.*; - import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; +import static network.Utils.ByteConverter.intToBytes; +import static network.Utils.ByteConverter.longToBytes; + /** diff --git a/racevisionGame/src/main/java/network/Messages/LatestMessages.java b/racevisionGame/src/main/java/network/Messages/LatestMessages.java index f35fc52e..4ab840ab 100644 --- a/racevisionGame/src/main/java/network/Messages/LatestMessages.java +++ b/racevisionGame/src/main/java/network/Messages/LatestMessages.java @@ -1,7 +1,6 @@ package network.Messages; import network.Messages.Enums.XMLMessageType; -import shared.dataInput.RaceDataSource; import java.util.HashMap; import java.util.Map; diff --git a/racevisionGame/src/main/java/network/Messages/XMLMessage.java b/racevisionGame/src/main/java/network/Messages/XMLMessage.java index e3a4aa1b..9e009084 100644 --- a/racevisionGame/src/main/java/network/Messages/XMLMessage.java +++ b/racevisionGame/src/main/java/network/Messages/XMLMessage.java @@ -4,7 +4,6 @@ package network.Messages; import network.Messages.Enums.MessageType; import network.Messages.Enums.XMLMessageType; -import java.io.InputStream; import java.nio.charset.StandardCharsets; /** diff --git a/racevisionGame/src/main/java/shared/dataInput/RaceDataSource.java b/racevisionGame/src/main/java/shared/dataInput/RaceDataSource.java index 668714e9..b89dc45d 100644 --- a/racevisionGame/src/main/java/shared/dataInput/RaceDataSource.java +++ b/racevisionGame/src/main/java/shared/dataInput/RaceDataSource.java @@ -1,7 +1,6 @@ package shared.dataInput; import network.Messages.Enums.RaceTypeEnum; -import shared.model.Boat; import shared.model.CompoundMark; import shared.model.GPSCoordinate; import shared.model.Leg; diff --git a/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java b/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java index 7e61b3de..bf4fb1fe 100644 --- a/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java +++ b/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java @@ -8,7 +8,10 @@ import org.w3c.dom.NodeList; import shared.enums.XMLFileType; import shared.exceptions.InvalidRaceDataException; import shared.exceptions.XMLReaderException; -import shared.model.*; +import shared.model.CompoundMark; +import shared.model.GPSCoordinate; +import shared.model.Leg; +import shared.model.Mark; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; diff --git a/racevisionGame/src/main/java/shared/dataInput/RegattaXMLReader.java b/racevisionGame/src/main/java/shared/dataInput/RegattaXMLReader.java index 08d4a034..0a756b03 100644 --- a/racevisionGame/src/main/java/shared/dataInput/RegattaXMLReader.java +++ b/racevisionGame/src/main/java/shared/dataInput/RegattaXMLReader.java @@ -2,15 +2,11 @@ package shared.dataInput; import org.w3c.dom.Element; import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; -import shared.dataInput.XMLReader; import shared.enums.XMLFileType; import shared.exceptions.InvalidRegattaDataException; import shared.exceptions.XMLReaderException; import shared.model.GPSCoordinate; -import javax.xml.parsers.ParserConfigurationException; -import java.io.IOException; import java.io.InputStream; /** diff --git a/racevisionGame/src/main/java/shared/dataInput/XMLReader.java b/racevisionGame/src/main/java/shared/dataInput/XMLReader.java index 04c6c1f7..5d1f47b6 100644 --- a/racevisionGame/src/main/java/shared/dataInput/XMLReader.java +++ b/racevisionGame/src/main/java/shared/dataInput/XMLReader.java @@ -3,7 +3,6 @@ package shared.dataInput; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.xml.sax.InputSource; import org.xml.sax.SAXException; import shared.enums.XMLFileType; import shared.exceptions.XMLReaderException; diff --git a/racevisionGame/src/main/java/visualiser/Controllers/ArrowController.java b/racevisionGame/src/main/java/visualiser/Controllers/ArrowController.java index 3e81cd16..ab9bd421 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/ArrowController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/ArrowController.java @@ -4,7 +4,6 @@ package visualiser.Controllers; import javafx.application.Platform; import javafx.beans.property.Property; import javafx.fxml.FXML; -import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.image.ImageView; import javafx.scene.layout.Pane; @@ -12,7 +11,6 @@ import javafx.scene.layout.StackPane; import javafx.scene.shape.Circle; import shared.model.Bearing; import shared.model.Wind; -import visualiser.model.VisualiserRace; /** * Controller for the arrow.fxml view. diff --git a/racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java b/racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java index ae8c682c..e822ebde 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java @@ -12,7 +12,6 @@ import shared.exceptions.InvalidRegattaDataException; import shared.exceptions.XMLReaderException; import visualiser.model.RaceConnection; -import javax.xml.soap.Text; import java.io.IOException; import java.net.Socket; import java.net.URL; diff --git a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java index e87ea689..6b5b6adf 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/HostController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/HostController.java @@ -1,21 +1,17 @@ package visualiser.Controllers; -import javafx.application.Application; import javafx.fxml.FXML; -import javafx.scene.control.*; +import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; -import javafx.stage.Stage; import mock.app.Event; import shared.exceptions.InvalidBoatDataException; import shared.exceptions.InvalidRaceDataException; import shared.exceptions.InvalidRegattaDataException; import shared.exceptions.XMLReaderException; -import visualiser.model.RaceConnection; import java.io.IOException; import java.net.Socket; import java.net.URL; -import java.net.UnknownHostException; import java.util.ResourceBundle; /** diff --git a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java index dc4d8e59..87a90464 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java @@ -7,7 +7,6 @@ import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.TextField; -import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.AnchorPane; import visualiser.model.RaceConnection; diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index f34c57a8..a7985c6e 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -8,7 +8,6 @@ import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.chart.LineChart; import javafx.scene.control.*; -import javafx.scene.control.Label; import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; diff --git a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java index 412858ee..887d3f07 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/TitleController.java @@ -1,14 +1,9 @@ package visualiser.Controllers; import javafx.fxml.FXML; -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; -import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.RadioButton; -import javafx.scene.image.Image; import javafx.scene.layout.AnchorPane; -import javafx.stage.Stage; import visualiser.app.App; import java.io.IOException; diff --git a/racevisionGame/src/main/java/visualiser/app/VisualiserInput.java b/racevisionGame/src/main/java/visualiser/app/VisualiserInput.java index 0b8102b5..3c9370f5 100644 --- a/racevisionGame/src/main/java/visualiser/app/VisualiserInput.java +++ b/racevisionGame/src/main/java/visualiser/app/VisualiserInput.java @@ -1,26 +1,14 @@ package visualiser.app; -import javafx.application.Platform; + import network.BinaryMessageDecoder; import network.Exceptions.InvalidMessageException; import network.Messages.*; -import org.xml.sax.SAXException; -import shared.dataInput.BoatXMLReader; -import shared.dataInput.RaceXMLReader; -import shared.dataInput.RegattaXMLReader; -import shared.exceptions.InvalidBoatDataException; -import shared.exceptions.InvalidRaceDataException; -import shared.exceptions.InvalidRegattaDataException; -import shared.exceptions.XMLReaderException; - -import javax.xml.parsers.ParserConfigurationException; + import java.io.DataInputStream; import java.io.IOException; import java.net.Socket; import java.nio.ByteBuffer; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.ArrayBlockingQueue; import static network.Utils.ByteConverter.bytesToShort; diff --git a/racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java b/racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java index eb46d361..f60f4b9d 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java +++ b/racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java @@ -10,7 +10,6 @@ import visualiser.gameController.Keys.ControlKey; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; -import java.net.SocketException; import java.nio.ByteBuffer; /** diff --git a/racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java b/racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java index fb6a257b..14252841 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java +++ b/racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java @@ -3,8 +3,6 @@ package visualiser.gameController; import network.BinaryMessageDecoder; import network.MessageDecoders.BoatActionDecoder; import network.Messages.Enums.BoatActionEnum; -import visualiser.gameController.Keys.ControlKey; -import visualiser.gameController.Keys.KeyFactory; import java.io.DataInputStream; import java.io.IOException; diff --git a/racevisionGame/src/main/java/visualiser/gameController/InputChecker.java b/racevisionGame/src/main/java/visualiser/gameController/InputChecker.java index 34a7d544..83fea61e 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/InputChecker.java +++ b/racevisionGame/src/main/java/visualiser/gameController/InputChecker.java @@ -7,8 +7,6 @@ import visualiser.gameController.Keys.KeyFactory; import java.util.HashMap; -import static javafx.application.Application.launch; - /** * Class for checking what keys are currently being used */ diff --git a/racevisionGame/src/main/java/visualiser/gameController/Keys/ControlKey.java b/racevisionGame/src/main/java/visualiser/gameController/Keys/ControlKey.java index ad8a559a..d5e53cc5 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/Keys/ControlKey.java +++ b/racevisionGame/src/main/java/visualiser/gameController/Keys/ControlKey.java @@ -1,7 +1,5 @@ package visualiser.gameController.Keys; -import javafx.scene.input.KeyCode; - /** * Key for the controller, part of the abstract factory KeyFactory */ diff --git a/racevisionGame/src/main/java/visualiser/gameController/Keys/VMGKey.java b/racevisionGame/src/main/java/visualiser/gameController/Keys/VMGKey.java index e6d82ba7..384be3aa 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/Keys/VMGKey.java +++ b/racevisionGame/src/main/java/visualiser/gameController/Keys/VMGKey.java @@ -1,7 +1,5 @@ package visualiser.gameController.Keys; -import javafx.scene.input.KeyCode; - /** * Key to trigger auto VMG */ diff --git a/racevisionGame/src/main/java/visualiser/gameController/Keys/ZoomInKey.java b/racevisionGame/src/main/java/visualiser/gameController/Keys/ZoomInKey.java index 35b6ce94..51f98a58 100644 --- a/racevisionGame/src/main/java/visualiser/gameController/Keys/ZoomInKey.java +++ b/racevisionGame/src/main/java/visualiser/gameController/Keys/ZoomInKey.java @@ -1,7 +1,5 @@ package visualiser.gameController.Keys; -import javafx.scene.input.KeyCode; - /** * key to zoom into the game */ diff --git a/racevisionGame/src/main/java/visualiser/model/Ping.java b/racevisionGame/src/main/java/visualiser/model/Ping.java index b81a3e0c..9cd51a1f 100644 --- a/racevisionGame/src/main/java/visualiser/model/Ping.java +++ b/racevisionGame/src/main/java/visualiser/model/Ping.java @@ -1,8 +1,5 @@ package visualiser.model; -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; diff --git a/racevisionGame/src/main/java/visualiser/model/RaceConnection.java b/racevisionGame/src/main/java/visualiser/model/RaceConnection.java index f9f2d4ea..0aed5618 100644 --- a/racevisionGame/src/main/java/visualiser/model/RaceConnection.java +++ b/racevisionGame/src/main/java/visualiser/model/RaceConnection.java @@ -3,10 +3,6 @@ package visualiser.model; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.Socket; - /** * Connection for Races */ diff --git a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java index adbd4840..5078c2d9 100644 --- a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java +++ b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java @@ -1,7 +1,5 @@ package visualiser.model; - -import javafx.scene.Node; import javafx.scene.image.Image; import javafx.scene.paint.Color; import javafx.scene.paint.Paint; @@ -12,7 +10,6 @@ import shared.model.GPSCoordinate; import shared.model.Mark; import shared.model.RaceClock; -import java.time.Duration; import java.util.List; /** @@ -29,23 +26,13 @@ import java.util.List; */ public class ResizableRaceCanvas extends ResizableCanvas { - /** - * The RaceMap used for converting GPSCoordinates to GraphCoordinates. - */ - private RaceMap map; - - /** - * The race we read data from and draw. - */ - private VisualiserRace visualiserRace; - - /** - * The background of the race. - * We render the background whenever the race boundary changes, or the screen size changes. - */ + private RaceMap map; // for converting GPSCoordinates to GraphCoordinates + private VisualiserRace visualiserRace; // draw data read from this race private Image background; + private Image sailsRight = new Image("/images/sailsRight.png"); + private Image sailsLeft = new Image("/images/sailsLeft.png"); - + // annotations private boolean annoName = true; private boolean annoAbbrev = true; private boolean annoSpeed = true; @@ -53,15 +40,12 @@ public class ResizableRaceCanvas extends ResizableCanvas { private boolean annoEstTime = true; private boolean annoTimeSinceLastMark = true; - - /** * Constructs a {@link ResizableRaceCanvas} using a given {@link VisualiserRace}. * @param visualiserRace The race that data is read from in order to be drawn. */ public ResizableRaceCanvas(VisualiserRace visualiserRace) { super(); - this.visualiserRace = visualiserRace; RaceDataSource raceData = visualiserRace.getRaceDataSource(); @@ -72,14 +56,9 @@ public class ResizableRaceCanvas extends ResizableCanvas { double long2 = raceData.getMapBottomRight().getLongitude(); this.map = new RaceMap( - lat1, long1, lat2, long2, - (int) getWidth(), (int) getHeight() ); - - + lat1, long1, lat2, long2, (int)getWidth(), (int)getHeight()); } - - /** * Toggle name display in annotation */ @@ -119,11 +98,9 @@ public class ResizableRaceCanvas extends ResizableCanvas { annoSpeed = !annoSpeed; } - - - /** - * Rotates things on the canvas Note: this must be called in between gc.save() and gc.restore() else they will rotate everything + * Rotates things displayed on the canvas. Note: this must be called in + * between gc.save() and gc.restore() else they will rotate everything * * @param degrees Bearing degrees to rotate. * @param px Pivot point x of rotation. @@ -134,8 +111,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.setTransform(r.getMxx(), r.getMyx(), r.getMxy(), r.getMyy(), r.getTx(), r.getTy()); } - - /** * Draws a circle with a given diameter, centred on a given graph coordinate. * @param center The center coordinate of the circle. @@ -147,8 +122,8 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.fillOval( center.getX() - (diameter / 2), center.getY() - (diameter / 2), - diameter, diameter ); - + diameter, diameter + ); } /** @@ -163,7 +138,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.setStroke(paint); gc.setFill(paint); - double endPointDiameter = 6; //Draw first end-point. @@ -177,8 +151,8 @@ public class ResizableRaceCanvas extends ResizableCanvas { graphCoordinateA.getX(), graphCoordinateA.getY(), graphCoordinateB.getX(), - graphCoordinateB.getY() ); - + graphCoordinateB.getY() + ); } /** @@ -198,7 +172,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { drawCircle(graphCoordinate, pointDiameter); } - /** * Display given name and speed of boat at a graph coordinate * @@ -214,7 +187,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { //The text to draw. Built during the function. String text = ""; - //Draw name if annotation is enabled. if (annoName) { text += String.format("%s ", name); @@ -240,7 +212,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { text += timeSinceLastMark; } - //Offset by 20 pixels horizontally. long xCoord = coordinate.getX() + 20; long yCoord = coordinate.getY(); @@ -259,41 +230,36 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.fillText(text, xCoord, yCoord); } - /** * Draws the label for a given boat. Includes name, abbreviation, speed, time since mark, and time to next mark. * @param boat The boat to draw text for. */ private void drawBoatText(VisualiserBoat boat) { - drawText( boat.getName(), boat.getCountry(), boat.getCurrentSpeed(), this.map.convertGPS(boat.getCurrentPosition()), boat.getTimeToNextMarkFormatted(this.visualiserRace.getRaceClock().getCurrentTime()), - boat.getTimeSinceLastMarkFormatted(this.visualiserRace.getRaceClock().getCurrentTime()) ); - + boat.getTimeSinceLastMarkFormatted(this.visualiserRace.getRaceClock().getCurrentTime()) + ); } - - - /** * Draws all of the boats on the canvas. */ private void drawBoats() { - for (VisualiserBoat boat : visualiserRace.getBoats()) { - - //Draw the boat. - drawBoat(boat); + //Draw track. + drawTrack(boat); //Only draw wake if they are currently racing. if (boat.getStatus() == BoatStatusEnum.RACING) { drawWake(boat); } + //Draw the boat. + drawBoat(boat); //If the race hasn't started, we set the time since last mark to the current time, to ensure we don't start counting until the race actually starts. if ((boat.getStatus() != BoatStatusEnum.RACING) && (boat.getStatus() == BoatStatusEnum.FINISHED)) { @@ -302,16 +268,9 @@ public class ResizableRaceCanvas extends ResizableCanvas { //Draw boat label. drawBoatText(boat); - - //Draw track. - drawTrack(boat); - } - } - - /** * Draws a given boat on the canvas. * @param boat The boat to draw. @@ -346,28 +305,66 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.fillPolygon(x, y, 3); gc.restore(); + // TODO: update with current players boat + if (boat.getSourceID() == 125) { + drawSails(boat); + } } - } + /** + * Draws sails for a given boat on the canvas. Sail position is + * determined by the boats heading and the current wind direction + * according to the "points of sail". + * @param boat boat to display sails for + */ + private void drawSails(VisualiserBoat boat) { + GraphCoordinate boatPos = + this.map.convertGPS(boat.getCurrentPosition()); + double xPos = boatPos.getX(); // x pos of sail (on boat) + double yPos = boatPos.getY() - 6; // y pos of sail (on boat) + double boatBearing = boat.getBearing().degrees(); + double windDirection = visualiserRace.getWindDirection().degrees(); + windDirection = 0; // set to 0 for now - will be removed + double sailRotateAngle; // required rotation for correct sail display + Image sailImage; + + gc.save(); + // right half of points of sail + if (boatBearing<180) { + sailImage = sailsRight; + sailRotateAngle = boatBearing * 0.5; // math + xPos -= 1; // right align to boat edge on canvas +// System.out.println("right side -- boat: " + boatBearing + +// "|| rotate: " + sailRotateAngle); + } + // left half of points of sail + else { + sailImage = sailsLeft; + sailRotateAngle = -(360 - boatBearing) * 0.5; // math + xPos -= 5; // left align to boat edge on canvas +// System.out.println("left side -- boat: " + boatBearing + +// "|| rotate: " + sailRotateAngle); + } + + // rotate sails based on boats current heading + rotate(sailRotateAngle, boatPos.getX(), boatPos.getY()); + gc.drawImage(sailImage, xPos, yPos); + gc.restore(); + } /** * Draws the wake for a given boat. * @param boat Boat to draw wake for. */ private void drawWake(VisualiserBoat boat) { - - //Calculate either end of wake line. + // Calculate either end of wake line. GraphCoordinate wakeFrom = this.map.convertGPS(boat.getCurrentPosition()); GraphCoordinate wakeTo = this.map.convertGPS(boat.getWake()); - //Draw. drawLine(wakeFrom, wakeTo, boat.getColor()); - } - - /** * Draws all of the {@link Mark}s on the canvas. */ @@ -377,46 +374,30 @@ public class ResizableRaceCanvas extends ResizableCanvas { } } - /** * Draws a given mark on the canvas. * @param mark The mark to draw. */ private void drawMark(Mark mark) { - - //Calculate screen position. - GraphCoordinate mark1 = this.map.convertGPS(mark.getPosition()); - - //Draw. - drawPoint(mark1, Color.LIMEGREEN); - + GraphCoordinate markToDraw = this.map.convertGPS(mark.getPosition()); + drawPoint(markToDraw, Color.LIMEGREEN); } - - /** * Draws the Race Map. * Called when the canvas is resized. */ public void draw() { - - //Clear canvas. - clear(); + clear(); // clear previous canvas //Update our RaceMap using new canvas size. this.map.setWidth((int) getWidth()); this.map.setHeight((int) getHeight()); - //Redraw the boundary. redrawBoundaryImage(); - - //Draw the race. drawRace(); - - } - /** * Clears the canvas. */ @@ -424,19 +405,16 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.clearRect(0, 0, getWidth(), getHeight()); } - /** * Draws the race boundary, and saves the image to {@link #background}. * You should call {@link #clear()} before calling this. */ private void redrawBoundaryImage() { - //Prepare to draw. gc.setLineWidth(1); gc.setFill(Color.AQUA); gc.drawImage(new Image(getClass().getClassLoader().getResourceAsStream("images/WaterBackground.png")), 0, 0); - //Calculate the screen coordinates of the boundary. List boundary = this.visualiserRace.getBoundary(); double[] xpoints = new double[boundary.size()]; @@ -456,7 +434,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { //Render boundary to image. this.background = snapshot(null, null); - } /** @@ -464,23 +441,14 @@ public class ResizableRaceCanvas extends ResizableCanvas { * Called once per frame, and on canvas resize. */ public void drawRace() { - gc.setLineWidth(2); + clear(); // clear the previous canvas - clear(); - - //Race boundary. drawBoundary(); - - //Boats. drawBoats(); - - //Marks. drawMarks(); - } - /** * Draws the race boundary image onto the canvas. * See {@link #background}. @@ -489,13 +457,9 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.drawImage(this.background, 0, 0); } - - - - /** - * Draws all track points for a given boat. Colour is set by boat, opacity by track point. - * This checks if {@link #annoPath} is enabled. + * Draws all track points for a given boat. Colour is set by boat, opacity + * by track point. This checks if {@link #annoPath} is enabled. * @param boat The boat to draw tracks for. * @see TrackPoint */ @@ -517,9 +481,6 @@ public class ResizableRaceCanvas extends ResizableCanvas { gc.fillOval(scaledCoordinate.getX(), scaledCoordinate.getY(), point.getDiameter(), point.getDiameter()); } } - } - - } diff --git a/racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java b/racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java index 57ba0790..a8fb8d2f 100644 --- a/racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java +++ b/racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java @@ -1,7 +1,5 @@ package visualiser.model; -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; import javafx.scene.paint.Color; import network.Messages.Enums.BoatStatusEnum; import shared.model.Azimuth; @@ -38,7 +36,7 @@ public class VisualiserBoat extends Boat { /** * The minimum period of time, in milliseconds, between the creation of each track point. */ - private static final long trackPointTimeInterval = 5000; + private static final long trackPointTimeInterval = 500; /** * The number of track points that should be created before fully diminishing the alpha of a given track point. diff --git a/racevisionGame/src/main/java/visualiser/model/VisualiserRace.java b/racevisionGame/src/main/java/visualiser/model/VisualiserRace.java index 976a4b6e..dea82284 100644 --- a/racevisionGame/src/main/java/visualiser/model/VisualiserRace.java +++ b/racevisionGame/src/main/java/visualiser/model/VisualiserRace.java @@ -16,7 +16,6 @@ import shared.dataInput.RegattaDataSource; import shared.model.*; import java.time.Duration; -import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/racevisionGame/src/main/resources/images/sailsLeft.png b/racevisionGame/src/main/resources/images/sailsLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..4f72adf1ea8f711613b5d76952ea95f337798853 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^j-D=#Ar-fh6C9ZSPh<#l+;Qan z{r&1fA-o|a;yOPbALlP$v&vDc!MlS9o086a}GA<$!Ms2XxDM{{BnSW;WwAa V>G$*NU4e!%c)I$ztaD0e0swM8DAxc0 literal 0 HcmV?d00001 diff --git a/racevisionGame/src/main/resources/images/sailsRight.png b/racevisionGame/src/main/resources/images/sailsRight.png new file mode 100644 index 0000000000000000000000000000000000000000..6591f4bef93383318472ca58b7abae267167ccbb GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^uAVNAAr-fhfAq7|{r~s&90T+J ziww+02Q)d2nlxhT|NooY5&G!<{`&HVLJE9gj~#Ah>NZ|3nse@`)C?C%W`4doirv~F ZjI5VM%~P8*ihu?(c)I$ztaD0e0sx_XD#ZW* literal 0 HcmV?d00001 diff --git a/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml b/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml index 4057753d..196c4c10 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/arrow.fxml @@ -1,18 +1,13 @@ + - - - - - + - - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/connect.fxml b/racevisionGame/src/main/resources/visualiser/scenes/connect.fxml index f620bfeb..17819c1b 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/connect.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/connect.fxml @@ -1,12 +1,9 @@ - - - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml b/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml index 5657fa30..5a5d1c7b 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml @@ -1,12 +1,9 @@ - - - - + + - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml b/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml index 13159bec..d5a1cb3d 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml @@ -1,12 +1,9 @@ - - - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/main.fxml b/racevisionGame/src/main/resources/visualiser/scenes/main.fxml index 99e802e5..074a9b31 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/main.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/main.fxml @@ -1,9 +1,6 @@ - - - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/title.fxml b/racevisionGame/src/main/resources/visualiser/scenes/title.fxml index 48870b1f..f448a226 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/title.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/title.fxml @@ -1,12 +1,9 @@ - - - diff --git a/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml b/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml index 2d0477a1..b7aaabcf 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml @@ -1,20 +1,10 @@ - - + + - - - - - - - - - - diff --git a/racevisionGame/src/test/java/mock/model/MockBoatTest.java b/racevisionGame/src/test/java/mock/model/MockBoatTest.java index b1ee551c..390fab35 100644 --- a/racevisionGame/src/test/java/mock/model/MockBoatTest.java +++ b/racevisionGame/src/test/java/mock/model/MockBoatTest.java @@ -1,7 +1,5 @@ package mock.model; -import static org.junit.Assert.*; - public class MockBoatTest { //TODO } diff --git a/racevisionGame/src/test/java/mock/model/MockRaceTest.java b/racevisionGame/src/test/java/mock/model/MockRaceTest.java index cf530665..2e1f0a31 100644 --- a/racevisionGame/src/test/java/mock/model/MockRaceTest.java +++ b/racevisionGame/src/test/java/mock/model/MockRaceTest.java @@ -1,7 +1,5 @@ package mock.model; -import static org.junit.Assert.*; - public class MockRaceTest { //TODO } diff --git a/racevisionGame/src/test/java/mock/model/PolarsTest.java b/racevisionGame/src/test/java/mock/model/PolarsTest.java index 491e5935..ca49172a 100644 --- a/racevisionGame/src/test/java/mock/model/PolarsTest.java +++ b/racevisionGame/src/test/java/mock/model/PolarsTest.java @@ -6,9 +6,7 @@ import org.junit.Before; import org.junit.Test; import shared.model.Bearing; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; /** diff --git a/racevisionGame/src/test/java/mock/model/VMGTest.java b/racevisionGame/src/test/java/mock/model/VMGTest.java index 173df3ee..23cb6e27 100644 --- a/racevisionGame/src/test/java/mock/model/VMGTest.java +++ b/racevisionGame/src/test/java/mock/model/VMGTest.java @@ -4,7 +4,7 @@ import org.junit.Before; import org.junit.Test; import shared.model.Bearing; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; public class VMGTest { diff --git a/racevisionGame/src/test/java/network/BinaryMessageDecoderTest.java b/racevisionGame/src/test/java/network/BinaryMessageDecoderTest.java index 7414d709..cf42c8e2 100644 --- a/racevisionGame/src/test/java/network/BinaryMessageDecoderTest.java +++ b/racevisionGame/src/test/java/network/BinaryMessageDecoderTest.java @@ -13,9 +13,6 @@ import shared.dataInput.XMLReader; import shared.exceptions.XMLReaderException; import javax.xml.transform.TransformerException; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import static org.junit.Assert.fail; diff --git a/racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java b/racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java index 24fc2be2..801f11cd 100644 --- a/racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java +++ b/racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java @@ -2,10 +2,7 @@ package network.Utils; import org.junit.Test; -import static network.Utils.AC35UnitConverter.convertGPS; -import static network.Utils.AC35UnitConverter.convertGPSToInt; -import static network.Utils.AC35UnitConverter.convertHeading; -import static network.Utils.AC35UnitConverter.convertTrueWindAngle; +import static network.Utils.AC35UnitConverter.*; import static org.junit.Assert.assertTrue; /** diff --git a/racevisionGame/src/test/java/network/Utils/ByteConverterTest.java b/racevisionGame/src/test/java/network/Utils/ByteConverterTest.java index 32ffc6ee..6621b1eb 100644 --- a/racevisionGame/src/test/java/network/Utils/ByteConverterTest.java +++ b/racevisionGame/src/test/java/network/Utils/ByteConverterTest.java @@ -1,6 +1,5 @@ package network.Utils; -import network.Utils.ByteConverter; import org.junit.Test; import java.nio.ByteOrder; diff --git a/racevisionGame/src/test/java/network/XMLMessageEncoderTest.java b/racevisionGame/src/test/java/network/XMLMessageEncoderTest.java index 44a99997..8109ae39 100644 --- a/racevisionGame/src/test/java/network/XMLMessageEncoderTest.java +++ b/racevisionGame/src/test/java/network/XMLMessageEncoderTest.java @@ -9,9 +9,6 @@ import shared.dataInput.XMLReader; import shared.exceptions.XMLReaderException; import javax.xml.transform.TransformerException; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import static org.junit.Assert.fail; diff --git a/racevisionGame/src/test/java/shared/dataInput/BoatXMLReaderTest.java b/racevisionGame/src/test/java/shared/dataInput/BoatXMLReaderTest.java index 19370be0..129c5950 100644 --- a/racevisionGame/src/test/java/shared/dataInput/BoatXMLReaderTest.java +++ b/racevisionGame/src/test/java/shared/dataInput/BoatXMLReaderTest.java @@ -3,23 +3,17 @@ package shared.dataInput; import org.junit.Before; import org.junit.Test; -import org.xml.sax.SAXException; import shared.enums.XMLFileType; import shared.exceptions.InvalidBoatDataException; import shared.exceptions.XMLReaderException; import shared.model.Boat; import shared.model.Mark; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; /** * Created by cbt24 on 10/05/17. diff --git a/racevisionGame/src/test/java/shared/model/AngleTest.java b/racevisionGame/src/test/java/shared/model/AngleTest.java index 6e03e788..4618f21f 100644 --- a/racevisionGame/src/test/java/shared/model/AngleTest.java +++ b/racevisionGame/src/test/java/shared/model/AngleTest.java @@ -1,7 +1,5 @@ package shared.model; -import static org.junit.Assert.*; - public class AngleTest { //TODO } diff --git a/racevisionGame/src/test/java/shared/model/AzimuthTest.java b/racevisionGame/src/test/java/shared/model/AzimuthTest.java index 9a3c3431..dc3be932 100644 --- a/racevisionGame/src/test/java/shared/model/AzimuthTest.java +++ b/racevisionGame/src/test/java/shared/model/AzimuthTest.java @@ -1,7 +1,5 @@ package shared.model; -import static org.junit.Assert.*; - public class AzimuthTest { //TODO } diff --git a/racevisionGame/src/test/java/shared/model/BearingTest.java b/racevisionGame/src/test/java/shared/model/BearingTest.java index 3855e829..876a0deb 100644 --- a/racevisionGame/src/test/java/shared/model/BearingTest.java +++ b/racevisionGame/src/test/java/shared/model/BearingTest.java @@ -1,7 +1,5 @@ package shared.model; -import static org.junit.Assert.*; - public class BearingTest { //TODO } diff --git a/racevisionGame/src/test/java/shared/model/CompoundMarkTest.java b/racevisionGame/src/test/java/shared/model/CompoundMarkTest.java index 5a305bac..44d68905 100644 --- a/racevisionGame/src/test/java/shared/model/CompoundMarkTest.java +++ b/racevisionGame/src/test/java/shared/model/CompoundMarkTest.java @@ -1,7 +1,6 @@ package shared.model; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/racevisionGame/src/test/java/shared/model/MarkTest.java b/racevisionGame/src/test/java/shared/model/MarkTest.java index a78eb512..9c3535ee 100644 --- a/racevisionGame/src/test/java/shared/model/MarkTest.java +++ b/racevisionGame/src/test/java/shared/model/MarkTest.java @@ -1,7 +1,5 @@ package shared.model; -import static org.junit.Assert.*; - public class MarkTest { //TODO } diff --git a/racevisionGame/src/test/java/shared/model/RaceClockTest.java b/racevisionGame/src/test/java/shared/model/RaceClockTest.java index 2dd62ff5..6ad3e8d7 100644 --- a/racevisionGame/src/test/java/shared/model/RaceClockTest.java +++ b/racevisionGame/src/test/java/shared/model/RaceClockTest.java @@ -1,7 +1,5 @@ package shared.model; -import static org.junit.Assert.*; - public class RaceClockTest { //TODO } diff --git a/racevisionGame/src/test/java/visualiser/gameController/GameControllerManualTest.java b/racevisionGame/src/test/java/visualiser/gameController/GameControllerManualTest.java index 6c7c4f81..f01b7abb 100644 --- a/racevisionGame/src/test/java/visualiser/gameController/GameControllerManualTest.java +++ b/racevisionGame/src/test/java/visualiser/gameController/GameControllerManualTest.java @@ -7,7 +7,6 @@ import javafx.scene.Scene; import javafx.scene.layout.GridPane; import javafx.stage.Stage; import javafx.stage.WindowEvent; -import visualiser.gameController.InputChecker; /** * Start to manually test the game controller diff --git a/racevisionGame/src/test/java/visualiser/model/RaceConnectionTest.java b/racevisionGame/src/test/java/visualiser/model/RaceConnectionTest.java index 02fb463e..85a5a8f7 100644 --- a/racevisionGame/src/test/java/visualiser/model/RaceConnectionTest.java +++ b/racevisionGame/src/test/java/visualiser/model/RaceConnectionTest.java @@ -4,7 +4,6 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /**