BTL Lập Trình Mạng PTIT - Thầy Hoàng Anh
-
Game kiểm tra trí nhớ: Server hiển thị một dãy ký tự hoặc số trong vài giây, sau đó người chơi phải nhớ và nhập lại đúng dãy ký tự hoặc số đó. Dãy ký tự hoặc số càng dài, điểm càng cao.
-
Lớp Môn Học: Lập Trình Mạng - N1 – D21
Nhóm bài tập lớn : 15
Họ Tên: Trần Quang Huy
Bản mô tả BTL Game Kiểm Tra Trí Nhớ
- Mô tả bài tập lớn
Mục tiêu của bài tập là xây dựng một game kiểm tra trí nhớ. Hệ thống bao gồm một server và nhiều client có thể kết nối với nhau qua mạng. Server sẽ quản lý các trận đấu, lưu trữ thông tin người chơi và hiển thị kết quả. Người chơi cần đăng nhập và tham gia vào các trận đấu kiểm tra trí nhớ. Dãy ký tự ngẫu nhiên sẽ được hiển thị trong thời gian ngắn, sau đó người chơi cần nhập lại đúng dãy ký tự đó. Độ dài của dãy ký tự sẽ tăng dần theo thời gian và người chơi có số ký tự chính xác cao hơn sẽ chiến thắng.
- Phân tích yêu cầu đề bài
Yêu cầu chức năng:
Hệ thống bao gồm server và client: Server đóng vai trò điều khiển trận đấu, lưu trữ dữ liệu người chơi, điểm số và trạng thái người chơi. Client sẽ kết nối tới server và tham gia các trận đấu.
Đăng nhập:
o Người chơi cần đăng nhập vào hệ thống bằng tài khoản riêng, có thể là username/password.
o Sau khi đăng nhập thành công, danh sách những người chơi trực tuyến và thông tin cá nhân của từng người (tên, tổng số điểm, trạng thái) sẽ được hiển thị.
Bắt đầu trận đấu:
o Người chơi gửi lời mời tham gia trận đấu cho người chơi khác từ danh sách trực tuyến. Trận đấu bắt đầu khi lời mời được chấp nhận.
Luật chơi:
o Server hiển thị một dãy ký tự hoặc số ngẫu nhiên trong một khoảng thời gian ngắn.
o Người chơi lần lượt nhập lại dãy ký tự mà họ nhớ được.
o Sau mỗi lượt đoán, server phản hồi đúng/sai và thông báo cho người chơi.
o Người chơi đoán đúng dãy ký tự sẽ được cộng điểm, dãy ký tự càng dài và khó thì điểm càng cao.
Kết thúc trận đấu:
o Trận đấu kết thúc khi có người đoán đúng hoặc khi cả hai người chơi đã hoàn thành một số lượt đoán cố định (ví dụ: 5 lượt).
o Nếu không ai đoán đúng, trận đấu hòa và mỗi người chơi sẽ nhận 0.5 điểm.
Xếp hạng:
o Hệ thống lưu lại kết quả và cập nhật bảng xếp hạng người chơi dựa trên tổng số điểm và số trận thắng.
Thoát khỏi trận đấu:
o Người chơi có thể thoát trận đấu bất kỳ lúc nào nhưng sẽ không nhận điểm nếu thoát trước khi trận đấu kết thúc.
- Phân tích chức năng server và client
Chức năng của server:
Quản lý đăng nhập:
o Xác thực người dùng.
o Hiển thị danh sách người chơi trực tuyến và cập nhật trạng thái của từng người (online, offline, đang chơi).
Quản lý trận đấu:
o Tạo các trận đấu khi người chơi gửi lời mời và lời mời được chấp nhận.
o Hiển thị dãy ký tự ngẫu nhiên cho người chơi trong khoảng thời gian nhất định.
o Kiểm tra kết quả dựa trên thông tin người chơi nhập vào.
o Quản lý quá trình trận đấu: cập nhật lượt chơi, theo dõi người chơi nào đoán đúng, và thông báo kết quả.
Lưu trữ dữ liệu người chơi:
o Ghi nhận thông tin về điểm số và kết quả của mỗi trận đấu.
o Cập nhật bảng xếp hạng và lưu trữ thông tin trên hệ thống.
Chức năng của client:
Đăng nhập và kết nối server:
o Gửi thông tin đăng nhập đến server.
o Nhận thông tin về danh sách người chơi trực tuyến và trạng thái của họ.
Tham gia trận đấu:
o Gửi lời mời cho người chơi khác và chấp nhận lời mời từ người khác.
o Hiển thị dãy ký tự do server cung cấp.
o Nhập dãy ký tự và gửi về server để kiểm tra.
Nhận kết quả:
o Nhận thông báo từ server về việc đoán đúng hoặc sai.
o Hiển thị kết quả trận đấu sau khi kết thúc và cập nhật điểm số cá nhân.