aboutsummaryrefslogtreecommitdiff
path: root/diplomacy/daide
AgeCommit message (Collapse)Author
2019-09-14Added ReadtheDocs documentation for the public APIPhilip Paquette
- Reformatted the docstring to be compatible - Added tests to make sure the documentation compiles properly - Added sphinx as a pip requirement Co-authored-by: Philip Paquette <pcpaquette@gmail.com> Co-authored-by: notoraptor <stevenbocco@gmail.com>
2019-08-08DAIDE - Assign bot to a specific power if 'POW:' in NME requestPhilip Paquette
2019-07-21Fixed game advances even if no orders are received for dummiesPhilip Paquette
2019-07-21Fixed synchronization issuesnotoraptor
- Added __enter__, __exit__, and .current_state() to game object - set_orders throws an exception is the server phase is not the same as the client phase - Returning only waiting dummy powers to bot
2019-07-18Open DAIDE port on game loading and display on webnotoraptor
- Open DAIDE port on game loading too, and [web] Display DAIDE port on game title. - [server] Also delete backup game file when deleting game. - [python] Add optional parameter `server` to ServerGame constructor to init server game with a server as soon as it is possible. Add field `daide_port` to Game for client games. When creating game, register it on server before generating client games, so that DAIDE ports are known on client game generation. Move DAIDE port opening into Server.add_new_game() and Server.get_game(), so that port is opened as soon as a new game is added or a game is loaded. Move DAIDE port closing for specific game into Server.delete_game(). Add DAIDE port to client game field daide_port if known. [web] Display DAIDE port if available in game title on game page. - [python] Display game ID in log when opening DAIDE port. - [server] Close DAIDE port as soon as game is done. - Update dependencies.
2019-06-14DAIDE - Added various tests to replay full games using the DAIDE interfaceSatya Ortiz-Gagne
2019-06-14DAIDE - Added connection_handler and serverSatya Ortiz-Gagne
- Ability to open and close port when DAIDE games are started and stopped - Can get the DAIDE port using a request
2019-06-14DAIDE - Implemented request_managersSatya Ortiz-Gagne
- Created DaideUser object - Implemented managers are: requests.NameRequest: on_name_request, requests.ObserverRequest: on_observer_request, requests.IAmRequest: on_i_am_request, requests.HelloRequest: on_hello_request, requests.MapRequest: on_map_request, requests.MapDefinitionRequest: on_map_definition_request, requests.SupplyCentreOwnershipRequest: on_supply_centre_ownership_request, requests.CurrentPositionRequest: on_current_position_request, requests.HistoryRequest: on_history_request, requests.SubmitOrdersRequest: on_submit_orders_request, requests.MissingOrdersRequest: on_missing_orders_request, requests.GoFlagRequest: on_go_flag_request, requests.TimeToDeadlineRequest: on_time_to_deadline_request, requests.DrawRequest: on_draw_request, requests.SendMessageRequest: on_send_message_request, requests.NotRequest: on_not_request, requests.AcceptRequest: on_accept_request, requests.RejectRequest: on_reject_request, requests.ParenthesisErrorRequest: on_parenthesis_error_request, requests.SyntaxErrorRequest: on_syntax_error_request, requests.AdminMessageRequest: on_admin_message_request
2019-06-14DAIDE - Implemented notifications and notification_managersSatya Ortiz-Gagne
- MAP = MapNameNotification - HLO = HelloNotification - SCO = SupplyCenterNotification - NOW = CurrentPositionNotification - MIS = MissingOrdersNotification - ORD = OrderResultNotification - TME = TimeToDeadlineNotification - CCD = PowerInCivilDisorderNotification - OUT = PowerIsEliminatedNotification - DRW = DrawNotification - FRM = MessageFromNotification - SLO = SoloNotification - SMR = SummaryNotification - OFF = TurnOffNotification
2019-06-07DAIDE - Implemented all the DAIDE responsesSatya Ortiz-Gagne
- MAP = MapNameResponse - MDF = MapDefinitionResponse - HLO = HelloResponse - SCO = SupplyCenterResponse - NOW = CurrentPositionResponse - THX = ThanksResponse - MIS = MissingOrdersResponse - ORD = OrderResultResponse - TME = TimeToDeadlineResponse - YES = AcceptResponse - REJ = RejectResponse - NOT = NotResponse - CCD = PowerInCivilDisorderResponse - OUT = PowerIsEliminatedResponse - OFF = TurnOffResponse - PRN = ParenthesisErrorResponse - HUH = SyntaxErrorResponse
2019-06-07DAIDE - Implemented all the DAIDE requestsSatya Ortiz-Gagne
- NME = NameRequest - OBS = ObserverRequest - IAM = IAmRequest - HLO = HelloRequest - MAP = MapRequest - MDF = MapDefinitionRequest - SCO = SupplyCentreOwnershipRequest - NOW = CurrentPositionRequest - HST = HistoryRequest - SUB = SubmitOrdersRequest - MIS = MissingOrdersRequest - GOF = GoFlagRequest - TME = TimeToDeadlineRequest - DRW = DrawRequest - SND = SendMessageRequest - NOT = NotRequest - YES = AcceptRequest - REJ = RejectRequest - PRN = ParenthesisErrorRequest - HUH = SyntaxErrorRequest - ADM = AdminMessageRequest
2019-06-07DAIDE - Added utils str_to_bytes() and bytes_to_str()Satya Ortiz-Gagne
2019-06-07DAIDE - Added ability to parse clausesSatya Ortiz-Gagne
- break_next_group - add_parentheses / strip_parentheses - parse_bytes / parse_string - SingleToken clause - Power clause - String clause - Number clause - Province clause - Turn clause - UnitType clause - Unit clause - Order Type clause - Order clause
2019-06-07DAIDE - Added message class that can be parsed from a streamPhilip Paquette
2019-06-07DAIDE - Added tokens with byte representationPhilip Paquette