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
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
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
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
Calum
5228c078bc
Merge branch 'develop' into 1124_Mark_Sequence_From_RaceXML
...
# Conflicts:
# src/main/java/seng302/gameServer/GameState.java
# src/main/java/seng302/gameServer/server/simulator/Simulator.java
# src/main/java/seng302/models/mark/Mark.java
# src/main/java/seng302/visualiser/map/CanvasMap.java
2017-08-03 12:27:11 +12:00
Michael Rausch
7885b3fae2
Loading course mark order from RaceXML
...
- 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
Tags: #story[1124] (Task 1)
2017-08-02 22:03:10 +12:00
Calum
87ef37a689
Fixed connecting to hosts. Fixed issue34 and 35 to the point where they can be developed off of.
...
#refactor #bug #issue[34, 35]
2017-08-02 00:26:57 +12:00
Calum
908c0749cf
Boats now move on screen as intended.
...
TODO - Make the client connect to the server.
2017-08-01 02:37:55 +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
Michael Rausch
25d8c8f9c4
Minor bug fixes.
...
Server will now only save incoming connections if in lobbying mode as it should
Commented out boat status printing
tags: #story[1047]
2017-07-27 14:15:55 +12:00
Zhi You Tan
96ed5e445e
Replaced print stack trace with print statements
2017-07-27 12:47:18 +12:00
Kusal Ekanayake
870dc07fd2
Slight improvements to hosting.
...
Allow a host/client to disconnect and reconnect/make lobby, leave lobby and play the game.
#pair[kre39,hyi25] #story[1047]
2017-07-27 12:45:22 +12:00
Alistair McIntyre
f99f8a0d7c
Merge remote-tracking branch 'origin/develop' into develop
2017-07-26 20:13:09 +12:00
Alistair McIntyre
7db716f51c
Boat should move towards optimal angle upwind and downwind when pressing spacebar (VMG)
...
#story[988]
2017-07-26 20:12:57 +12:00
Michael Rausch
6e9535d78f
Fixed race timer & Added boats to team position list
...
- Race status messages are sent at regular intervals instead of once at race start
- Boat positions are initialised on the Team Position list
- Timer counts up from when host clicks ready
Tags: #story[377]
2017-07-26 19:35:59 +12:00
William Muir
5e6b402bf5
Minor structural changes. GameState now has a thread which updates itself so its update
...
rate can be independent of sending packets to the client in the MainServerThread
#story[986] #pair[wmu16, ptg19]
2017-07-26 14:48:32 +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
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
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
Zhi You Tan
e569574c01
Merge remote-tracking branch 'origin/develop' into develop
2017-07-25 17:17:45 +12:00
Zhi You Tan
f544734b4d
Fixed sending wrong race xml when a player disconnected because xml is getting data from gamestate yacht but the yachts are not updated is player disconnect.
...
Heartbeat packet was sent out at wrong rate which cause the player disconnect detection to be slow. Heartbeat packet is send out every 200ms now.
#story[1055] #pair[hyi25, zyt10]
2017-07-25 17:17:36 +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
William Muir
cdb9337aed
Deleted GameServerThread after being re merged in
...
#chore
2017-07-24 23:20:47 +12:00
Kusal Ekanayake
3e4a6f0f2e
Merge remote-tracking branch 'origin/Story1055_Lobby_View_Update' into Merging_GameState_With_Lobby
...
# Conflicts:
# src/main/java/seng302/client/ClientPacketParser.java
# src/main/java/seng302/client/ClientToServerThread.java
# src/main/java/seng302/controllers/LobbyController.java
# src/main/java/seng302/controllers/StartScreenController.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
2017-07-24 14:58:14 +12:00
Zhi You Tan
e11ceed28c
Merge remote-tracking branch 'origin/Story62_Creating_Game_Loop' into Story1055_Lobby_View_Update
...
# Conflicts:
# src/main/java/seng302/controllers/StartScreenController.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
2017-07-23 19:59:30 +12:00
Kusal Ekanayake
41851ee925
Merge branch 'Story62_Creating_Game_Loop' into Merging_GameLoop_with_Broadcast
...
# Conflicts:
# src/main/java/seng302/controllers/StartScreenController.java
# src/main/java/seng302/gameServer/ServerListenThread.java
# src/main/java/seng302/gameServer/ServerToClientThread.java
# src/main/java/seng302/models/Yacht.java
2017-07-23 17:34:24 +12:00
William Muir
2869d139a3
Three way handshake implemented client and server side and functioning
...
Server generates a new Id for connections (Size of connections + 1)
Client now stores an id allocated to it by the server
The id is currently being saved in the clientToServer thread client side
tags: #story[987] #implement
2017-07-22 17:44:37 +12:00
William Muir
a0005064ac
Fixed the Yacht clas so it now works.
...
Lists and Maps are instantiated as they should be in GameState which were creating NullPointers
Introduced ServerLog to server to client threads for bug reporting
Introduced some print statements to test the game state updating upon receiving key presses
tags: #story[989] #refactor #fix
2017-07-22 16:32:05 +12:00
Peter Galloway
913e5fee7b
Hooked up key press actions to the GameState, applying the relevant maths to update headings etc.
...
tags: #story[989] #pair[ptg19, wmu16]
2017-07-21 16:50:09 +12:00
Michael Rausch
e8c2cf809b
Fixed Null Ptr Exception in GameState
2017-07-21 15:42:20 +12:00
Kusal Ekanayake
5df7efda03
Started implementing the gameState broadcasts.
...
Initial xml files are almost broad casted, just need to create them (or import the for the regatta). Started the setup for sending boat location packets, should work once we get at least the boat xml working when being sent.
#story[1047]
2017-07-21 13:16:43 +12:00
Calum
881f7f8e30
Changed package heirachy. Merged Controller and StartScreenController.
...
#refactor
2017-07-21 09:22:55 +12:00
Peter Galloway
12c2f31af9
Merge remote-tracking branch 'origin/Story62_Creating_Game_Loop' into Story62_Creating_Game_Loop
...
# Conflicts:
# src/main/java/seng302/gameServer/GameState.java
2017-07-20 19:38:07 +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
Alistair McIntyre
da7a34fc55
Started adding functionality to calculate yacht velocity from the wind speed and direction using polar tables. Also began writing tests to cover this functionality, as it can't currently be tested within the game itself.
...
#story[986]
2017-07-20 14:30:13 +12:00
Peter Galloway
e317de7562
Added mock yachts to the game state for each client #story[1047]
2017-07-20 13:11:37 +12:00
Peter Galloway
63d24c001f
Added position update in yacht #story[1047]
2017-07-19 19:41:07 +12:00
William Muir
035841f221
WIP: Adapted the old server thread class to the GameServerThread class to allow multiple clients to connect
...
tags: #story[1047] #pair[wmu16, mra106]
2017-07-11 17:03:32 +12:00
William Muir
752863a0d3
WIP: Created some basic controllers for the UI and started implementing backend for server stuff
...
Created GameState Class. Static, contains all info about current state of game: list of players and their respective details (coords etc) also Host info
Clients will observe this GameState class
Upon pressing host, new GameState is created and new GameConnectionListener created which listens for connections
Player class created which will be used to take each connection and store it as a player with other info about them regarding the game in the GameState class
tags: #story[1047] #pair[wmu16, zyt10]
2017-07-10 16:03:13 +12:00