1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

76 394 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 76
Dung lượng 10,32 MB

Nội dung

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

Trang 1

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

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

Trang 2

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

Trang 3

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)

1 Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như

phạm vi ứng dụng của đồ án

1 2 3 4 5

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 5

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 5

4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả

Có khả năng phân tích và đánh giá kết quả (15)

5

Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp

thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ

6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều được phân tích và đánh giá thỏa đáng. 1 2 3 4 5

7

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

lập luận để đề xuất hướng giải quyết có thể thực hiện trong

tương lai

1 2 3 4 5

Kỹ năng viết (10)

8

Đồ á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,

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

1 2 3 4 5

9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5

Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)

10a

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

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ế

5

10b

Đượ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ở

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

2

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

Trang 4

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)

Trang 5

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)

1

Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và

các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như

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 5

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 5

4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quảđạt được 1 2 3 4 5

Có khả năng phân tích và đánh giá kết quả (15)

5

Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp

thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ

6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều được phân tích và đánh giá thỏa đáng. 1 2 3 4 5

7

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

lập luận để đề xuất hướng giải quyết có thể thực hiện trong

tương lai

1 2 3 4 5

Kỹ năng viết (10)

8

Đồ á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,

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

1 2 3 4 5

9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa

học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5

Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)

10a

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

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ế

5

10b

Đượ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ở

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

2

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

Trang 6

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)

Trang 7

LỜI NÓI ĐẦU

Trong xã hội hiện đại ngày naytiề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ộcsố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ùngnhữ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àmviệ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ớimộ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, trungthự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áotrình giảng dạy nếu được sử dụng trong đồ án đều được trích dẫn đầy đủ Em xinchị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 đồ ánnà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ễnthô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

Trang 8

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ầnclick 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ôngchỉ 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ủamì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ườichơ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àycà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 andweb application The game is geared towards entertaining game genres, withoutspending 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 forpromoting and releasing the game Not only that, the web application also allowsplayers to create and manage their accounts, as well as where players can respondand contribute to the game The administrator through the web application canhandle the problems of the players encountered, receive the comments of players sothat the game is up to date and improved

Trang 9

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 Tổng quan ngành công nghiệp trò chơi điện tử 15

1.1 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 Xây dựng trò chơi bằng ngôn ngữ Java và framework JavaFX 17

2.1 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 Xây dựng ứng dụng web bằng ngôn ngữ Python và framework Django 47 3.1 Python và framework Django 47

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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ầncuố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ảngcô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 hoacủ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ỏanhữ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áttriể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àngchục ngành nghề khác nhau Đây đang là một trong những ngành công nghiệpkhô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ãngnghiên cứu thị trường), doanh thu toàn cầu thị trường trò chơi điện tử năm 2017 ướctí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ủangà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ứcvớ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ơigiải trí lớn mạnh không ngừng

Trang 16

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ớitốc độ rất nhanh Với doanh số lớn và sự tăng trưởng nhanh đã góp phần quan trọngvà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áthà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ớidoanh 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áttriể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ổitiế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ệnBiê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ốtlú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 ủ mangtrò 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ộttrong số đó, với trò chơi Flappy Bird của mình trở thành một hiện tượng lúc bấygiờ

Qua đó em muốn đề tài của mình không chỉ phục vụ mục đích làm đồ án tốtnghiệ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ủangườ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ôngnhỏ để 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ậptrì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ướckhởi đầu cho sự nghiệp phát triển trò chơi sau này của mình

Trang 17

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, frameworkJavaFX 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ácbướ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 JamesGosling 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 theothố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

Dưới đây là những đặc điểm khiến Java nằm trong những lựa chọn hàng đầucủ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ăncho 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

Hình 2.1 Danh sách 10 ngôn ngữ lập trình phổ biến nhất năm 2017 [9]

Trang 18

 Độ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ềukhô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ỗisinh ra trong lúc ép kiểu tự động, bừa bãi Trong các môi trường lập trìnhtruyền thống các lập trình viên phải tự mình cấp phát bộ nhớ và giảiphó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 tralỗ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ụngAndroid; ứng dụng Web với Spring MVC; ứng dụng mang tính chất giảitrí 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ệtvờ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ụ đồngthờ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ềunề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, WebBrowser và Media JavaFx là một sự thay thế cho Swing như là thư viện tiêu chuẩn

Trang 19

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ựachọ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êucầ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ậtthể 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ồ đếmngượ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ữngngườ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ạimáy cá nhân Khi người chơi chơi ở chế độ đăng nhập mà có kết nối internetthì đ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ốiinternet đ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

Trang 20

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

 Đă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:

Trang 21

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 Loại Ca sử dụng: Tổng quan

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

Trang 22

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ệ:

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

Trang 23

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

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

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

Trang 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

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ệ:

Trang 25

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

Trang 26

2.2.4 Mô hình cầu trúc

2.2.4.1 Thẻ CRC

Xác định các lớp đối tượng trong hệ thống

Bảng 2.12 Thẻ GameObject

Mô tả : đây là lớp chung cho các đối tượng

Mô tả : đây là những quả bóng mà

người chơi phải click vào để ghi điểm

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Bảng 2.14 Thẻ Bomb

Mô tả : đây là những quả bom nếu

người chơi click vào sẽ mất “mạng”

Số ca sử dụng có liên quan : 1

Trang 27

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Bảng 2.15 Thẻ wall

Mô tả : đây là vật cản làm thay đổi

hướng của ball và bomb

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Bảng 2.16 Thẻ gate

Mô tả : giống như một đường hầm khi ball

và bomb đi vào đầu này sẽ ra đầu khác

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Trang 28

Bảng 2.17 Thẻ storm

Mô tả : là một cơn bão cuốn bay tất cả

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Bảng 2.18 Thẻ resizeObj

Mô tả : thay đổi kích thước của ball, bomb Số ca sử dụng có liên quan : 1

Thuộc tính:

 Icon

 Kind

Quan hệ:

 Quan hệ kế thừa: GameObjects

 Quan hệ thu nạp: PlayScreen

Bảng 2.19 Thẻ sound

Mô tả : phát âm thanh mp3 Số ca sử dụng có liên quan : 1

Thuộc tính:

 path

Trang 29

Quan hệ:

 Quan hệ kế thừa:

 Quan hệ thu nạp: Bomb, Ball

Bảng 2.20 Thẻ GameBall

Mô tả : phát âm thanh mp3 Số ca sử dụng có liên quan : 10

Mô tả : phát nhạc nền cho trò chơi Số ca sử dụng có liên quan : 10

Mô tả : là người chơi trò chơi Số ca sử dụng có liên quan : 10

Trang 30

Bảng 2.23 Thẻ GameConnection

Mô tả : kết nối trò chơi với cơ sở dữ liệu Số ca sử dụng có liên quan : 4

Trang 31

2.2.4.3 Sơ đồ đối tượng

Hình 2.5: Sơ đồ đối tượng

Trang 32

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

Hình 2.6 Sơ đồ tuần tự của hoạt động đăng ký

Hình 2.7 Sơ đồ tuần tự của hoạt động đăng nhập

Trang 33

Hình 2.8 Sơ đồ tuần tự của hoạt động chơi không đăng nhập

Hình 2.9 Sơ đồ tuần tự của hoạt động hướng dẫn chơi

Trang 34

Hình 2.10 Sơ đồ tuần tự của hoạt động bật/tắt âm thanh

Hình 2.11 Sơ đồ tuần tự của hoạt động xem điểm số

Trang 35

Hình 2.12 Sơ đồ tuần tự của hoạt động chọn màn chơi

Hình 2.13 Sơ đồ tuần tự của hoạt động chơi

Trang 36

 setLocation(int x, int y): di chuyển vị trí của vật thể trên màn hình.

 changeIcon(String path): thay đổi hình ảnh của vật thể

 detectCollision(GameObject obj): phát hiện sự va chạm giữa 2 vật thể

Trang 38

 installObject( ): nạp vật thể lên màn hình theo màn chơi đã chọn.

 motion( ): tạo chuyển động cho tất cả vật thể

 timeStart( ): tạo đồng hồ đếm ngược

 reset( ): khởi tạo lại mọi giá trị về ban đầu

 start( ): bắt đầu hoạt động của vật thể, đồng hồ

 register(String username, String password, String email): tạo mới tài khoản

 login(String username, String password): đăng nhập

 update(int score): cập nhật điểm số

Ngày đăng: 17/02/2019, 23:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w