Story64 sails animations
The sail animations for the boats.
The sail should follow the boat when the boats heading nears downwind and upwind. The shift key should make the sail have a squiggly animation and flow into the wind. A cucumber test has also been created and could be looked into for more stories.
Unintentionally merged in parts of the zooming story. (Basic zooming in and out)
See merge request !56
Issue38 irregular key event packets
A timed loop is now created on button press for sending out packets when a button is held down.
Removed the lists in LobbyController and replaced them with text objects to avoid the nested lists of single element lists.
Unit tests are in tests.java.seng302.visualiser.ClientToServerTets.RegularPacketsTest
**EDIT -** Tests fail due to some kind of error with reading from sockets in VM environment. Unable to fix at present.
See merge request !57
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
Message extensions
## Changes
* Implemented new Client<->Server handshake protocol
## Testing
* Manually tested as tests cannot be simulated in code. The following cases were tested
* Client connects normally with empty lobby
* Client connects normally with one other player in lobby
* Client responds to lobby full error
* Client responds to general error
See merge request !54
- Created yacht event code message to be sent out as packet.
- Added observers to main server thread on yacht so when collision detected, main server thread will send out yacht event message to all server to client threads.
- Updated collision visual alert using circle and animation timer.
#story[1117]
1124 mark rounding implementation
# ChangeLog
* Implemented Mark Rounding Algorithm so the server acknowledges when boats pass around and through marks / gates
* Compound Mark class changed so that it has one constructor which takes a list of Mark objects
* GeoUtility has had many methods added to it for purposes of deducing mark rounding
# Testing
* JUnit tests done for GeoUtility Class
* JUnit tests done for CompoundMark Class
* Test class removed for Yacht Class as no longer testable
* Manual test-log entry made for mark rounding in game
See merge request !53
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]
- Changed boat bounce back send the boat n meters in the opposite direction.
- Improved test to use the minimum of yacht and mark collision distances
Tags: #story[1117]