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

Đồ án java trên nền website game ball

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 (7.32 MB, 76 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

Thiết kế hệ thống trò chơi “phiêu lưu bắn bóng bay”
bằng NNLT Java trên nền website game ball

Hà Nội, 6-2018


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

Thiết kế hệ thống trò chơi “phiêu lưu bắn bóng bay”
bằng NNLT Java trên nền website game ball

Hà Nội, 6-2018

2



Giảng viên hướng dẫn đánh giá:......................................................
Họ và tên Sinh viên:................................................ MSSV:…………………
Tên đồ án: ................................... ................................... ...................................
…………………………………………………………………………………..

Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
1 các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
1 2 3 4
phạm vi ứng dụng của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1 2 3 4
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
4
1 2 3 4
đạt được
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
5 thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ 1 2 3 4
thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
6
1 2 3 4
quả đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp

7
1 2 3 4
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai.
Kỹ năng viết (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
8
1 2 3 4
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
9
1 2 3 4
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
10a
5
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
10b
2
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế
khác về chuyên ngành như TI contest.

10c Không có thành tích về nghiên cứu khoa học
0
Điểm tổng

5
5
5
5

5
5
5

5

5

/50

Điểm tổng quy đổi về thang 10

3


Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh
thần làm việc của sinh viên)
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

.......................................................................................................................................
.............................................................................................
Ngày: /
/2018
Người nhận xét
(Ký và ghi rõ họ tên)

4


Cán bộ phản biện đánh giá:......................................................
Họ và tên Sinh viên:................................................ MSSV:…………………
Tên đồ án: ................................... ................................... ...................................
…………………………………………………………………………………..
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
1 các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
1 2 3 4
phạm vi ứng dụng của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1 2 3 4
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
4
1 2 3 4
đạt được
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp

5 thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ 1 2 3 4
thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
6
1 2 3 4
quả đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
7
1 2 3 4
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai.
Kỹ năng viết (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
8
1 2 3 4
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
9
1 2 3 4
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
10a
5

học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
10b
2
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế
khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học
0
Điểm tổng

5
5
5
5

5
5
5

5

5

/50

Điểm tổng quy đổi về thang 10

5



Nhận xét thêm của Thầy/Cô
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
Ngày: /
/2018
Người nhận xét
(Ký và ghi rõ họ tên)

6


LỜI NÓI ĐẦU
Trong xã hội hiện đại ngày nay tiềm ẩn quá nhiều nguy cơ tác động tiêu cực đến
đời sống và sức khỏe tinh thần của con người, có thể dẫn đến những căn bệnh về
tâm lý, stress. Bản thân em cũng đã từng bị stress nặng ảnh hưởng rất lớn đến cuộc
sống. Tuy nhiên bằng những trò chơi điện tử đơn giản sau những thời gian học tập
và làm việc căng thẳng đã giúp em giải tỏa đi rất nhiều. Vì lẽ đó em đã chọn đề tài
“XÂY DỰNG HỆ THỐNG TRÒ CHƠI ĐIỆN TỬ KẾT HỢP ỨNG DỤNG WEB ”
để làm đồ án tốt nghiệp của mình. Là một người yêu thích lập trình, em muốn dùng
những kiến thức mà mình đã học được trên ghế nhà trường để tạo ra một trò chơi
điện tử, mà mọi người có thể giải tỏa những áp lực cuộc sống sau những giờ làm
việc căng thẳng. Không chỉ dừng lại ở mức độ đồ án tốt nghiệp, em muốn hướng tới
một sản phẩm mà em có thể khởi nghiệp trong tương lai.
Em xin cam đoan đã thực hiện quá trình làm đồ án một cách khoa học, trung

thực, đúng đắn dưới sự hướng dẫn của ThS . Các tài liệu, bài báo khoa học, giáo
trình giảng dạy nếu được sử dụng trong đồ án đều được trích dẫn đầy đủ. Em xin
chịu trách nhiệm trước hội đồng về sự trung thực của đồ án mà mình thực hiện.
Em xin bày tỏ lòng biết ơn sâu sắc tới ThS , thầy đã truyền đạt kiến thức, kĩ
năng trong học tập và nghiên cứu, hướng dẫn tận tâm giúp em hoàn thành đồ án
này. Và em cũng xin chân thành cảm ơn các thầy, cô, các cán bộ làm việc tại trường
Đại học Bách khoa Hà Nội và đặc biệt là các thầy, cô trong khoa Điện tử viễn
thông đã trang bị nền tảng kiến thức giúp em trong quá trình học tập và làm đồ án.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, người thân, bạn bè đã quan tâm,
động viên, tạo điều kiện cho em trong quá trình học tập.

7


TÓM TẮT ĐỒ ÁN
Đồ án này hướng tới việc xây dựng một hệ thống bao gồm 2 phần là trò chơi
điện tử và ứng dụng web. Trò chơi chạy trên nền máy tính cá nhân, hướng tới thể
loại trò chơi giải trí, không cần đầu tư nhiều thời gian. Lối chơi đơn giản chỉ cần
click chuột và ghi điểm, ai cũng có thể chơi. Hướng tới nhiều lứa tuổi khác nhau.
Ứng dụng web là một kênh chính thức để quảng bá và phát hành trò chơi. Không
chỉ thế, ứng dụng web còn giúp người chơi có thể tạo và quản lý tài khoản của
mình, đây còn là nơi để người chơi phản hồi cũng như có những đóng góp cho trò
chơi. Người quản trị thông qua ứng dụng web có thể xử lý những vấn đề của người
chơi gặp phải, tiếp nhận những ý kiến đóng góp của người chơi để trò chơi ngày
càng hoàn thiện và phát triển hơn.
This project aims to build a system consisting of two parts: video games and
web application. The game is geared towards entertaining game genres, without
spending much time. The game is very easy to play, just click click and click,
anyone can play. Targeted for many ages. Web application is an official channel for
promoting and releasing the game. Not only that, the web application also allows

players to create and manage their accounts, as well as where players can respond
and contribute to the game. The administrator through the web application can
handle the problems of the players encountered, receive the comments of players so
that the game is up to date and improved.

8


MỤC LỤC
LỜI NÓI ĐẦU..........................................................................................................7
TÓM TẮT ĐỒ ÁN....................................................................................................8
MỤC LỤC................................................................................................................. 9
DANH SÁCH HÌNH VẼ.........................................................................................11
DANH SÁCH BẢNG BIỂU...................................................................................13
Chương 1
1.1

Tổng quan ngành công nghiệp trò chơi điện tử...................................15

Ngành công nghiệp trò chơi điện tử...........................................................15

1.1.1

Trò chơi điện tử là gì ?.........................................................................15

1.1.2

Ngành công nghiệp trò chơi điện tử....................................................15

1.2


Ngành công nhiệp trò chơi điện tử tại Việt Nam........................................16

1.3

Kết luận......................................................................................................16

Chương 2
2.1

Xây dựng trò chơi bằng ngôn ngữ Java và framework JavaFX...........17

Java và framework JavaFX........................................................................17

2.1.1

Java......................................................................................................17

2.1.2

JavaFX.................................................................................................19

2.2

Phân tích trò chơi.......................................................................................19

2.2.1

Ý tưởng...............................................................................................19


2.2.2

Xác định rõ yêu cầu.............................................................................19

2.2.3

Mô hình hóa chức năng.......................................................................20

2.2.4

Mô hình cầu trúc..................................................................................27

2.2.5

Mô hình hóa hoạt động........................................................................34

2.3

Thiết kế trò chơi.........................................................................................38

2.3.1

Thiết kế lớp và phương thức................................................................38

2.3.2

Thiết kế giao diện................................................................................42

2.4


Thiết kế cơ sở dữ liệu.................................................................................45

2.4.1

Xác định thực thể.................................................................................45

2.4.2

Mô hình thực thể liên kết.....................................................................45

2.4.3

Chuẩn hóa............................................................................................45

2.4.4

Mô tả chi tiết các quan hệ....................................................................46

2.4.5

Mô hình thực thể cho quan hệ.............................................................46

2.5

Kết luận......................................................................................................46

Chương 3
3.1

Xây dựng ứng dụng web bằng ngôn ngữ Python và framework Django

47

Python và framework Django.....................................................................47

9


3.1.1

Python.................................................................................................47

3.1.2

Django.................................................................................................48

3.2

Phân tích hệ thống......................................................................................48

3.2.1

Ý tưởng...............................................................................................48

3.2.2

Xác định rõ yêu cầu.............................................................................48

3.2.3

Mô hình hóa chức năng.......................................................................49


3.2.4

Mô hình cầu trúc..................................................................................56

3.2.5

Mô hình hóa hoạt động........................................................................60

3.3

Thiết kế hệ thống........................................................................................65

3.3.1

Thiết kế lớp và phương thức................................................................65

3.3.2

Thiết kế giao diện................................................................................66

3.4

Thiết kế cơ sở dữ liệu.................................................................................70

3.4.1

Xác định thực thể.................................................................................70

3.4.2


Mô hình thực thể liên kết.....................................................................70

3.4.3

Chuẩn hóa............................................................................................71

3.4.4

Mô tả chi tiết các quan hệ....................................................................71

3.4.5

Mô hình thực thể cho quan hệ.............................................................73

3.5

Kết luận......................................................................................................73

KẾT LUẬN.............................................................................................................74
TÀI LIỆU THAM KHẢO.......................................................................................75
BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT ANH.....................................................76
PHỤ LỤC................................................................................................................ 77

10


DANH SÁCH HÌNH VẼ
Hình 2.1 Danh sách 10 ngôn ngữ lập trình phổ biến nhất năm 2017 [9]..................17
Hình 2.2 Sơ đồ ca sử dụng.......................................................................................21

Hình 2.3 Sơ đồ hoạt động của hệ thống...................................................................26
Hình 2.4: Sơ đồ lớp.................................................................................................32
Hình 2.5: Sơ đồ đối tượng.......................................................................................33
Hình 2.6 Sơ đồ tuần tự của hoạt động đăng ký........................................................34
Hình 2.7 Sơ đồ tuần tự của hoạt động đăng nhập....................................................34
Hình 2.8 Sơ đồ tuần tự của hoạt động chơi không đăng nhập..................................35
Hình 2.9 Sơ đồ tuần tự của hoạt động hướng dẫn chơi............................................35
Hình 2.10 Sơ đồ tuần tự của hoạt động bật/tắt âm thanh.........................................36
Hình 2.11 Sơ đồ tuần tự của hoạt động xem điểm số...............................................36
Hình 2.12 Sơ đồ tuần tự của hoạt động chọn màn chơi...........................................37
Hình 2.13 Sơ đồ tuần tự của hoạt động chơi............................................................37
Hình 2.14 Giao diện đầu trò chơi............................................................................42
Hình 2.15 Giao diện đăng nhập...............................................................................42
Hình 2.16 Giao diện chính.......................................................................................43
Hình 2.17 Giao diện điểm cao.................................................................................43
Hình 2.18 Giao diện chơi.........................................................................................44
Hình 2.19 Giao diện chọn màn chơi........................................................................44
Hình 2.20 Mô hình thực thể liên kết........................................................................45
Hình 2.21 Mô hình thực thể cho quan hệ.................................................................46
Hình 3.1 Sơ đồ ca sử dụng của hệ thống.................................................................51
Hình 3.2 Sơ đồ hoạt động của hệ thống...................................................................56
Hình 3.3 Sơ đồ lớp..................................................................................................59
Hình 3.4 Sơ đồ đối tượng........................................................................................60
Hình 3.5 Sơ đồ tuần tự hoạt động đăng ký tài khoản...............................................60
Hình 3.6 Sơ đồ tuần tự hoạt động đăng nhập tài khoản người chơi.........................61
Hình 3.7 Sơ đồ tuần tự của hoạt động xem hướng dẫn chơi....................................61
Hình 3.8 Sơ đồ tuần tự hoạt động xem những người chơi có điểm số cao...............62
Hình 3.9 Sơ đồ tuần tự của hoạt động tải trò chơi...................................................62
Hình 3.10 Sơ đồ tuần tự hoạt động chỉnh sửa thông tin...........................................63
Hình 3.11 Sơ đồ tuần tự của hoạt động tạo mới phản hồi........................................63

Hình 3.12 Sơ đồ tuần tự của lịch sử đăng nhập.......................................................63
Hình 3.13 Sơ đồ tuần tự khóa / mở khóa tài khoản người chơi................................64
Hình 3.14 Sơ đồ tuần tự của hoạt động xử lý phản hồi............................................64
Hình 3.15 Sơ đồ tuần tự của hoạt động khóa / mở khóa tài khoản nhân viên..........64
Hình 3.17 Giao diện đăng nhập...............................................................................66
Hình 3.16 Giao diện đăng ký...................................................................................66
Hình 3.18 Giao diện lịch sử đăng nhập của người chơi...........................................66
Hình 3.19 Giao diện thay đổi thông tin cá nhân......................................................67
Hình 3.20 Giao diện tạo mới phản hồi.....................................................................67
Hình 3.21 Giao diện hiển thị chi tiết điểm số..........................................................67
Hình 3.22 Giao diện quản lý nhân viên...................................................................68
Hình 3.23 Giao diện quản lý phản hồi từ người chơi...............................................68

11


Hình 3.24 Giao diện quản lý người chơi..................................................................68
Hình 3.25 Giao diện trang chủ 1..............................................................................69
Hình 3.26 Giao diện trang chủ 2..............................................................................69
Hình 3.27 Giao diện trang chủ 3..............................................................................69
Hình 3.28 Sơ đồ thực thể liên kết............................................................................70
Hình 3.29 Mô hình thực thể cho quan hệ.................................................................73

12


DANH SÁCH BẢNG BIỂU
Bảng 2.1 Mô tả đăng ký..........................................................................................21
Bảng 2.2 Mô tả đăng nhập.......................................................................................22
Bảng 2.3 Mô tả chọn màn chơi................................................................................22

Bảng 2.4 Mô tả hiển thị điểm số cao.......................................................................22
Bảng 2.5 Mô tả bật âm thanh...................................................................................23
Bảng 2.6 Mô tả tắt âm thanh....................................................................................23
Bảng 2.7 Mô tả hướng dẫn chơi..............................................................................23
Bảng 2.8 Mô tả chơi................................................................................................24
Bảng 2.9 Mô tả tạm dừng trò chơi...........................................................................24
Bảng 2.10 Mô tả tiếp tục trò chơi............................................................................25
Bảng 2.11 Mô tả chơi lại.........................................................................................25
Bảng 2.12 Thẻ GameObject....................................................................................27
Bảng 2.13 Thẻ Ball..................................................................................................27
Bảng 2.14 Thẻ Bomb...............................................................................................28
Bảng 2.15 Thẻ wall..................................................................................................28
Bảng 2.16 Thẻ gate..................................................................................................29
Bảng 2.17 Thẻ storm...............................................................................................29
Bảng 2.18 Thẻ resizeObj.........................................................................................30
Bảng 2.19 Thẻ sound...............................................................................................30
Bảng 2.20 Thẻ GameBall........................................................................................30
Bảng 2.21 Thẻ BackgroundMusic...........................................................................31
Bảng 2.22 Thẻ User.................................................................................................31
Bảng 2.23 Thẻ GameConnection.............................................................................31
Bảng 2.24 Danh sách thực thể.................................................................................45
Bảng 2.25 Mô hình quan hệ sau chuẩn hóa.............................................................45
Bảng 2.26 Chi tiết player.........................................................................................46
Bảng 2.27 Chi tiết player_score...............................................................................46
Bảng 3.1 Mô tả đăng ký..........................................................................................51
Bảng 3.2 Mô tả đăng nhập.......................................................................................52
Bảng 3.3 Mô tả tải trò chơi......................................................................................52
Bảng 3.4 Mô tả hướng dẫn chơi..............................................................................52
Bảng 3.5 Mô tả xem điểm cao.................................................................................53
Bảng 3.6 Mô tả xem lịch sử đăng nhập...................................................................53

Bảng 3.7 Mô tả đăng xuất........................................................................................53
Bảng 3.8 Mô tả thay đổi thông tin cá nhân..............................................................54
Bảng 3.9 Mô tả gửi phản hồi...................................................................................54
Bảng 3.10 Mô tả xử lý phản hồi..............................................................................55
Bảng 3.11 Mô tả khóa/mở khóa tài khoản người chơi.............................................55
Bảng 3.12 Mô tả khóa/mở khóa tài khoản nhân viên...............................................55
Bảng 3.13 Thẻ player...............................................................................................56
Bảng 3.14 Thẻ agent................................................................................................57
Bảng 3.15 Thẻ manager...........................................................................................57
Bảng 3.16 Thẻ feedback..........................................................................................58
Bảng 3.17 Thẻ score................................................................................................58

13


Bảng 3.18 Thẻ LoginHistory...................................................................................59
Bảng 3.19 Xác định thực thể...................................................................................70
Bảng 3.20 Mô hình quan hệ sau chuẩn hóa.............................................................71
Bảng 3.21 Chi tiết quan hệ player............................................................................71
Bảng 3.22 Chi tiết quan hệ player_score.................................................................71
Bảng 3.23 Chi tiết player_history............................................................................72
Bảng 3.24 Chi tiết quan hệ feedback.......................................................................72
Bảng 3.25 Chi tiết quan hệ admin...........................................................................72

14


Chương 1 Tổng quan ngành công nghiệp trò chơi điện tử
Nội dung chương 1 sẽ giới thiệu khái quát về ngành công nhiệp trò chơi điện tử,
lịch sử phát triển và bức tranh về ngành công nghiệp này tại Việt Nam. Và phần

cuối sẽ giới thiệu mô hình mà đồ án hướng tới.
1.1 Ngành công nghiệp trò chơi điện tử
1.1.1 Trò chơi điện tử là gì ?
Trò chơi điện tử (hay video game) là một trò chơi giải trí ứng dụng nền tảng
công nghệ điện tử hiện đại, có tính tương tác giữa người chơi và trò chơi. Trò chơi
điện tử là thành quả phát triển của công nghệ giải trí hiện đại, là sự kết hợp tinh hoa
của nhiều mảng như lập trình, đồ họa, âm nhạc…
Trò chơi điện tử giúp cho mọi người thỏa mãn nhu cầu giải trí nhằm giải tỏa
những áp lực từ cuộc sống hàng ngày, xua bớt đi những cảm xúc tiêu cực.
1.1.2 Ngành công nghiệp trò chơi điện tử
Ngành công nghiệp trò chơi điện tử là ngành kinh tế có liên quan đến phát
triển, tiếp thị và kiếm tiền từ trò chơi điện tử. Nó là một quy trình chặt chẽ của hàng
chục ngành nghề khác nhau. Đây đang là một trong những ngành công nghiệp
không khói đem lại doanh thu hàng đầu thế giới.
Trong thời điểm hiện tại doanh thu khi phát hành một sản phẩm trò chơi mới
được ra mắt không thua kém gì những tựa phim điện ảnh. Theo Newzoo (một hãng
nghiên cứu thị trường), doanh thu toàn cầu thị trường trò chơi điện tử năm 2017 ước
tính đạt 108,9 tỉ USD và tiến đến con số 128,5 tỉ USD vào năm 2020 [10]. Vào năm
2012 con số này chỉ đạt 70 tỉ USD [10], có thể thấy sự phát triển mạnh mẽ của
ngành công nghiệp này bất chấp sự suy thoái của nền kinh tế.
Bên cạnh đó, việc các giải đấu thể thao điên tử (e-sport) liên tục được tổ chức
với những kinh phí và giải thưởng khổng lồ thu hút hàng triệu người theo dõi, các
đài truyền hình tranh nhau trực tiếp. Tất cả dần tạo nên ngành công nghiệp trò chơi
giải trí lớn mạnh không ngừng.

15


1.2 Ngành công nhiệp trò chơi điện tử tại Việt Nam
Ở Việt Nam ngành công nghiệp trò chơi điện tử cũng phát triển phát triển với

tốc độ rất nhanh. Với doanh số lớn và sự tăng trưởng nhanh đã góp phần quan trọng
vào sự phát triển của ngành công nghiệp nội dung số. Sự phát triển của ngành đã
mang về mức doanh thu lớn cho các nhà phát hành trò chơi, góp phần không nhỏ
trong trong sự phát triển chung của ngành công nghiệp nội dung số Việt Nam và
đồng thời thúc đẩy sự phát triển của hạ tầng viễn thông Việt Nam. Các nhà phát
hành lớn phải kể đến những công ty lớn như là VNG, Garena, Soha, VTC games…
Đây là những công ty nổi tiếng không chỉ trong nước mà cả khu vực lẫn thế giới với
doanh thu khổng lồ.
Bên cạnh những nhà phát hành thì các công ty phát triển trò chơi cũng phát
triển không ngừng cho ra đời những sản phẩm chất lượng sánh ngang với quốc tế.
Đơn cử là Hiker Games, một công ty đi đầu ở Việt Nam với những trò chơi nổi
tiếng thế giới. Tiêu biểu là trò chơi “7554” tái hiện lại chiến thắng lịch sử Điện
Biên Phủ của dân tộc ta, với đồ họa đẹp mắt cốt truyện hấp dẫn đã tạo nên cơn sốt
lúc phát hành.
Chính những thành công đó đã tạo động lực cho những người trẻ ấp ủ mang
trò chơi của người Việt làm ra nổi tiếng trên toàn thế giới. Nguyễn Hà Đông là một
trong số đó, với trò chơi Flappy Bird của mình trở thành một hiện tượng lúc bấy
giờ.
Qua đó em muốn đề tài của mình không chỉ phục vụ mục đích làm đồ án tốt
nghiệp mà còn có thể trở thành một sản phẩm để em phát triển trong tương lai gần.
Đề tài hướng tới xây dựng một hệ thống hoàn chỉnh có trò chơi, có kênh để quảng
bá cũng như giới thiệu trò chơi, đồng thời cũng giúp thu thập ý kiến đóng góp của
người dùng để trò chơi ngày một phát triển.
1.3 Kết luận
Việc phát triển của ngành công nghiệp trò chơi điện tử đã tạo động lực không
nhỏ để em lựa chọn theo con đường phát triển trò chơi điện tử. Với sự yêu thích lập
trình và vốn kiến thức học được trên ghế nhà trường, em muốn đồ án này là bước
khởi đầu cho sự nghiệp phát triển trò chơi sau này của mình.

16



Chương 2 Xây dựng trò chơi bằng ngôn ngữ Java và framework
JavaFX
Phần đầu chương 2 sẽ giới thiệu về tóm tắt ngôn ngữ lập trình Java, framework
JavaFX và lý do sử dụng ngôn ngữ này. Phần sau của chương sẽ tập trung vào các
bước phân tích, thiết kế và xây dựng trò chơi.
2.1 Java và framework JavaFX
2.1.1 Java
Java là ngôn ngữ lập trình bậc cao được phát triển đầu tiên bởi James
Gosling tại Sun Microsystems (bât giờ là công ty con của Oracle Coporation) và
được công bố ngày 23/05/1995. Tuy đã ra đời rất lâu đời (23 năm) nhưng theo
thống kê năm 2017 Java vẫn đứng hạng 3 những ngôn ngữ lập trình phổ biến nhất.

Danh sách
10 ngôn
ngữJava
lập trình
phổ biến
nhấtlựa
năm
2017
[9] đầu
DướiHình
đây 2.1
là những
đặc điểm
khiến
nằm trong
những

chọn
hàng

của lập trình viên:
 Đơn giản: Java giống như C++ lược bỏ đi những đặc trưng phức tạp,
không cần thiết. Đơn cử như con trỏ, đây là phần gây rất nhiều khó khăn
cho những ai học C, C++.
 Hướng đối tượng: Java là một ngôn ngữ hoàn toàn hướng đối tượng, tất
cả trong Java đều là đối tượng. Giúp người lập trình quản lý phát triển và
quản lý code dễ dàng hơn.

17


 Độc lập với hệ nền: hay nói cách khác là độc lập với phần cứng và hệ
điều hành. Đây là điểm đặc trưng nhất của Java “Write once, run
anywhere” (viết một lần chạy mọi nơi). Các chương trình viết bằng Java
có thể chạy trên hầu hết các hệ nền mà không cần phải thay đổi gì, điều
không thể ở các ngôn ngữ lập trình khác.
 Mạnh mẽ: với yêu cầu chặt chẽ về kiểu dữ liệu giúp hạn chế được các lỗi
sinh ra trong lúc ép kiểu tự động, bừa bãi. Trong các môi trường lập trình
truyền thống các lập trình viên phải tự mình cấp phát bộ nhớ và giải
phóng sau khi sử dụng xong. Việc này gây nên việc quên giải phóng bộ
nhớ đã cấp. Với Java, không còn phải bận tâm đến điều này, mọi thứ đều
tự động hoàn toàn. Bên cạch đó Java hạn chế các lỗi bằng cách kiểm tra
lỗi thời gian biên dịch và kiểm tra runtime.
 Hỗ trợ lập trình đa luồng: điều này có nghĩa là các lập trình viên có thể
viết chương trình chạy nhiều tác vụ đồng thời.
 Ứng dụng rộng rãi: ứng dụng đồ họa với Java Swing, JavaFx; ứng dụng
Android; ứng dụng Web với Spring MVC; ứng dụng mang tính chất giải

trí như trò chơi điện tử …
Với mong muốn xây dựng một trò chơi điện tử thì Java là một lựa chon tuyệt
vời. Với sự hỗ trợ lập trình hướng đối tượng việc xây dựng, quản lý cũng như mở
rộng các đối tượng trong trò chơi trở nên dễ dàng, thuận tiện. Đặc biệt với đặc trưng
độc lập với hệ nền giúp trò chơi có thể tương thích với nhiều hệ nền khác nhau mà
không phải mất công thay đổi. Đối với các trò chơi việc phải chạy các tác vụ đồng
thời là điều không thể thiếu, Java đáp ứng được điều đó.
Và một điều quan trọng khi em lựa chọn Java đó là em đã được học một cách
đầy bài bản ngôn ngữ này trong môn lập trình nâng cao. Với những lý do trên Java
là một lựa chọn tuyệt vời để em xây dựng trò chơi này.
2.1.2 JavaFX
JavaFX là một thư viện hỗ trợ lập trình đồ họa của Java. JavaFX hỗ trợ nhiều
nền tảng như Window, Linux và macOS. Với những nâng cấp về mặt giao diện, bổ
xung UI Controls, Animations, Chart, Shape, Transformations, CSS, 2D, 3D, Web
Browser và Media. JavaFx là một sự thay thế cho Swing như là thư viện tiêu chuẩn

18


lập trình giao diện đồ họa cho java. Với những đặc điểm trên JavaFx là một lựa
chọn hoàn hảo để lập trình giao diện đồ họa cho trò chơi.
2.2 Phân tích trò chơi
2.2.1 Ý tưởng
Xuất phát từ một bài tập trong muôn lập trình nâng cao, khi giảng viên yêu
cầu viết một chương trình đơn giản có những quả bóng bay ngang qua màn hình và
click chuột vào sẽ ăn điểm, khi đó những ý tưởng ban đầu về trò chơi đã được ra
đời. Trò chơi sẽ xoay quay việc người chơi click vào những quả bóng nhiều màu sắc
di chuyển theo nhiều hướng để ăn điểm. Bên cạnh những quả bóng sẽ là những vật
thể nhằm cản trở người chơi dành chiến thắng. Những quả bom khi click vào sẽ bị
mất “mạng” hay những vật thể làm thay đổi quỹ đạo, tốc độ, vị trí, kích thước …

của những quả bóng. Để thêm sự kịch tính cho trò chơi sẽ có một đồng hồ đếm
ngược thời gian. Điểm số của người chơi sẽ được lưu lại để so sánh với những
người chơi khác nhằm tăng tính cạnh tranh, một điều không thể thiếu với mỗi trò
chơi.
2.2.2 Xác định rõ yêu cầu
Yêu cầu về chức năng:





Khi click vào quả bóng sẽ có hiệu ứng và ghi được điểm.
Các quả bóng, vật cản di chuyển theo nhiều hướng xung quanh màn hình.
Bóng sẽ thay đổi quỹ đạo, tốc độ, kích thước … khi va chạm với vật cản.
Có đồng hồ đếm ngược thời gian và kết thúc trò chơi khi đồng hồ về 0.

 Người chơi có thể lựa chọn đăng nhập tài khoản hoặc chơi không đăng nhập.
Khi người chơi chơi ở chế độ không đăng nhập thì điểm số chỉ được lưu tại
máy cá nhân. Khi người chơi chơi ở chế độ đăng nhập mà có kết nối internet
thì điểm số của người chơi sẽ được lưu tại máy chủ, nếu không có kết nối
internet điểm số sẽ lưu lại tại máy người chơi và dữ liệu sẽ được đồng bộ







giữa máy chủ và máy cá nhân khi có kết nối internet.
Có phần hướng dẫn chơi cho người mới.

Người chơi có thể lựa chọn màn chơi mình muốn.
Người chơi phải vượt qua từng màn chơi để có thể mở khóa màn tiếp theo.
Người chơi có thể tạm dừng trò chơi và tiếp tục khi muốn.
Người chơi cũng có thể chọn màn chơi khác khi đang chơi một màn nào đó.
Có hiệu ứng âm thanh, có thể bật tắt âm thanh theo ý muốn.

19


Yêu cầu phi chức năng:
 Hình ảnh đẹp mắt,các màn chơi đa dạng, đặc sắc không nhàm chán
 Âm thanh vui nhộn.
 Trò chơi chạy mượt mà, không giật, chậm.
2.2.3 Mô hình hóa chức năng
2.2.3.1 Sơ đồ ca sử dụng và mô tả ca sử dụng
Xác định người sử dụng:
Chỉ có duy nhất một người sử dụng là người chơi sử dụng trò chơi.
Xác định ca sử dụng:
Người chơi:








Đăng nhập.
Đăng ký tài khoản.
Chơi không đăng nhập.

Chọn màn chơi để chơi.
Tùy chỉnh bật tắt âm thanh.
Đừng và tiếp tục trò chơi giữa chừng.
Có thể chơi lại màn chơi đó hoặc chọn màn chơi khác để chơi.

Sơ đồ ca sử dụng:

20


Hình 2.2 Sơ đồ ca sử dụng

Mô tả ca sử dụng:
Bảng 2.1 Mô tả đăng ký

Tên Ca sử dụng: Đăng ký
Người sử dụng chính: Người chơi
Loại Ca sử dụng: Tổng quan
Mô tả: Người chơi đăng ký một tài khoản
Dòng sự kiện chính
1. Hệ thống hiển thị thông tin cần thiết để tạo tài khoản
2. Người sử dụng nhập thông tin
3. Hệ thống lưu thông tin người chơi
Ngoại lệ:
3.a Thông tin không hợp lệ
3.a.1 Hệ thống yêu cầu nhập lại
Bảng 2.2 Mô tả đăng nhập

Tên Ca sử dụng: Đăng nhập
Người sử dụng chính: Người chơi

Mô tả: Người chơi đăng nhập tài khoản

Loại Ca sử dụng: Tổng quan

21


Dòng sự kiện chính
1. Hệ thống hiển thông tin cần nhập
2. Người sử dụng nhập thông tin
3. Hệ thống xác nhận thông tin đăng nhập hợp lệ
Ngoại lệ:
3.a Thông tin không chính xác
3.a.1 Hệ thống yêu cầu người chơi nhập lại thông tin
Bảng 2.3 Mô tả chọn màn chơi

Tên Ca sử dụng: Chọn màn chơi
Người sử dụng chính: Người chơi
Mô tả:Người chơi chọn màn chơi
Dòng sự kiện chính

Loại Ca sử dụng: Tổng quan

4. Hệ thống hiển thị danh sách màn chơi
5. Người sử dụng chọn màn chơi mình muốn
6. Hệ thống nạp màn chơi người chơi đã chọn
Ngoại lệ:
Bảng 2.4 Mô tả hiển thị điểm số cao

Tên Ca sử dụng: Hiển thị điểm số cao

Người sử dụng chính: Người chơi
Loại Ca sử dụng: Tổng quan
Mô tả:Người chơi xem hướng điểm số của mình
Dòng sự kiện chính
1. Hệ thống hiển thị điểm số cao của người chơi
Ngoại lệ:
Bảng 2.5 Mô tả bật âm thanh

Tên Ca sử dụng: Bật âm thanh
Người sử dụng chính: Người chơi
Mô tả: Người chơi bật âm thanh
Dòng sự kiện chính

Loại Ca sử dụng: Tổng quan

1. Người sử dụng bật âm thanh
2. Hệ thống phát âm thanh
Ngoại lệ:
2.a Âm thanh vẫn đang bật
2.a.1 Hệ thống không làm gì cả

22


Bảng 2.6 Mô tả tắt âm thanh

Tên Ca sử dụng: Tắt âm thanh
Người sử dụng chính: Người chơi
Mô tả: Người chơi tắt âm thanh
Dòng sự kiện chính


Loại Ca sử dụng: Tổng quan

1. Người sử dụng tắt âm thanh
2. Hệ thống dừng phát âm thanh
Ngoại lệ:
2.a Âm thanh vẫn đang tắt
2.a.1 Hệ thống không làm gì cả
Bảng 2.7 Mô tả hướng dẫn chơi

Tên Ca sử dụng: Hướng dẫn chơi
Người sử dụng chính: Người chơi
Mô tả:Người chơi xem hướng dẫn chơi
Dòng sự kiện chính

Loại Ca sử dụng: Tổng quan

1. Hệ thống hiển thị hướng dẫn chơi
Ngoại lệ:
Bảng 2.8 Mô tả chơi

Tên Ca sử dụng: Chơi
Người sử dụng chính: Người chơi
Mô tả: Người chơi trò chơi
Dòng sự kiện chính

Loại Ca sử dụng: Chi tiết

1. Người sử dụng chơi trò chơi
Ngoại lệ:

1.a Người sử dụng có thể dừng trò chơi
1.b Người sử dụng có thể chơi lại màn chơi
1.c Người sử dụng có thể chọn màn khác để chơi

Bảng 2.9 Mô tả tạm dừng trò chơi

Tên Ca sử dụng: Tạm dừng trò chơi
Người sử dụng chính: Người chơi
Mô tả: Người chơi tạm dừng trò chơi

Loại Ca sử dụng: Chi tiết

23


Dòng sự kiện chính
1. Người sử dụng tạm dừng trò chơi trò chơi
2. Hệ thống dừng trò chơi
Ngoại lệ:
2.a Trò chơi vẫn đang dừng
2.a.1 Hệ thống không làm gì cả

Bảng 2.10 Mô tả tiếp tục trò chơi

Tên Ca sử dụng: Tiếp tục trò chơi
Người sử dụng chính: Người chơi
Mô tả:Người chơi tiếp tục trò chơi
Dòng sự kiện chính

Loại Ca sử dụng: Chi tiết


1. Người sử dụng tiếp tục trò chơi trò chơi
2. Hệ thống tiếp tục trò chơi
Ngoại lệ:
2.a Trò chơi vẫn đang chạy
2.a.1 Hệ thống không làm gì cả

Bảng 2.11 Mô tả chơi lại

Tên Ca sử dụng: Chơi lại
Người sử dụng chính: Người chơi
Mô tả:Người chơi chơi lại
Dòng sự kiện chính

Loại Ca sử dụng: Chi tiết

1. Người sử dụng chơi lại
2. Hệ thống khởi động lại màn chơi
3. Hệ thống phát lại nhạc từ đầu
Ngoại lệ:

24


3.a Âm thanh vẫn đang tắt
3.a.1 Hệ thống không làm gì cả
2.2.3.2 Sơ đồ hoạt động của hệ thống (Activity Diagram)

Hình 2.3 Sơ đồ hoạt động của hệ thống


25


×