Tải bản đầy đủ (.docx) (11 trang)

(TIỂU LUẬN) báo cáo bài tập lớn môn học lập TRÌNH MẠNG đề tài game bắn xe tăng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (437.05 KB, 11 trang )

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:
Phan Quang Hiếu

: B18DCCN225

Chu Đức Chính

: B18DCCN082

Hồ Sĩ Lâm

: B18DCCN322

Lã Trung Hiếu

: B18DCCN214

Lê Dương Hưng

:B18DCCN280

Hà Nội - 2020
MỤC LỤC




I.

DANH SÁCH THÀNH VIÊN VÀ ĐĨNG GĨP................................................................3

II.

PHÂN TÍCH U CẦU ĐỀ BÀI....................................................................................4

1. Mơ tả bài tố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

2


I.

DANH SÁCH THÀNH VIÊN VÀ ĐÓNG GÓP

Thành viên
Phan Quang Hiếu (nhóm trưởng)
Chu Đức Chính
Lê Dương Hưng
Lã Trung Hiếu
Hồ Sĩ Lâm

3


II. PHÂN TÍCH U CẦU ĐỀ BÀI
1. 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

-

-

Phía 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

Phía Server

+
2.

Kết quả các trận đấu được lưu vào server.

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
Client: HTML, CSS, JS, thư viện sockei.io.js
Server: node js, soket.io
Database: mongodb
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).

4


2.

Biểu đồ use case

3.

Mô tả các chức năng (use case)
UC1 - Register: Người chơi đăng ký tài khoản để có thể đăng nhập vào
hệ thống.
- UC2 - Login: Người chơi đăng nhập vào hệ thống.
- UC3 - Choose room: Người chơi chọn phịng để bắn nhau.
-

IV.


UC4 - Bắn nhau

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ý
1. Player chọn vào form login.
2. Server hiển thị giao diện login bao gồm: Tên tài khoản, mật khẩu, nút đăng
ký, nút đăng nhập
3. Player chọn vào nút Đăng ký.
4. Server hiển thị form Đăng ký bao gồm: input Tên tài khoản, input mật
khẩu, button Đăng ký
5. Player điền đầy đủ thông tin vào form Đăng ký.
6. Server kiểm tra thông tin được nhập, hiển thị form Đăng nhập
5


Exception:

·

1.

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
1.

Player chọn vào form Đăng nhập.

2. Server hiển thị giao diện login bao gồm: tên tài khoản, mật khẩu, nút
đăng nhập, nút đăng ký
3.

Player điền đầy đủ thông tin trên form.

4.

Server kiểm tra thông tin và bắt đầu giao diện game.

Exception:

·

1.

Player điền sai thông tin tài khoản.

2.

Server hiển thị thông báo “Sai thông tin đăng nhập”.

3.


Player nhập lại thơng tin…

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.

2.

Server lắng nghe, đưa các player vào phịng vừa chọn.

3.

Player sử dụng các phím điều hướng và click để bắn

4. Server cập nhật trạng thái, tính tốn vị trí và đường đạn bắn ra, lượng máu giữa
các Player.

·

Kịch bản xem phòng
1.

Player đăng nhập.

2.

Server trả về trang chủ bao gồm danh sách số phịng có sẵn.

3.


Player có thể xem số lượng Player hiện có trong phòng(mặc định 4).

6


2. Biểu đồ lớp

3. Biểu đồ tuần tự
-

Chức năng đăng ký

-

Chức năng đăng nhập

7


- Chức năng chơi game
- Chức năng tăng level (Tăng hp+dame)
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.
2. 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ề.

3. Cơ chế hoạt động của game
- Với mỗi phịng server sẽ có một biết tồn cục(roomData) để lưu thơng tin các
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
- Khi người chơi đăng nhập và chọn phịng sẽ gửi thơng tin lên server, server
sẽ 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
- Cứ một khoảng thời gian (15ms) server sẽ tính tốn tọa độ mới của xe tăng,
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
- Trình duyệt người chơi mỗi khi nhận được biến roomData sẽ lưu lại vào một
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
- Đối với các hành động của người chơi, khi người chơi ấn phím di chuyển,
di 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
- Server nhận được hành động của người chơi nào sẽ lưu lại vào biến toàn
cục (roomData) tương ứng với người chơi đó
8


VI.

CÁC KẾT QUẢ ĐẠT ĐƯỢC
1. Đăng ký

2. Đăng nhập


9


3. Giao diện vào chọn phòng

4. Giao diện chơi game

10


VII.

KẾT LUẬN
Sau quá trình học tập và tìm hiểu về giao thức TCP/IP để thực hiện truyền dữ
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...
Hạn chế: Trong quá trình vừa học vừa làm project nên nhóm khơng thể trách
đượ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.

11



×