Gồm 1 Server và nhiều Client + Để chơi thì người chơi phải login vào tài khoản của mình từ một máy client.. + Sau khi login thành công thì giao diện hiện lên một danh sách các phòng.. +
Trang 1Lã Trung Hiếu
Lê Dương Hưng
MỤC LỤC
I HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: LẬP TRÌNH MẠNG
Nhóm 04
Đề tài: Game bắn xe tăng
Giảng viên: Thầy Nguyễn Trọng Khánh Sinh viên thực hiện:
Trang 2I DANH SÁCH THÀNH VIÊN VÀ ĐÓNG GÓP 3
II PHÂN TÍCH YÊU CẦU ĐỀ BÀI 4
1 Mô tả bài toán 4
2 Phạm vi phần mềm 4
3 Công nghệ sử dụng 4
III PHÂN TÍCH THIẾT KẾ TỔNG QUAN HỆ THỐNG 4
1 Các tác nhân (actor) tác động vào hệ thống 4
2 Biểu đồ use case 5
3 Mô tả các chức năng (use case) 5
IV PHÂN TÍCH THIẾT KẾ CHI TIẾT HỆ THỐNG 5
1 Viết kịch bản Scenario 5
2 Biểu đồ lớp 7
3 Biểu đồ tuần tự 7
V KIẾN TRÚC HỆ THỐNG VÀ CÀI ĐẶT HỆ THỐNG 7
1 Kiến trúc hệ thống 7
2 Cài đặt hệ thống 7
VI CÁC KẾT QUẢ ĐẠT ĐƯỢC 8
1 Đăng ký 8
2 Đăng nhập 8
3 Giao diện vào chọn phòng 9
4 Giao diện chơi game 9
VII KẾT LUẬN 10
Trang 3DANH SÁCH THÀNH VIÊN VÀ ĐÓNG GÓP
phòng
I.
Trang 41 Mô tả bài toán
Game bắn xe tăng nhiều người chơi Gồm 1 Server và nhiều Client
+ Để chơi thì người chơi phải login vào tài khoản của mình từ một máy client + Sau khi login thành công thì giao diện hiện lên một danh sách các phòng
+ Để thách đấu người chơi khác thì chọn vào phòng(Một phòng có tối đa 4 player) + Sau khi chọn phòng, các player vào phòng thi đấu với nhau
+ Kết quả các trận đấu được lưu vào server
2 Phạm vi phần mềm
Người dùng có trình duyệt có thể truy cập vào địa chỉ trang web của trò chơi để chơi
3 Công nghệ sử dụng
III PHÂN TÍCH THIẾT KẾ TỔNG QUAN HỆ THỐNG
1 Các tác nhân (actor) tác động vào hệ thống
- Người chơi (player)
Trang 52 Biểu đồ use case
3 Mô tả các chức năng (use case)
thống
IV PHÂN TÍCH THIẾT KẾ CHI TIẾT HỆ THỐNG
1 Viết kịch bản Scenario
Kịch bản đăng ký
nút đăng nhập
button Đăng ký
Trang 61 Player điền account đã tồn tại trong cơ sở dữ liệu
2 Server không hiển thị thông báo “Tài khoản đã tồn tại”
Kịch bản đăng nhập
nhập, nút đăng ký
Exception:
Kịch bản chơi game
1 Các Player chọn phòng mà mình muốn để thi đấu với nhau
các Player
Kịch bản xem phòng
Trang 72 Biểu đồ lớp
3 Biểu đồ tuần tự
Chức nă
Trang 8visitor display register User controller User
- Chức năng đăng nhập
1.1: handleRegisterO
1 1 1: checkValid 1.1 2: find
Trang 9Visitor display login User
3 Cơ chê hoạt động của game
xe tank (tọa độ xe, hp, atk, id người chơi), các viên đạn (tọa độ đạn, tốc độ, atk, id
người chơi), và hành động của mỗi người chơi (lên, xuống, trái, phải, góc nòng
súng, bắn) trong phòng đấy
thêm người chơi vào phòng nguời chơi đã chọn, và tạo biến xe tăng, và biến hành
động tương ứng với người chơi lưu vào biến toàn cục
viên đạn, kiểm tra va chạm, kiểm tra hp của người chơi ( nếu <=0 người chơi bị
thoát ra khỏi phòng ) lưu lại vào biến roomData và emit biến roomData (dữ liệu xe
tăng và đạn) về cho tất cả người chơi trong phòng đấy
biến trên trình duyệt Trên trình duyệt sẽ có một vòng lặp chạy sau mỗi 15ms dùng
biến roomData để vẽ hình ảnh xe tăng viên đạn, hp người chơi lên màn hình
chuyển chuột, và ấn bắn, sẽ được lưu vào một biến hành động người chơi (lên,
xuống, trái, phải, góc nòng súng, bắn) trên trình duyệt Và mỗi 15ms trình duyệt
emit hành động người chơi lên server
V.
KIẾN TRÚC HỆ THỐNG VÀ CÀI Đ Ặ T HỆ THỐNG
1 Kiên trúc hệ thông
Kiến trúc hệ thống theo mô hình MVC
Cài đặt hệ thông
Game bắn tank được cài đặt dạng client-server, sử dụng giao thức TCP/IP Sau khi mở server thì server sẽ lắng nghe và tiếp nhận kết nối từ client
Mỗi client tương đương với một người chơi Client gửi yêu cầu xử lý lên
server và nhận kết quả từ server trả về
2.
1.1.1: cneckva ue
Trang 10(roomData) tương ứng với người chơi đó
Trang 11VI CÁC KẾT QUẢ ĐẠT ĐƯỢC
1 Đăng ký
2 Đăng nhập
Trang 123 Giao diện vào chọn nhõn;
4 Giao diện chơi game
Trang 13VII KẾT LUẬN
liệu và sử dụng Socket io Hiện tại về cơ bản nhóm đã hoàn thành ứng dụng game bắn tank online với các chức năng cơ bản sau như: đăng ký, đăng nhập, chơi game
được những sai sót như code dài dòng, thừa dữ liệu Một vài case có thể còn bug, chưa thể hiện được như thiết kế
Lời cuối, chúng em xin chân thành cảm ơn thầy