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