Commit Graph
72 Commits
Author SHA1 Message Date
Connor Taylor-Brown b97bfe62a6 Fixed documentation bugs not relevant to story. 2017-08-15 00:52:50 +12:00
zwu18 848edfc6a4 Removed commented out code. Merged master in.
#story[1097]
2017-08-12 03:20:21 +12:00
zwu18 c3ea62dfee Merge branch 'master' into CommandFactory
# 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
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
2017-08-12 03:18:24 +12:00
zwu18 9c902dab46 Added javadoc to classes.
#story[1097]
2017-08-12 02:11:23 +12:00
fjc40 130ffcbf07 Fixed some merge issues. 2017-08-10 13:16:53 +12:00
fjc40 805c12bf41 Merge remote-tracking branch 'origin/master' into issue_28_36_decoders
# Conflicts:
#	racevisionGame/src/main/java/mock/app/ConnectionAcceptor.java
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
2017-08-10 13:12:26 +12:00
fjc40 39b5cc2edc MockBoat has autoVMG disabled by default.
Wind/Tack commands disable autoVMG. VMG command enables it.
Upwind command was turning until boat was at 0 degrees, instead of being aligned with wind direction, but that's fixed.
#story[1096]
2017-08-10 12:44:42 +12:00
zwu18 03713d3699 Added checkPosition into MockRace which was removed. Boat now updates legs again.
#Story[1097]
2017-08-09 16:37:29 +12:00
Connor Taylor-Brown e021dd328d Changed CompositeCommand stack to queue
#story[1096]
2017-08-08 23:56:59 +12:00
Connor Taylor-Brown dad4fa57c6 Fixed WindCommand not updating downwind command when moving upwind.
#story[1096]
2017-08-07 14:51:32 +12:00
Connor Taylor-Brown 55798447ab Cherry-picked CommandFactory connection between ControllerServer and RaceLogic.
#story[1096]
2017-08-07 14:25:30 +12:00
Connor Taylor-Brown e76de1cbf9 Added test for WindCommand
#story[1096]
2017-08-07 14:13:14 +12:00
fjc40 634d78ab70 Added names to threads created.
MockOutput had a nested while loop, but it wasn't needed. Also tidied some of the error handling in MockOutput.

#story[1095]
2017-08-07 13:42:50 +12:00
Joseph Gardner 0bf2c6106b Boat updating speed after key press has been fixed. #fix #story[1094] 2017-08-07 12:03:34 +12:00
zwu18 ddaa2623ca Added tests for TackGybeCommand class.
#Story[1097]
2017-08-07 02:56:24 +12:00
zwu18 a388989827 Reworked TackGybeCommand. Current boat in race will now tack and gybe when control is pressed.
#Story[1097]
2017-08-06 16:38:44 +12:00
fjc40 1fbdd09d70 Refactored BoatLocation message, encoders, decoders. It now exposes datatypes that we actually use in the program (double knots, bearings, etc..), instead of the bits-on-the-wire packed units (like int mmPerSec). Also documented it, and updated test.
issue #35 #36
#story[1095]
2017-08-06 16:13:25 +12:00
zwu18 18f14c7542 VMGCommand now toggles autoVMG on and off. Linked up observer and observable so the current boat can now be controlled. Fixed autoVMG not working.
#Story[1097]
2017-08-06 16:12:53 +12:00
fjc40 ff262a6227 Added Knots <-> MMperSec conversions to AC35UnitConverter.
Removed redundant/unused conversions.
Documented all of the conversions, and renamed them to pack/unpackX, to match the API spec.
Updated/added some tests in AC35UnitConverterTest.
RaceStatus now contains a Bearing instead of a packed int bearing.
RaceStatus now contains wind speed in knots, instead of MMperSec packed.
This means that only RaceStatus decoder/encoder need to care about the bits-over-wire packed values.
issue #35 #36
#story[1095]
2017-08-06 14:57:51 +12:00
zwu18 dab0f2b402 Merge branch 'story63' into CommandFactory
# Conflicts:
#	racevisionGame/src/main/java/mock/model/commandFactory/TackGybeCommand.java
2017-08-06 14:54:21 +12:00
zwu18 074e2e590b VMGCommand now toggles autoVMG on and off. Linked up observer and observable so the current boat can now be controlled.
#Story[1097]
2017-08-06 14:48:46 +12:00
zwu18 3d417c3a40 Merge branch 'story63' into CommandFactory
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/mock/model/RaceLogic.java
#	racevisionGame/src/main/java/mock/model/RaceState.java
#	racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java
#	racevisionGame/src/main/java/mock/model/commandFactory/VMGCommand.java
#	racevisionGame/src/main/java/visualiser/gameController/ControllerServer.java
2017-08-06 13:48:41 +12:00
fjc40 b1922fc3fc Added RaceStatusEncoder.
Refactored RaceStatusDecoder to be more consistent with other decoders - it now has a getMessage() function.
Added BoatStatus encoder and decoder - the RaceStatus encoder and decoder uses this for BoatStatuses. The BoatStatus encoder doesn't implement the MessageEncoder interface as BoatStatus is not a proper message type (doesn't inherit from AC35Data).
Added remaining cases to EncoderFactory, but commented them out.
BoatStatus now uses BoatStatusEnum instead of a byte.
Added some comments to RaceStatus, and it uses enums instead of bytes.
MockOutput logs a warning if a RaceStatus cannot be encoded.
Added a BoatStatusDecoderTest.
Updated RaceStatusDecoder to use new encoders/decoders.
issue #35 #36
#story[1095]
2017-08-06 13:38:27 +12:00
fjc40 b486f99dbe Added XMLMessageEncoder.
Refactored XMLMessageDecoder to be consistent with other decoders - only needs to expose the XMLMessage.
Refactored BoatLocationDecoder to be consistent with other decoders - only needs to expose the BoatLocation.
Updated XMLMessageDecoderTest to use new encoder/decoder. Also tests all three message types.
Removed XMLMessageEncoderTest as it was redundant.
Updated BinaryMessageDecoderTest.xmlMessageTest() to use updated XMLMessage encoder/decoder.
issue #35 #36
#story[1095]
2017-08-06 01:01:05 +12:00
fjc40 8ef906472b Renamed Heartbeat to HeartBeat.
Added HeartBeatDecoder.
Added HeartBeatEncoder.
BinaryMessageDecoder now uses HeartBeatDecoder.
MockOutput now logs a warning if a heartBeat cannot be encoded.
Added HeartBeatDecoderTest.
issue #35 #36
#story[1095]
2017-08-05 23:27:28 +12:00
fjc40 c3ed30019c Added BoatLocationEncoder.
Updated BoatLocationDecoder test to use new encoder.
Updated MockOutput to use new encoder. It logs a warning if encoding fails.

#story[1095]
2017-08-05 22:11:54 +12:00
Connor Taylor-Brown 554f8a2a0f Added WindCommand and multiple command execution to RaceLogic
- Dispatch commands with CompositeCommand
- Single WindCommand handles upwind and downwind logic
- Changed key bindings as Mac lacks PgUp PgDn
- ControllerServer is observable, RaceLogic updates CompositeCommand as observer
2017-08-04 23:08:07 +12:00
zwu18 14ce5fcaff Made changes to TackGybeCommand and VMGCommand classes to fit pattern layout.
#Story[1097]
2017-08-04 03:56:55 +12:00
zwu18 6e699f7037 Merge branch 'RaceFactory' into CommandFactory 2017-08-04 03:00:31 +12:00
Connor Taylor-Brown 851bbb4fde Merged branch "RaceFactory" with master 2017-08-03 23:03:15 +12:00
fjc40 148108a658 CommandFactory uses BoatActionEnum instead of raw ints.
#story[1094]
2017-08-03 21:11:25 +12:00
Connor Taylor-Brown c83442761c Implemented Factory for Command objects and fixed Command Pattern implementation.
- Commands now have standard 0-parameter execute method
- Commands are created by CommandFactory

#story[1094]
2017-08-03 17:54:03 +12:00
Joseph Gardner 40a3ed1bb0 Boats now store whether autoVMG is on or off, boat speed scales off their bearing relative to the TWA. #story[1094] 2017-08-03 16:56:52 +12:00
Connor Taylor-Brown c8621a7be5 Merge branch 'RaceFactory' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into RaceFactory 2017-08-03 09:01:27 +12:00
zwu18 d9679c1497 Build failing due to junit even though junit passes all tests. Commented out VMGCommand and TackGybeCommand content. 2017-08-03 01:31:05 +12:00
Connor Taylor-Brown 2672c2b13b Separated RaceLogic from MockRace
- MockRace satisfies refactor requirement for RaceState
- VisualiserRace directly implements Runnable to remove method from MockRace

#story[1094]
2017-08-03 00:32:17 +12:00
zwu18 b581b01a44 Merge branch 'RaceFactory' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into RaceFactory
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
2017-08-03 00:28:44 +12:00
zwu18 ad61dc6bce Implemented runCommand method in VMGCommand and TackGybeCommand classes. Both classes currently rely on the MockRace class so changes will be required when MockRace is refactored.
#story[1097]
2017-08-03 00:22:46 +12:00
Connor Taylor-Brown 0466292bd0 Partially removed VMG optimisation, separated server-specific functionality
from MockRace into RaceServer.

#story[1094]
2017-08-02 23:39:13 +12:00
zwu18 7fc1347377 Created class TackGybeCommand which implements the CommandFactory interface.
#story[1097]
2017-08-02 22:28:47 +12:00
Joseph Gardner 27cf0e1539 Started splitting MockRace into RaceLogic and RaceState. #refactor #story[1094] 2017-08-02 16:31:55 +12:00
Joseph Gardner b258e94a54 Merged wind generator into this branch. #story[1094] 2017-08-02 15:19:32 +12:00
Joseph Gardner fba256113a Merged wind generator into this branch. #story[1094] 2017-08-02 15:09:59 +12:00
Joseph Gardner 51bbdf9a50 Merge branch 'issue_26_wind' into RaceFactory
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/shared/model/Race.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserRace.java
2017-08-02 15:04:55 +12:00
fjc40 ed12ff659d mock:
Moved wind generation logic and state into the WindGenerator class.
MockRace initialises this, and calls it to update wind.
2017-08-02 13:59:19 +12:00
Joseph Gardner 81eeca3533 Split wind off from Race and made it its own class. Deleted dnfChance as it is no longer used. 2017-08-02 13:45:10 +12:00
Joseph Gardner 775c32ca92 Made new branch for command architecture. 2017-08-02 12:48:56 +12:00
Joseph Gardner a87879eaa9 Made new branch for command architecture. 2017-08-02 12:41:47 +12:00
fjc40 99f3310d8b Created a setWind(bearing, knots) in Race, which updates the Wind with new values.
MockRace now uses Wind.
VisualiserRace now uses Wind.
#story[1093]
2017-08-01 18:45:17 +12:00
Fan-Wu Yang 442920f9f6 DOD, and added javadocs/fixed javadocs #story[1087] 2017-07-27 16:24:19 +12:00