Commit Graph
462 Commits
Author SHA1 Message Date
fjc40 16686678a7 Added an InvalidMessageTypeException - thrown whenever we encounter a MessageType that isn't recognised or isn't supported.
Added EncoderFactory. This creates specific MessageEncoders. Supports JoinAcceptance and RequestToJoin.
Added MessageEncoder interface.
Added JoinAcceptanceEncoder.
Added encode(AC35Data) function to RaceVisionByteEncoder.
Added RequestToJonEncoder.
Updated RequestToJoin and JoinAcceptance decode/encode tests to use the above.

issue #35 #36
#story[1095]
2017-08-05 21:31:47 +12:00
fjc40 7ea5b31fa1 RequestToJoinEnum contains an int instead of a byte.
Added requestToJoin and joinAcceptance encoding functions to RaceVisionByteEncoder.
Implemented JoinAcceptanceDecoder.
Implemented RequestToJoinDecoder.
Added tests for encoding/decoding RequestToJoin and JoinAcceptance messages.

issue #35
#story[1095]
2017-08-05 20:42:25 +12:00
fjc40 ca2b8a8899 Added missing javadoc.
#story[1095]
2017-08-05 19:43:58 +12:00
fjc40 f65ed79619 Implemented RequestToJoin and JoinAcceptance messages.
Also added their message types to MessageType.

issue #35
#story[1095]
2017-08-05 19:23:32 +12:00
fjc40 1385500e68 Added JoinAcceptance and RequestToJoin enumerations.
Issue #35
#story[1095]
2017-08-05 19:10:15 +12:00
fjc40 7feddeb49f Merge branch 'master' into story48 2017-08-05 15:23:33 +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
hba56 0b74acadff rounding checks are now done by port or starboard side depending on what the compound marks type is
#story[1101]
2017-08-04 22:19:07 +12:00
hba56 db1efab225 rounding checks are now done by port or starboard side depending on what the compound marks type is
#story[1101]
2017-08-04 22:17:17 +12:00
hba56 be8b0e672d Updated the xml reader to pull in the rounding type of the compound marks and set each mark with that value
#story[1101]
2017-08-04 22:01:21 +12:00
Connor Taylor-Brown 425cc7f91f Changed ControlKey to use BoatActionEnum instead of magic numbers. 2017-08-04 21:27:53 +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
Fan-Wu Yang f23c3f854d Seperated race xml creation into a class of its own
- Created RaceXMLCreator class
- made a function to convert limit to GPS Coordinate (limitToGPSCoordinate)
- can rotate a GPS Coordinate around a point (rotate)
- can get center of a race with (getCenter)
#story[1092]
2017-08-03 23:13:28 +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
hba56 f212414bd9 Added in a new basis for boats to round marks, gave mockboats a status to say how far through a rounding they are and made a method in GPScoordinate public so it can be used to calculate intersections.
This branch will not run the game any more as boats can't move on to the next leg until they can be controlled by the user.

#story[1087]
2017-08-03 13:27:00 +12:00
fjc40 2e325d5177 Added WindGeneratorTest. 2017-08-03 13:21:53 +12:00
fjc40 e4999a3c93 Added a light variant of the arrow image.
nightMode.css loads this instead of the regular dark arrow.
ResizableRaceCanvas doesn't cache the race boundary background, as it was unneccessary and stopped the canvas from being transparent.
#story[1093]
2017-08-03 12:56:15 +12:00
fjc40 2a5d0938ff Merge branch 'story48' into Development 2017-08-03 11:07:17 +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
Fan-Wu Yang 4e8d4f2433 Created Schema for Race xml's and generated classes for reading xml with xjc, made the RaceXMLReader read Corner classes in as well as making a corner class #story[1092] 2017-08-03 02:42:33 +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
fjc40 e1905e9e36 javadoc fix. 2017-08-02 18:27:40 +12:00
fjc40 9889a474ee Added ArrowController. This is the controller for arrow.fxml.
Removed arrow control stuff from ResizableRaceCanvas.
Added a wind speed label to arrow.fxml. Also created an outer GridPane to lay things out.
#story[1093]
2017-08-02 18:24:43 +12:00
hba56 b7af4e19cf new method to check if a boat is between gates as well as updated the gps values to fit better with real life values
#story[1101]
2017-08-02 18:09:12 +12:00
hba56 13922bc284 updated javadoc
#story[1101]
2017-08-02 17:06:52 +12:00
hba56 c633de21f5 added new methods to the mock boats to let them check which side a mark is on to them
#story[1101]
2017-08-02 16:33:03 +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
fjc40 5af3053537 Added shared.model.Wind class.
shared.model.Race now uses Wind. It is wrapped in Property<>.
#story[1093]
2017-08-01 18:15:35 +12:00
David Wu f2932e8bae New branch created for development. 2017-08-01 12:29:05 +12:00
fjc40 fcea323cfd The racevisionGame pom still had "profiles", which aren't needed with a single jar build, and the built jar didn't have a mainifest/main class. 2017-07-28 09:30:26 +12:00
Fan-Wu Yang 442920f9f6 DOD, and added javadocs/fixed javadocs #story[1087] 2017-07-27 16:24:19 +12:00
Jessica Syder 9eaf24e699 Fixed title screen having whitespace on different screen resolutions.
- Title screen has no white space on edges
- Main controller now anchors title to corners of main window

#story[1087] #pair[fjc40, jam339]
2017-07-27 14:54:56 +12:00
Jessica Syder 402df18b71 Merge remote-tracking branch 'remotes/origin/master' into css 2017-07-27 14:31:33 +12:00