Commit Graph
401 Commits
Author SHA1 Message Date
David Wu fa5992bfb2 added App app to app. 2017-08-17 12:58:05 +12:00
fjc40 62f400b924 Trackpoint line color fades out. 2017-08-17 12:56:11 +12:00
David Wu 6bc81f566e Issue 19 changes. 2017-08-17 12:50:41 +12:00
fjc40 fa26abe10c Minor tidy. 2017-08-17 12:18:17 +12:00
hwball df2b674b94 update scale for table displaying 2017-08-17 11:51:33 +12:00
Joseph Gardner 1e7ba8cd51 Merge branch 'master' into MapWindRotation
# Conflicts:
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java
#	racevisionGame/src/main/java/shared/model/CompoundMark.java
#	racevisionGame/src/main/java/shared/model/Mark.java
#	racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java
#	racevisionGame/src/main/java/visualiser/Controllers/HostController.java
#	racevisionGame/src/main/java/visualiser/app/VisualiserInput.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserRace.java
2017-08-17 11:46:09 +12:00
Joseph d7e0bfa86c Trackpoints are only shown for the player's boat. #story[1098] 2017-08-17 10:13:30 +12:00
Joseph 47fc55245c Merged master. 2017-08-17 09:27:41 +12:00
Joseph f60809bdd4 Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/mock/app/MockOutput.java
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/network/MessageDecoders/BoatActionDecoder.java
#	racevisionGame/src/main/java/network/MessageDecoders/BoatLocationDecoder.java
#	racevisionGame/src/main/java/visualiser/app/VisualiserInput.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
#	racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserRace.java
#	racevisionGame/src/main/resources/visualiser/scenes/connect.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/lobby.fxml
#	racevisionGame/src/test/java/mock/model/MockRaceTest.java
#	racevisionGame/src/test/java/network/Utils/AC35UnitConverterTest.java
#	racevisionGame/src/test/java/network/XMLMessageEncoderTest.java
2017-08-17 09:13:49 +12:00
zwu18 109b291973 Merged issue #20 fix and splash screen into development. 2017-08-17 01:36:55 +12:00
zwu18 317582aae8 Merge branch 'issue#20fix' into Development 2017-08-17 01:35:33 +12:00
zwu18 4e8b7d3b5a Merge remote-tracking branch 'origin/master' into issue#20fix 2017-08-17 01:30:43 +12:00
zwu18 8759ac070e Merge remote-tracking branch 'origin/splashScreen' into issue#20fix 2017-08-17 01:30:38 +12:00
hba56 ee0cc4b704 Merge branch 'issue#40' into Development 2017-08-16 22:41:49 +12:00
fjc40 114c18763b Reduced track point period to 1000ms.
issue #18
2017-08-16 19:44:42 +12:00
fjc40 20055b1883 Removed redunant calls in VisualiserRaceState.initialiseBoats().
Slightly refactored ResizableRaceCanvas - removed a redundant drawPoint() function, functions which alter the gc stroke call save/restore.
Text is drawn black, at 20pts.
The drawBoats() function: instead of drawing everything for each boat, one boat at a time, it draws the track points for all boats, then wake for all boats, etc..., to have better layering.
issue #18
2017-08-16 18:10:30 +12:00
fjc40 f1e41d5d8f Merge branch 'master' into issue_18_trackpoint 2017-08-16 16:52:32 +12:00
cbt24 f44929f376 Spun off Locatable interface to make collision code more reusable
#story[1100]
2017-08-16 16:05:25 +12:00
hba56 fdd0b30a51 Added the ability to hide and show info table with a key press
-the wind arrow also scales with the new size of the screen
2017-08-16 02:04:07 +12:00
fjc40 85e703cba5 RaceController/info table now makes a copy of the boat list, to avoid race conditions.
#story[1095]
2017-08-15 23:10:32 +12:00
Fan-Wu Yang 9f7c5d8c0c Fixed other javadocs that were causing the build to fail #story[1092] 2017-08-15 22:48:35 +12:00
fjc40 bcb6b79f8d Fixed player boat not being highlighted.
#story[1095]
2017-08-15 22:41:43 +12:00
zwu18 5e0bcd2af5 Added control menu to title screen. Pressing control button will open a pop-up window showing game controls. 2017-08-15 21:26:23 +12:00
fjc40 a4755ed88b Maybe fixed updating boat list on FX thread. 2017-08-15 21:08:56 +12:00
fjc40 0483859c40 Fixed sparkline y axis labelling. Reverted it to how it previously worked (negative data values instead of negative scale).
issue #32
2017-08-15 20:40:29 +12:00
fjc40 dc4610d6eb Fixed sparkline not updating.
#story[1095]
2017-08-15 18:41:28 +12:00
fjc40 5ae8393126 Fixed null pointer exception when a boat finishes the race.
Boats now default to have position (0, 0).
Added mark rounding data to single player race.xml
2017-08-15 17:13:12 +12:00
fjc40 3a0bd10a57 Merge remote-tracking branch 'origin/master' into story_61
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerClient.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
#	racevisionGame/src/main/resources/visualiser/scenes/race.fxml
2017-08-15 14:49:58 +12:00
fjc40 c9875f3987 RaceLogic no longer uses AnimationTimer for its main loop (since that ran in javafx thread). 2017-08-15 14:37:36 +12:00
Connor Taylor-Brown 847cd1251e Merge remote-tracking branch 'remotes/origin/master' into CommandFactory
# Conflicts:
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
2017-08-15 01:01:06 +12:00
Connor Taylor-Brown b97bfe62a6 Fixed documentation bugs not relevant to story. 2017-08-15 00:52:50 +12:00
fjc40 5a03d97713 Added comment. 2017-08-14 13:01:27 +12:00
fjc40 b07c30704a The trackpoint line is now a line (poly-line) instead of a sequence of circles. A point along the poly-line is added every 250ms.
issue #18
2017-08-14 12:58:05 +12:00
Joseph Gardner 7d4f1cd925 Fixed first key press not working. #story[1098] 2017-08-14 12:41:21 +12:00
Jessica Syder 0558629dc6 Added luffing sails image.
- Created transparent gif of luffing sail
- Displayed image when sail is luffing
- Repositioned luffing sail

#story[1098]
2017-08-14 10:42:28 +12:00
Fan-Wu Yang ac42c07c69 Merge branch 'master' into MapWindRotation
# Conflicts:
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/visualiser/app/VisualiserInput.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserRace.java
2017-08-14 03:54:02 +12:00
Fan-Wu Yang b5e414f97a Made all the model classes extend off the schema xml classes for race, and made xml builder, validator and reader utility class.
#story[1092]
2017-08-14 03:47:42 +12:00
fjc40 175fb11178 Javadoc fixes.
#story[1095]
2017-08-14 01:02:58 +12:00
fjc40 7366aba5ec Added empty data sources, to be used by VisualiserRace.
Created FrameRateTracker which can be used to track framerate.
Updated RequestToJoinEnum and JoinAcceptanceEnum to match the agreed connection API.
Added AssignPlayerBoat message, which is used internally on the client to assign the player a source ID once they have connected.
Fixed some race conditions in the MessageRouter.
Updated ConnectionAcceptor.CheckClientConnection to wait slightly longer before removing connection (there was a slight race condition before).
Race no longer has a reference to LatestMessages. LatestMessages no longer has specific messages types in it.
Created RaceState class, which contains the state that is shared between VisualiserRaceState and MockRaceState (currently only used on visualiser).
Split VisualiserRace into VisualiserRaceState and VisualiserRaceService.
Added the VisualiserRace commands (BoatLocatonCommand, RaceStatusCommand, etc...).
Slightly increased the preferred width of race.fxml table columns.
issues #27 #37 #35
#story[1095]
2017-08-14 00:53:05 +12:00
Fan-Wu Yang 8999cddf8b Pre merge commit 2017-08-13 22:16:16 +12:00
Fan-Wu Yang 820898d92c pushed work from school computer to do at home 2017-08-13 16:02:33 +12:00
fjc40 89b0aa8b77 Implemented MessageRouter.
Added ConnectionToServerCommandFactory, and JoinSuccessfulCommand, RaceParticipantsFullCOmmand, ServerFullCommand.
Added IncomingHeartBeatCommandFactory, and IncomingHeartBeatCommand.
Added ConnectionToServerState, which represents the client's connection state to server.
Renamed VisualiserInput to VisualiserRaceController.
Added ConnectionToServer, which tracks the client's connection to server.
Added ConnectionToServerController, which accepts JoinAcceptance messages, turns them into commands, and passes them to ConnectionToServer.
Added IncomingHeartBeatService, which tracks the heart beat status of the connection.
Added IncomingHeartBeatController, which accepts HeartBeat messages, turns them into commands, and passes them to IncomingHeartBeatService.
Refactored ServerConnection a bit.
#story[1095]
2017-08-12 19:58:47 +12:00
zwu18 a31eb078a6 Created a splash screen for application. 2017-08-12 16:27:12 +12:00
hba56 d70a711a3d Merge branch 'master' into story68
-updated port and starboard boat checks
-added gps method to check if on correct side of a line
-updated pos check method to make boats round marks with the new tech

# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
2017-08-12 03:26:28 +12:00
hba56 499a409d4f Merge branch 'master' into story68
-updated port and starboard boat checks
-added gps method to check if on correct side of a line
-updated pos check method to make boats round marks with the new tech

# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
2017-08-12 03:24:20 +12:00
zwu18 e4b72fdfeb Update appearance on client arrow.
#story[1095]
2017-08-11 20:38:54 +12:00
fjc40 61d18f85c5 javadoc fixes. 2017-08-10 23:57:54 +12:00
fjc40 19984772c0 Merge branch 'master' into story_61
Also got client-server handshake working. Multiple clients can connect and control their own boat.
The client's boat has a larger black triangle drawn around it. Probably needs tidying up.
Added isClientBoat boolean to VisualiserBoat.

WindGenerator is now an interface, implemented by ConstantWindGenerator (useful for testing) and RandomWindGenerator. Added ConstantWindGeneratorTest.
RandomWindGenerator was formerly WindGenerator.
The WindGenerator is passed in to MockRace.

CommandFactory throws a CommandConstructionException if it cannot create a command.

MessageSerialiser and MessageDeserialiser correctly terminate on error.

Readded VisualiserInput's switch statement in the main loop, pending a refactor.

Removed the sleep statement from LobbyController - it was blocking javaFX thread.

Lobby.fxml: moved buttons and text input into grid panes, so they don't break when you resize screen.

Added some test object creation functions in several test classes (MockRaceTest.createMockRace(), BoatXMLReaderTest.createBoatDataSource(), etc...).

#story[1095]
2017-08-10 23:49:21 +12:00
Joseph Gardner d8628b4289 Boats now start the race with sails out. #story[1098] 2017-08-10 13:25:57 +12:00
fjc40 130ffcbf07 Fixed some merge issues. 2017-08-10 13:16:53 +12:00