-
Mô hình
Hệ thống chơi cờ online được xây dựng dựa trên mô hình lai (hybird) giữa mô hình client-server và mô hình peer-to-peer. Nhằm đạt được lợi ích về mặt đồng bộ, quản lý kết nối (client-server) cũng như giảm tải không cần thiết cho server (peer-to-peer). Dựa vào thuật toán minimax alpha-beta để xây dưng AI giúp người chơi offline.
-
Client-Server
Mô tả: Xây dựng một server lắng nghe yêu cầu kết nối chơi online từ các client. Client gửi yêu cầu tạo bàn cờ đến server (client host), server cập nhật dữ liệu các bàn cờ sau đó gửi lại thông tin cho tất cả client. Một client khác sẽ tham gia vào bàn cờ để chơi (client guest). Nếu một client tham gia vào bàn cờ đang được chơi, họ sẽ là khán giả xem (client viewer).
Quy trình:
+ Gửi yêu cầu kết nối đến server
+ Gửi yêu cầu tạo bàn cờ đến server sau đó chờ người chơi khác tham gia
+ Chấp nhận yêu cầu tham gia chơi của client guest
+ Gửi yêu cầu kết nối đến server
+ Chọn bàn cờ trống muốn tham gia chơi, gửi yêu cầu đến client host của bàn cờ đó.
+ Nếu client host chấp nhận yêu cầu, cặp máy client này được kết nối với nhau
+ Gửi yêu cầu kết nối đến server
+ Chọn bàn cờ đang trong trạng thái chơi
+ Kết nối đến client host của bàn cờ đó và xem (đã ngắt kết nối với server)
+ Chấp nhận kết nối từ các client
+ Gửi trạng thái các bàn cờ cho tất cả client
+ Nếu nhận được yêu cầu tạo bàn cờ, kiểm tra tính hợp lệ, sau đó cập nhật dữ liệu và gửi lại thông tin các bàn cờ cho client.
2.1.3. Peer-to-peer
Mô tả: Sau khi được ghép cặp chơi, mỗi cặp client sẽ ngắt kết nối với server, chúng tự kết nối và chơi với nhau.
+ Gửi và nhận quân cờ
+ Gửi và nhận tin nhắn chat
+ Gửi yêu cầu và xử lý yêu cầu xin hoà hoặc rút lui.
+ Nhận các quân cờ
+ Nhận các tin nhắn chat nếu client host cho phép
+ Nhận kết quả trò chơi khi kết thúc
-
Chess AI (Bot tự động đánh cờ)
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn