Kusal Ekanayake
e65558b8ac
Merge branch 'develop' into Story40_Zooming
...
# Conflicts:
# src/main/java/seng302/model/Yacht.java
# src/main/java/seng302/visualiser/GameClient.java
2017-08-14 13:17:39 +12:00
Calum
6218d5506b
Fixed bug that stopped clients from getting updated xml data.
...
#issue[48] #bug
2017-08-13 20:24:03 +12:00
Calum
8cb5b8caec
Merge branch 'develop' into issue38_irregular_key_event_packets
...
# Conflicts:
# src/main/java/seng302/gameServer/GameState.java
# src/main/java/seng302/gameServer/ServerPacketParser.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
# src/main/java/seng302/visualiser/ClientToServerThread.java
# src/main/java/seng302/visualiser/GameClient.java
2017-08-13 18:44:34 +12:00
Calum
2093e79b6a
Rather than a high frequency loop sending all packets a low frequency loop is made then destroyed on button press for sending turn packets. This means a fast response time on button press but fewer packets sent.
...
#implement #issue[38]
2017-08-13 18:38:24 +12:00
Zhi You Tan
fda233f5ad
Merge branch 'Story71_TackAndGybeSmoothly' into 'develop'
...
Story 71 Tack/Gybe, Story 65 VMG Autopilot
# Implementation
- Added autopilot functionality to move boat towards a given heading with a single function call.
- Added functionality to move boat from one side of the wind to the other (tack/gybe) with a single button press.
- Added functionality to move boat to correct VMG from polars with single button press.
- Pressing a button a second time will disable the autopilot, as will pressing the Upwind/Downwind keys.
# Testing
- Fairly simple JUnit testing for a set of beginning headings and expected ends for the autopilot
- Unsure how cucumber testing would actually be better than simple junit testing in this case.
See merge request !55
2017-08-13 14:22:28 +12:00
Michael Rausch
3ad37faedc
Merge branch 'develop' into MessageExtensions
2017-08-10 19:01:46 +12:00
Michael Rausch
09c4f98056
Implemented new client - server handshake protocol
...
- Implemented new packet types
- Changed server & client logic to use new protocol
Tags: #story[1124] (Issue 39)
2017-08-10 19:01:30 +12:00
Alistair McIntyre
1c2870649a
Added testing for the tack/gybe settings.
...
tags: #story[1105]
2017-08-10 18:58:38 +12:00
Alistair McIntyre
a2ee4411be
Merge branch 'develop' into Story71_TackAndGybeSmoothly
2017-08-10 17:59:19 +12:00
Alistair McIntyre
a23352ef85
Merge branch 'develop' into Story71_TackAndGybeSmoothly
2017-08-10 17:59:10 +12:00
Alistair McIntyre
f9d5bd10b1
Merge branch 'develop' into Story71_TackAndGybeSmoothly
2017-08-10 17:58:19 +12:00
William Muir
0b8ad137b3
Minor fixes for merge
...
#story[1124] #pair[wmu16, hyi25]
2017-08-10 17:47:24 +12:00
Alistair McIntyre
a746191dba
VMG works correctly, auto pilot is interupted by a repeated keypress or an upwind/downwind press.
...
tags: #story[1105]
2017-08-10 17:46:28 +12:00
Alistair McIntyre
430779c943
Boat auto pilots correctly for tacking/gybing. Needs proper testing.
...
#story[1105]
2017-08-10 14:53:24 +12:00
William Muir
9c79897e01
Tidied code, added MidPoint to CompoundMark class
...
Compound Mark class is now constructed with a list of marks.
A mid point is created on its construction for use in Geo Calculations
#story[1124] #pair[wmu16, hyi25]
2017-08-10 13:58:32 +12:00
William Muir
249ad9e5c0
Fixed Mark rounding Algorithm
...
Algorithm now knows when a player has to round a gate or just pass right through
#story[1124] #pair[wmu16, hyi25]
2017-08-10 12:02:19 +12:00
alistairjmcintyre
9d02d2fbea
Implemented a fairly simple auto pilot setting for the yacht, on update if the boat is set to autopilot it will adjust the heading towards the desired heading. Needs some refinement.
...
#story[1105]
2017-08-10 02:04:51 +12:00
Calum
30a6cb98ec
Action packets now sent at regular 20ms intervals
...
#issue[38] #implement
2017-08-09 14:03:21 +12:00
Kusal Ekanayake
0fbca89030
Merge branch 'develop' into Story64_SailsAnimations
...
# Conflicts:
# src/main/java/seng302/model/Yacht.java
2017-08-08 19:45:08 +12:00
William Muir
b0e7dddaf3
Fixed gate passing algorithm
...
boats now must pass through the correct way. This works for start in-race and finish gates
Refactored yacht algorithm code for better readability
Logging function added or seeing mark roundings occur
tags: #story[1124] #pair[hyi25, wmu16]
2017-08-08 15:58:13 +12:00
Haoming Yin
ed0a783374
Fixed the bug that boats could round over a gate but still "across" it. Added unit test to ensure the algorithm works.
...
tags: #story[1124]
2017-08-08 10:42:36 +12:00
William Muir
4375b73257
Implemented algorithm for checking if boat passes through a mark.
...
Mark rounding works for whole course (WITH BUGS)
Still some gate logic to work out.
Moved gate function to GeoUtil class
tags: #story[1124] #pair[hyi25, wmu16]
2017-08-07 17:28:12 +12:00
Calum
a3ce5998ff
Action packets now sent at regular 20ms intervals
...
#issue[38] #implement
2017-08-07 10:58:07 +12:00
William Muir
7f0329dda6
WIP: Implemented basic mark rounding algorithm.
...
Removed RacePosition class. Instead marks are just grabbed from the mark order class when necessary.
No marks are stored as an attribute in the yacht class but the 'currentMarkSeqID' which is used to get current, and surrounding marks.
Works for all marks in between but not including starting and finishing gate as no angle can be made with them. Still to work out how to implement this
#story[1124]
2017-08-07 00:23:54 +12:00
Calum
8a40119a98
Action packets now sent at regular 20ms intervals
...
#issue[38] #implement
2017-08-06 22:17:08 +12:00
Kusal Ekanayake
ecf2c52cfa
Added tests, and sails to all clients.
...
#story[1111]
2017-08-06 15:43:22 +12:00
William Muir
e90a0ce435
Merge branch '1124_Mark_Sequence_From_RaceXML' into 'develop'
...
Loading mark sequence from RaceXML
# Loading mark sequence from RaceXML
## Change Log
1. Added MarkOrder class
* Mark order is read from the generated RaceXML and stored
* Added .getNextMark() to get the next mark in the race
* Added .equals() and .hashCode() for Marks
* NEW: Added RacePosition class to hold players position in the race
* NEW: Fixed issue where the duplicates weren't stored in the mark order
## Testing
* Unit tests in models/MarkOrderTest.java
## Acceptance Criteria
* Use the mark sequence in the raceXML
* Met by change log item (1)
* Store relevant mark details with each participating boat (Last mark, next mark)
* Method in MarkOrder to get next mark, however the last mark and next mark will need to be stored by whoever implements the second task.
See merge request !52
2017-08-05 15:18:26 +12:00
Michael Rausch
281ce2d842
Loading course mark order from RaceXML
...
- Re-engineered code to work with the new marks
- Fixed bug where race order wasn't correct (added RacePosition class to fix)
- Rewrote tests to work with new RacePosition class
Tags: #story[1124] (Task 1)
2017-08-04 13:20:50 +12:00
Kusal Ekanayake
f8af9cc259
Works for clients and server.
...
Due to the information being sent and received, it only currently works on client side boats.
#story[1111]
2017-08-03 19:07:30 +12:00
William Muir
874cdec654
Added booleans: has entered rounding zone, has crossed first line, has crossed second line
...
All for purposes of checking mark rounding.
Currently not yet finished
tags: #story[1124] #pair[hyi25, wmu16]
2017-08-03 17:39:07 +12:00
Kusal Ekanayake
99d5545ed3
Made the sails work properly by toggling.
...
Need to remove the unneeded code I added.
#story[1111]
2017-08-03 16:33:51 +12:00
William Muir
454e9ac9f1
Added an attribute to each yacht: 'DistanceToNextMark'
...
This attribute is calculated at each update of the boat as prompted by the game state regularly
Removed the lat and lng attribute from the Yacht class and replaced its usage with the GeoPoint object instead
Removed redundant test files and merged GeoUtility and testGeoUtil test classes into one
tags: #story[1124] #pair[hyi25, wmu16]
2017-08-03 16:29:12 +12:00
William Muir
db078538ff
Minor cleaning in yacht class
...
tags: #story[1124]
2017-08-03 13:53:30 +12:00
Calum
f9e6df46c1
Fixed issues caused by merge.
...
#bug
2017-08-03 13:23:43 +12:00
William Muir
c655cb3fab
Fixed build. (Actually this time)
...
All doc string annotations were required to be fixed for all methods
tags: #issue[34]
2017-08-03 11:45:14 +12:00
Calum
47c5e6f155
Reverting some new graphics classes back to how they were on master.
2017-07-31 23:35:28 +12:00
Calum
b82d0d0137
Boats and map are now updated using the observer pattern.
...
#implement
2017-07-31 05:23:41 +12:00
Calum
f1ad03e913
Refactored the setup for MarkObjects (now renamed Markers) and made the CompoundMark + Mark + GeoPoint classes the standard across all classes instead of GateMark + SingleMark + Mark.
...
#refactor
2017-07-31 02:19:19 +12:00
Calum
6cae338c1e
Began fixing bugs with caused by asynchronous listener calls.
...
#bug
2017-07-30 20:12:19 +12:00
Calum
7894e31926
Merge branch 'develop' into story61_player_perspective
...
# Conflicts:
# src/main/java/seng302/App.java
# src/main/java/seng302/client/ClientPacketParser.java
# src/main/java/seng302/client/ClientState.java
# src/main/java/seng302/client/ClientStateQueryingRunnable.java
# src/main/java/seng302/controllers/Controller.java
# src/main/java/seng302/controllers/LobbyController.java
# src/main/java/seng302/controllers/RaceViewController.java
# src/main/java/seng302/controllers/StartScreenController.java
# src/main/java/seng302/fxObjects/BoatAnnotations.java
# src/main/java/seng302/gameServer/GameState.java
# src/main/java/seng302/gameServer/MainServerThread.java
# src/main/java/seng302/model/Yacht.java
# src/main/java/seng302/model/stream/StreamReceiver.java
# src/main/java/seng302/visualiser/ClientToServerThread.java
# src/main/java/seng302/visualiser/GameView.java
# src/main/java/seng302/visualiser/fxObjects/BoatObject.java
# src/test/java/seng302/model/stream/StreamReceiverTest.java
2017-07-30 18:07:28 +12:00
Calum
8ac44d13df
Began fixing conflicts with LobbyController
...
#bug
2017-07-26 12:05:03 +12:00
Calum
9c9f6e4e80
Merge branch 'develop' into story61_player_perspective
...
# Conflicts:
# src/main/java/seng302/fxObjects/BoatAnnotations.java
# src/main/java/seng302/gameServer/GameState.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
# src/main/java/seng302/model/Yacht.java
# src/main/java/seng302/visualiser/controllers/LobbyController.java
2017-07-26 02:56:46 +12:00
Calum
08e369f1ae
Merged with develop. Fixed many bugs in Visualiser.
...
#bugs
2017-07-26 02:49:31 +12:00
Calum
acd54dec7a
Merge branch 'develop' into story61_player_perspective
...
# Conflicts:
# src/main/java/seng302/App.java
# src/main/java/seng302/client/ClientPacketParser.java
# src/main/java/seng302/controllers/Controller.java
# src/main/java/seng302/controllers/RaceViewController.java
# src/main/java/seng302/fxObjects/BoatAnnotations.java
# src/main/java/seng302/gameServer/GameState.java
# src/main/java/seng302/gameServer/MainServerThread.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
# src/main/java/seng302/model/Boat.java
# src/main/java/seng302/models/stream/XMLParser.java
# src/main/java/seng302/visualiser/ClientToServerThread.java
# src/main/java/seng302/visualiser/GameView.java
# src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java
# src/main/java/seng302/visualiser/controllers/StartScreenController.java
# src/main/java/seng302/visualiser/fxObjects/BoatObject.java
# src/main/resources/views/LobbyView.fxml
# src/main/resources/views/MainView.fxml
2017-07-25 21:05:15 +12:00
Calum
6242ab0b2e
Implemented observer and strategy pattern in BoatAnnotations, now renamed AnnotationsBox.
...
Also implemented various other small fixes and further refactored code.
#refactor
2017-07-25 20:45:27 +12:00
Calum
aad93d8913
Parsing classes now static utilities. Data now moved to model via controller class. Race logic shifted out of grpahics classes. Several improvements to code readability.
...
#story[986] #refactor
2017-07-24 12:14:08 +12:00
Calum
3ec1242a9a
Merge branch 'Story62_Reading_Keystrokes' into story61_player_perspective
...
# Conflicts:
# src/main/java/seng302/gameServer/ServerToClientThread.java
# src/main/java/seng302/visualiser/ClientToServerThread.java
# src/main/java/seng302/visualiser/controllers/RaceViewController.java
2017-07-21 11:13:04 +12:00
Calum
881f7f8e30
Changed package heirachy. Merged Controller and StartScreenController.
...
#refactor
2017-07-21 09:22:55 +12:00