William Muir
a56dac1e87
Polar velocities should now work as intended.
...
Snapping to VMG still needs to be implemented.
Still an issue of not being able to pass the total upwind or downwind point
tags: #story[986]
2017-07-25 22:19:03 +12:00
Kusal Ekanayake
539197cef5
Added a visual indicator of wind speed during race (text box)
...
#pair[kre39,mra106] #story[1040]
2017-07-25 15:22:46 +12:00
Kusal Ekanayake
3785cd705f
Fixed wind speed and direction being sent correctly.
...
#pair[kre39,mra106] #story[1036]
2017-07-25 15:08:10 +12:00
Zhi You Tan
d37cbd263e
Merge remote-tracking branch 'origin/Story62_Creating_Game_Loop' into Story62_Reading_Keystrokes
...
# Conflicts:
# src/main/java/seng302/controllers/RaceViewController.java
# src/main/java/seng302/gameServer/MainServerThread.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
2017-07-21 11:13:40 +12:00
Peter Galloway
49c0c029c3
adjusted the way the server is receiving key presses to enable them be passed through to the game state #pair[ptg19, wmu16] #story[989]
2017-07-20 19:35:59 +12:00
Kusal Ekanayake
b1575e57df
Host also can be it's own client.
...
The host can connect to itself to become a client, packets are also sending from the host to client, update method should be ready to fully implemented. Added chatter packets to packet types to be used mostly for testing but can be further implemented for proper use in the future.
#story[1055]
2017-07-20 13:53:53 +12:00
William Muir
e83eaa38e1
Upon hosting, and then creating a new instance and connecting to that IP, button transmissions work and print out on server!! :D
...
Took the send method out of the Message class as it didnt make sense to have it there. This meant taking it out of all subclasses too
tags: #story[1055] pair[wmu16, zyt10]
2017-07-18 12:22:58 +12:00
Haoming Yin
63958a6717
WIP: Implemented a temporary workaround to send an instance test to client server upon connection.
...
Still needs reengineering to change socket channels for sending to ouput stream in the message class.
Only client to server "working".
#story[1047] #pair[hyi25, wmu16] #pair[cir27, zyt10]
2017-07-17 17:00:04 +12:00
Haoming Yin
00b29a1890
Merge remote-tracking branch 'origin/develop' into Story62_Reading_Keystrokes
2017-07-17 10:55:08 +12:00
Zhi You Tan
e03e8825b2
Merge remote-tracking branch 'origin/1047_Hosting_Game' into Story62_Reading_Keystrokes
2017-07-14 18:23:28 +12:00
Zhi You Tan
355f8543f5
Implemented a more reliable way for keystroke input and added boat action packet type so stream parser is able to read and decode the message appropriately.
...
#story[988] #pair[hyi25, zyt10]
2017-07-14 18:23:07 +12:00
William Muir
77e7db79cc
WIP: Worked on new server thread class that would create and store multiple THREADS of connections. Researched Authorative server structures.
...
Fixed the current structure of the server to work with the old StreamReciever style and hook up to the Stream Parser
tags: #story[1047] pair[wmu16, mra106]
2017-07-14 17:09:33 +12:00
Zhi You Tan
2809d0d832
Merge branch '1047_Hosting_Game' into Story62_Reading_Keystrokes
...
# Conflicts:
# src/main/resources/views/RaceView.fxml
2017-07-14 16:28:42 +12:00
Michael Rausch
c19f66a6a4
Added garbage collection for disconnected players
...
- Heartbeat messages are sent out from their own thread to each player
- If a heartbeat message can't be sent to a player, they are removed from the list of players
- Added equals method for players
Tags: #story[1047]
2017-07-13 22:07:03 +12:00
Michael Rausch
1e6fd1af09
Fixed bug where players were being added to the GameState twice
...
#story[1047]
2017-07-13 19:27:47 +12:00
Michael Rausch
55db2c9961
Fixed buffer overflow in message header
...
- Fixed buffer overflow by adding a reset method that clears the buffer and sets the position to zero before re-writing the header
Tags: #story[1047]
2017-07-13 19:15:45 +12:00
Kusal Ekanayake
78557a4536
Key presses are transmitted to a host (but there is no host currently connected)
...
#pair[kre39,zyt10] #story[988]
2017-07-13 15:39:48 +12:00
Haoming Yin
fcb1e5e593
Removed unnecessary Position and GeoPoint classes to clear the code base.
...
- put utility classes in a package
#story[1047]
2017-07-10 23:51:01 +12:00
Calum
a6d9c66fc9
Removed unused import statements and class variables. Removed non error print statements.
2017-05-25 10:20:39 +12:00
Michael Rausch
3c418b2aa4
Changed boat location message to milliseconds
2017-05-17 14:57:31 +12:00
Kusal Ekanayake
fa501460cb
Cleaned up code for merge.
...
#story[889]
2017-05-15 17:21:56 +12:00
Kusal Ekanayake
110143ae6e
Added a dynamically updating course limits file to the model.
...
This will make manual testing of the course limits easier. When the race starts, the limits encapsulate the start line but soon after the race starts the course limits close off around the start line (this is for the model). This means the model acts in a very similar way to the actual live stream.
#story[889]
2017-05-15 17:09:12 +12:00
Michael Rausch
f6fc6c0693
Merge remote-tracking branch 'origin/develop' into develop
2017-05-04 13:53:49 +12:00
Michael Rausch
e77df0a5dd
Changed port number and added standalone flag
...
- can use -standalone to just run the server
- Changed port number as to not conflict with some web servers
2017-05-04 13:52:36 +12:00
Zhi You Tan
6935bd514e
Reimplemented race position in the race view. Removed Boat class and Yacht class is replaced completely. Race position "-" shows properly on start screen. Removed BoatTest and TeamsParserTest. Fixed estimated time till finish on server.
...
#story[818]
2017-05-04 13:50:06 +12:00
Michael Rausch
8521b68855
Server thread stops when window has been closed
2017-05-04 12:35:36 +12:00
Michael Rausch
e37b244f45
Fixed a bug where boat statuses were being sent incorrectly
...
- Boats now have an estimated time until finish
- Boat packets are being sent correctly
Tags: #story[829]
2017-05-04 12:27:59 +12:00
Michael Rausch
145d59df45
Removed unused imports
2017-05-04 01:18:41 +12:00
Haoming Yin
ed8781b382
Added method to check if a boat is finished the race or not.
...
- updated server if all boats finish the race, then start sending race finished message.
- race simulator will terminate if all boats finish the race, and prints log.
#story[715]
2017-05-03 22:44:25 +12:00
Michael Rausch
d992422efd
Various bug fixes
...
- Made canvas fill entire screen
- Made window scale to screens that aren't 1920x1080
- Changed boat speeds in mock so they aren't too fast
- Added command line options to switch server
Tags: #story[829]
2017-05-03 21:56:51 +12:00
Haoming Yin
f0d6312fa5
Fix bugs that server doesn't send boat location before and after the race.
...
- server will sends boat location not only during the race, but also before the race and after all boats have finished the race.
- refactored simulator so that it runs at the begining to send boat location, and if its "isStarted" set to true, then it starts moving the boats.
#story[715]
2017-05-02 22:51:35 +12:00
Haoming Yin
a4dfcca302
Fixed a boat bearing bug.
...
- server should send LastPastCorner's heading bearing, instead of headingCorner's bearing
#story[715]
2017-05-02 14:51:44 +12:00
Haoming Yin
978493853d
Merge branch 'Story29' into merge_branch_front
...
# Conflicts:
# src/main/java/seng302/App.java
# src/main/java/seng302/controllers/CanvasController.java
# src/main/java/seng302/controllers/Controller.java
# src/main/java/seng302/controllers/RaceViewController.java
# src/main/java/seng302/models/Boat.java
# src/main/java/seng302/models/Colors.java
# src/main/java/seng302/models/Event.java
# src/main/java/seng302/models/Race.java
# src/main/java/seng302/models/mark/GateMark.java
# src/main/java/seng302/models/mark/Mark.java
# src/main/java/seng302/models/mark/MarkType.java
# src/main/java/seng302/models/mark/SingleMark.java
# src/main/java/seng302/models/parsers/CourseParser.java
# src/main/java/seng302/models/parsers/TeamsParser.java
# src/main/resources/views/MainView.fxml
# src/main/resources/views/RaceView.fxml
# src/test/java/seng302/BoatTest.java
# src/test/java/seng302/ColorsTest.java
# src/test/java/seng302/EventTest.java
# src/test/java/seng302/models/mark/MarkTest.java
# src/test/java/seng302/models/parsers/CourseParserTest.java
2017-05-01 17:06:17 +12:00
Michael Rausch
e7f9954970
Removed unneeded files, also fixed heading calculation
...
Tags #story[829]
2017-04-30 23:29:15 +12:00
Michael Rausch
d07c660eb9
Merge remote-tracking branch 'origin/Story29' into Story29
2017-04-30 17:47:05 +12:00
Michael Rausch
6491efec4c
Fixed race status sent in race status messages
...
#story[829]
2017-04-30 17:46:56 +12:00
William Muir
85f461c88c
Fixed bug so XML messages are located and sent properly on the server
...
Imported appache commons to read inputstream to a bytearray
#story[829]
2017-04-30 17:08:06 +12:00
Michael Rausch
1cf55f3e96
Fixed an issue where buffers aren't being sent properly
...
Tags #Story[829]
2017-04-30 16:16:44 +12:00
Michael Rausch
9a995ddcc1
Boat status changes to finished when a boat finishes the race
...
Tags: #story[829]
2017-04-30 01:55:49 +12:00
Michael Rausch
3e97f016d5
Getting boat locations from race simulator & bug fixes
...
- Boat locations that are generated by the simulator are sent to the client as they happen
- Fixed heading and lat/lon encoding
- Fixed a bug where the header wasn't included in the sent byte stream
- Fixed the format of data as it's sent to the client.
- Data is now sent using a channel
- Removed tests that don't work with channels
Tags: #story[829]
2017-04-29 19:38:21 +12:00
Haoming Yin
8a04a0e5b7
Added documents for Boat, RaceParser and Simulator classes.
...
#story[828]
2017-04-28 14:53:26 +12:00
Haoming Yin
705a0a2eaf
Added document and unit tests for GeoUtility class.
...
- three methods in GeoUtility have been tested and passed.
#story[828]
2017-04-28 14:34:24 +12:00
Haoming Yin
8c8f253233
Created simulator to generate mock data.
...
- simulator runs as a background thread and sleep for a given time lapse.
- simulator extends observable, so it can notify all its observers when boats positions have been updated
#story[828]
2017-04-26 22:58:13 +12:00
Haoming Yin
8b8422de3a
Renamed course parser to race parser
...
- because in AC35 spec. race xml file contain course set up and all other general race settings
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin
7bf2d4c40e
Added Position class to better use GeoUtility.
...
- mark now inherit from Position
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin
2a67f04d15
Create GeoUtility to process all geo calculations.
...
- calculate distance between two geo positions
- calculate the bearing from one geo position to another
- calculate the new geo position by passing original position, bearing and
distance
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin
b2ea8196d5
Fixed a bug of getCourse method as it didn't parse xml correctly.
...
- a typo 'CompoundmarkID'(should be 'CompoundMarkID') which caused parser failed to parse file.
- add typeOf method in RoundingType to convert strings to types
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin
7f38191d03
Rewrote course parser to parse race xml file specified in AC35 spec.
...
#story[828]
2017-04-26 22:52:18 +12:00
Haoming Yin
f6b7a3042f
Rewrote all kind of marks to fit marks specified in AC35 spec.
...
- added compound mark
- added corner
- rewrote mark as a single mark
- added rounding type enum
#story[828]
2017-04-26 22:52:18 +12:00
Michael Rausch
bc31987f96
Added Boat location messages to the mock streaming data interface
...
- Added static methods to convert between binary packed lat/longs and floating point numbers
Tags: #story[829]
2017-04-26 22:38:39 +12:00