Tải bản đầy đủ (.pdf) (77 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 (2.68 MB, 77 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.

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


Dƣới đây là những đặc điểm khiến Java nằm trong những lựa chọn hàng đầu
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.
 Độ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 đó.

18


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

19



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


20


Sơ đồ ca sử dụng:

Đăng ký

<<
inc
lud
e>>

Người chơi

Chơi

<<extend>>

Hướng dẫn
chơi

<<extend>>

Bât tắt âm
thanh

<ten


<<
ex
t

en
d>
>
d>>

Đăng nhập

Hiển thị
điểm cao

Chọn màn
chơi

Chơi

Tạm dừng
trò chơi

>>
clude
<<<include>>
<<
inc
lud
e>>


Chơi lại

Chọn màn
chơi khác

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

21


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

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

Mô tả: Ngƣời chơi đăng nhập tài khoản
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

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

Mô tả:Ngƣời chơi chọn màn chơi
Dòng sự kiện chính
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ệ:

22


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

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

Mô tả: Ngƣời chơi bật âm thanh
Dòng sự kiện chính
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ả

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

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

Mô tả: Ngƣời chơi tắt âm thanh
Dòng sự kiện chính
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

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

Mô tả:Ngƣời chơi xem hƣớng dẫn chơi
Dòng sự kiện chính
1. Hệ thống hiển thị hƣớng dẫn chơi
Ngoại lệ:

23


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

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

Mô tả: Ngƣời chơi trò chơi
Dòng sự kiện chính
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

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

Mô tả: Ngƣời chơi tạm dừng trò chơi
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ả

24



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

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

Mô tả:Ngƣời chơi tiếp tục trò chơi
Dòng sự kiện chính
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

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

Mô tả:Ngƣời chơi chơi lại
Dòng sự kiện chính
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ệ:
3.a Âm thanh vẫn đang tắt
3.a.1 Hệ thống không làm gì cả


25


×