Hướng dẫnlậptrình 1. Game tuân theo kiến trúc client/server. Các đội thi viết phần mềm client chứa thuật toán để điều khiển robot. Ban tổ chức cuộc thi cung cấp phần mềm server để tạo môi trường thi đấu cho các đội thi. Các client kết nối với server thông qua TCP socket với IP với port của server cho trước. 2. Client sẽ đại diện cho đội thi thi đấu với các phần mềm client của các đội thi khác. Các client chạy hoàn toàn tự động kể từ khi được kích hoạt, các thiết lập ban đầu cho client có thể được thực hiện qua file cấu hình bên ngoài. 3. Sau khi client kết nối thành công với server, client sẽ gửi các thông điệp tới server để điều khiển các robot, cũng như điều khiển cuộc chơi mà client tham gia. Các thông điệp này được đặc tả theo một giao thức chuẩn. 4. Trước khi cuộc chơi bắt đầu thì client cần thực hiện các công việc như sau: 4.1 Kết nối tới server qua socket (như nói ở trên) 4.2 Chọn một phòng chơi để thi đấu bằng cách gửi thông điệp JOIN_ROOM 4.3 Chọn vị trí xuất phát của các robot bằng cách gửi thông điệp SET_START_POSITION 4.4 Thông báo đã sẵn sàng tới server bằng cách gửi thông điệp READY 4.5 Khi tất cả các client tham gia cuộc chơi đều sẵn sàng thì server tự động bắt đầu cuộc chơi mà không thông báo cho client. Client cần gửi thông điệp GET_CURRENT_TIME tới server để biết cuộc chơi đã bắt đầu chưa, nếu kết quả trả về từ server là một số dương thì có nghĩa cuộc chơi đã bắt đầu. 4.6 Nếu client đã gửi thông điệp READY nhưng cuộc chơi chưa bắt đầu, thì client có thể gửi thông điệp UNREADY để hủy trạng thái sẵn sàng, quay trở về trạng thái không sẵn sàng. 4.7 Client có thể rời khỏi phòng chơi bằng cách gửi thông điệp OUT_ROOM. Trong quá trình trên, client có thể lấy các thông tin cần thiết từ server bằng cách gửi các thông điệp như GET_ROOM_LIST, GET_ROOM_STATUS, GET_GAME_CONFIG, GET_TEAM_STATUS, GET_ROBOT_STATUS, GET_MAP_VIEW, GET_CURRENT_TIME. 5. Khi cuộc chơi đã bắt đầu, client cần gửi các thông điệp để điều khiển robot như RUN, STOP, TURN, CATCH, RELEASE . Hướng dẫn lập trình 1. Game tuân theo kiến trúc client/ server. Các đội thi viết phần mềm client chứa thuật toán để điều khiển robot. Ban tổ. thi. Các client kết nối với server thông qua TCP socket với IP với port của server cho trước. 2. Client sẽ đại diện cho đội thi thi đấu với các phần mềm client của các đội thi khác. Các client. từ khi được kích hoạt, các thiết lập ban đầu cho client có thể được thực hiện qua file cấu hình bên ngoài. 3. Sau khi client kết nối thành công với server, client sẽ gửi các thông điệp tới server