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

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 (391.8 KB, 13 trang )

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:
Lã Trung Hiếu
Lê Dương Hưng

MỤC LỤC

Phan Quang Hiếu

: B18DCCN225

Chu Đức Chính

: B18DCCN082

Hồ Sĩ Lâm

: B18DCCN322


I.


II.

2


III.

I.

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

IV.
VI.

Thành viên

Phan Quang Hiếu (nhóm trưởng)

VIII. Chu Đức Chính
X.

Lê Dương Hưng

XI.

Lã Trung Hiếu

XIII. Hồ Sĩ Lâm

V.

VII.

Đóng góp

- . Game Engine

IX. - Làm giao diện đăng ký,đăng nhập,chọn
phòng
- Thiết kế database
- API đăng nhập, đăng ký
XII.
- Vẽ xe tăng
XIV.

- Làm báo cáo


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

II.

XV.
XVI.
1. Mơ tả bài tốn
XVII.
-

Game bắn xe tăng nhiều người chơi. Gồm 1 Server và nhiều Client

Phía Client

XVIII. + Để 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.
XIX. + Sau khi login thành cơng thì giao diện hiện lên một danh sách các phòng.
XX.

+ Để 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).

XXI. + Sau khi chọn phòng, các player vào phịng thi đấu với nhau
-

Phía Server

XXII. + Kết quả các trận đấu được lưu vào server.
2. Phạm vi phần mềm
XXIII.

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
XXIV. 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
XXV. - Người chơi (player).


XXVI. 2. Biểu đồ use case


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

-

UC4 - Bắn nhau

XXIX. IV. PHÂN TÍCH THIẾT KẾ CHI TIẾT HỆ THỐNG
1. Viết kịch bản Scenario
XXX.

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


XXXI. 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”.
XXXII.

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

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

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.

XXXV.

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


2. Biểu đồ lớp

XXXVI.
XXXVII.
XXXVIII.
3. Biểu đồ tuần tự
XXXIX. Chức nă

User controller

1.1: handleRegisterO

1.1.1: checkValid
1.1.2: find

XL.

XLI.

XLII.
visitor

XLIII.

XLIV.
isplay register

d

XLV.

XLVI.

User controller

XLVII. XLVIII.
User


XLIX.
L.
LXI.
LX.

- Chức năng đăng nhập
LI.
LII.
LIII. LIV.
Visitor

display login
I.

LV. LVI.

Socket

LVII.

LVIII.

1.1.1: cneckva ue

V.

- Chức năng chơi game
- Chức năng tăng level (Tăng hp+dame)
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ị
thốt ra khỏi phịng ) lưu lại vào biến roomData và emit biến roomData (dữ liệu xe

User

LIX.


-

-

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 tồn cục
(roomData) tương ứng với người chơi đó


II.
VI. CÁC KẾT QUẢ ĐẠT

ĐƯỢC
III.
1.
Đăng ký
LXII.
LXIII.
LXIV.
LXV.
LXVI.
LXVII.
LXVIII.
LXIX.
LXX.
LXXI.
LXXII.
LXXIII.
LXXIV.
LXXV.
LXXVI.
LXXVII.
LXXVIII.
IV. 2. Đăng
nhập
LXXIX.
LXXX.
LXXXI.
LXXXII.
LXXXIII.
LXXXIV.
LXXXV.

LXXXVI.
LXXXVII.
LXXXVIII.
LXXXIX.
XC.
XCI.
XCII.
XCIII.
XCIV.


XCV.
XCVI.
XCVII.
XCVIII.


XCIX. 3. Giao diện vào chọn nhõn;
C.

CI.

4. Giao diện chơi game


CII.

CIII.
CIV.
-


-

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ế.
CV. Lời cuối, chúng em xin chân thành cảm ơn thầy.



×