1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

12 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 322,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. + Để thách đấu người chơi khác thì chọn vào phòngMột phòng có tố

Trang 1

MỤC LỤC

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

Lã Trung Hiếu

Lê Dương Hưng

: B18DCCN214 :B18DCCN280

Hà Nội - 2020

Trang 2

I 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 3

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

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

Chu Đức Chính - Làm giao diện đăng ký,đăng nhập,chọn 

phòng

Lê Dương Hưng - Thiết kế database 

- API đăng nhập, đăng ký 

Lã Trung Hiếu - Vẽ xe tăng

Hồ Sĩ Lâm - Làm báo cáo

Trang 4

II PHÂN TÍCH YÊ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

+ Xử lý yêu cầu đăng nhập đăng ký + Nhận hành động của người chơi và xử lý logic của game + Thông tin người chơi được lưu vào db

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

 Client: HTML, CSS, JS, thư viện sockei.io.js

 Server: node js, soket.io

 Database: mongodb

1.    Các tác nhân (actor) tác động vào hệ thống

-        Người chơi (player)

Trang 5

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

-  UC4 - Bắn nhau

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

Trang 6

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 toá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)

Trang 7

2.    Biểu đồ lớp

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

- Chức năng đăng ký

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

Trang 8

- Chức năng chơi game

- Chức năng tăng level (Tăng hp+dame)

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

Trang 9

- Với mỗi phòng server sẽ có một biết toà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 toá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 đó

1.    Đăng ký

 

 

2.    Đăng nhập

Trang 10

 

 

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

Trang 11

4 Giao diện chơi game

 

Trang 12

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

Ngày đăng: 06/02/2022, 05:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w