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

Xây dựng game học tiếng anh trên android

233 11 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 233
Dung lượng 8,59 MB

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

Nội dung

Chương 4: Thiết kế giao diện và xử lý - Thiết kế giao diện của ứng dụng Android và Winform - Mô tả xử lý bên trong các giao diện 5.. Kiểm thử màn hình Chơi game .... Kiểm thử màn hình

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

SVTH: NGUYỄN PHI KHÁNH MSSV: 15110232

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN PHI KHÁNH NGUYỄN MẠNH CƯỜNG : 15110174

: 15110232

Trang 3

ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM

****** *******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên Sinh viên 1 : Nguyễn Mạnh Cường MSSV 1: 15110174 Họ và tên Sinh viên 2 : Nguyễn Phi Khánh MSSV 2: 15110232 Ngành: Công nghệ Thông tin Tên đề tài: XÂY DỰNG GAME HỌC TIẾNG ANH TRÊN ANDROID Họ và tên Giáo viên hướng dẫn: Mai Tuấn Khôi NHẬN XÉT 1 Về nội dung đề tài khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm

4 Đề nghị cho bảo vệ hay không ?

5 Đánh giá loại :

6 Điểm :

Trang 4

ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM

****** *******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên 1 : Nguyễn Mạnh Cường MSSV 1: 15110174 Họ và tên Sinh viên 2 : Nguyễn Phi Khánh MSSV 2: 15110232 Ngành: Công nghệ Thông tin Tên đề tài: XÂY DỰNG GAME HỌC TIẾNG ANH TRÊN ANDROID Họ và tên Giáo viên phản biện: Nguyễn Trần Thi Văn NHẬN XÉT 1 Về nội dung đề tài khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm

4 Đề nghị cho bảo vệ hay không ? 5 Đánh giá loại : 6 Điểm : Tp Hồ Chí Minh, ngày 3 tháng 1 năm 2019 Giáo viên phản biện (Ký & ghi rõ họ tên)

Trang 5

LỜI CẢM ƠN

Em xin chân thành cảm ơn khoa Công nghệ Thông tin trường Đại học Sư phạm Kỹ thuật TP.HCM cùng tất cả các thầy giáo, cô giáo đã tận tình giảng dạy và giúp đỡ chúng em trong suốt quá trình học tập, nghiên cứu Đặc biệt, Em xin bày tỏ lòng biết

ơn sâu sắc đến thầy Mai Tuấn Khôi - người đã trực tiếp giảng dạy và hướng dẫn tạo mọi điều kiện thuận lợi giúp đỡ em trong quá trình thực hiện đề tài Những vốn kiến thức được tiếp thu trong quá trình hưỡng dẫn và giúp đỡ của thầy không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang quý báu để em bước vào đời một cách vững vàng và tự tin hơn

Em cũng xin chân thành cảm ơn bạn bè của em đang học cùng với em đã luôn động viên, khích lệ và tạo điều kiện giúp đỡ em trong suốt quá trình thực hiện để em có thể hoàn thành bài khóa luận tốt nghiệp một cách tốt nhất

Tuy nhóm đã có nhiều cố gắng, nhưng chắc chắn khóa luận của chúng em còn có rất nhiều thiếu sót Rất mong nhận được sự góp ý của thầy giáo, cô giáo và các bạn Cuối cùng em kính chúc quý thầy, cô trong Khoa Công nghệ Thông tin cũng như trong Trường Đại học Sư phạm Kỹ thuật TP.HCM dồi dào sức khỏe và thành công trong sự nghiệp cao quý của mình

Trang 6

Trường ĐH Sư Phạm Kỹ Thuật TP.HCM

Khoa : CNTT

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP

Họ và Tên SV thực hiện 1 : Nguyễn Mạnh Cường Mã Số SV : 15110174

Họ và Tên SV thực hiện 2 : Nguyễn Phi Khánh Mã Số SV : 15110232 Thời gian làm luận văn : từ : 05/03/2019 Đến : 14/07/2019 Chuyên ngành : Công nghệ phần mềm

Tên luận văn :Xây dựng game học tiếng anh trên Android

GV hướng dẫn : ThS Mai Tuấn Khôi

Nhiệm Vụ Của Luận Văn :

1 Tìm hiểu về lập trình Android sử dụng ngôn ngữ Java

2 Tìm hiểu và sử dụng nền tảng Firebase cho ứng dụng Android

3 Sử dụng Facebook Login SDK cho ứng dụng Android

4 Tìm hiểu Node.js và thư viện Socket.io để xây dựng server, xử lý thời gian thực và giao tiếp hai chiều giữa server và client

5 Tìm hiểu thư viện JavaFX để xây dựng ứng dụng Winform quản lý

6 Thực hiện theo các yêu cầu Use case của nhóm đã phân tích

7 Thiết kế giao diện ứng dụng Android và Winform

8 Code xử lý các yêu cầu Use case ứng với từng giao diện

9 Kiểm thử ứng dụng Android và Winform

10 Báo cáo đầy đủ các phần nội dung và trình bày theo yêu cầu của Khoa

11 Gặp và nộp đầy đủ các yêu cầu theo thông báo của Khoa và yêu cầu của giáo viên hướng dẫn

Trang 7

Đề cương viết luận văn:

2.2 Mô tả công việc

3 Chương 3: Phân tích yêu cầu và thiết kế cơ sở dữ liệu 3.1 Mô hình hóa yêu cầu

3.2 Lược đồ ERD

3.3 Bảng mô tả thuộc tính

4 Chương 4: Thiết kế giao diện và xử lý

- Thiết kế giao diện của ứng dụng Android và Winform

- Mô tả xử lý bên trong các giao diện

5 Chương 5: Cài đặt

5.1 Ngôn ngữ lập trình

5.2 Sơ đồ lớp

6 Chương 6: Kiểm thử

Trang 8

4 Tài liệu tham khảo

[1] Bài viết “60+ Smartphone Statistics in 2019”: tác giả Deyan G, ngày đăng: ngày

28 tháng 3 năm 2019 Đường dẫn tới bài viết:

[7] Bài viết “Java Advantages and Disadvantages”: tác giả ADMIN, ngày đăng: ngày

23 tháng 7 năm 2015 Đường dẫn tới bài viết: advantages-and-disadvantages/

https://www.mindsmapped.com/java-[8] Bài viết “JAVAFX LÀ GÌ? GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH JAVAFX”: tác giả admin, ngày đăng: ngày 30 tháng 10 năm 2018 Đường dẫn tới bài viết:

https://teamvietdev.com/javafx-la-gi-gioi-thieu-ngon-ngu-lap-trinh-javafx/

[9] Bài viết “NodeJS là gì?”: tác giả TheHalfHeart, ngày đăng: ngày 23 tháng 2 năm

2016 Đường dẫn tới bài viết: https://freetuts.net/nodejs-la-gi-584.html

[10] Bài viết “Socket.IO”: nguồn Wikipedia Đường dẫn tới bài viết:

https://en.wikipedia.org/wiki/Socket.IO?fbclid=IwAR1cnSQZzTl6X9JPBg8UJANcp_tR_Ctum7d1xFr-hZKAzrgs68gQdB9HHy4

Trang 9

KẾ HOẠCH THỰC HIỆN

1 5/3 – 10/3 - Gặp giảng viên hướng dẫn nhận yêu cầu

- Xác định tính cấp thiết, mục tiêu và kết cấu

- Khảo sát và phân tích hiện trạng

- Lập danh sách nhiệm vụ theo tuần và thời gian thực hiện

2 11/3 – 17/3 - Xác định yêu cầu, mô tả công việc

- Phác họa biểu mẫu

- Cài đặt các công cụ cần thiết, thiết lập môi trường

3 18/3 – 24/3 - Xác định yêu cầu, mô tả công việc

- Phác họa biểu mẫu

- Tìm hiểu lập trình Android sử dụng ngôn ngữ Java

- Tìm hiểu JavaFX

4 25/3 – 31/3 - Thiết kế giao diện ứng dụng Android

- Tìm hiểu Firebase

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

5 1/4 -7/4 - Thiết kế giao diện ứng dụng Android

- Viết thuật toán tìm bộ từ

- Code chức năng chơi game

6 8/4 – 14/4 - Áp dụng Firebase vào trong Ứng dụng

- Code chức năng chơi game

- Code chứ năng cài đặt, đăng nhập facebook

Trang 10

9 29/4 – 5/5 - Code chức năng chơi game online

- Chỉnh sửa giao diện

- Code các chức năng trong phần cài đặt của ứng dụng Android

10 6/5 – 12/5 - Xây dựng server sử dụng Socket.io và NodeJS của

ứng dụng

- Code chức năng chơi game online

- Code chức năng thông báo, ngôn ngữ của ứng dụng Android

- Code chức năng quản lý tài khoản của ứng dụng Wiform

11 13/5 – 19/5 - Thiết kế giao diện, code chức năng xem nghĩa của

đáp án của ứng dụng Android

- Thiết kế giao diện, code chức năng quản lý nghĩa của ứng dụng Winfrom

- Chỉnh sửa các lỗi ở ứng dụng Android và Winfrom

12 20/5 – 26/5 - Code chức năng chơi game online của ứng dụng

Android

- Chỉnh sửa giao diện ứng dụng Android

- Chỉnh sửa server của ứng dụng

13 17/5 – 2/6 - Code chức năng quản lý thông báo của ứng dụng

Winform

- Sửa lỗi ở ứng dụng Winform

- Code chức năng thông báo của ứng dụng Android

- Sửa lỗi giao diện của ứng dụng Android

14 3/6 – 9/6 - Kiểm thử ứng dụng Winform

- Sửa lỗi ứng dụng Winform

- Sửa lỗi ứng dụng Android

15 10/6 – 16/6 - Kiểm thử Ứng dụng Android

- Sửa lỗi ứng dụng Android

- Chỉnh sửa theo yêu cầu

- Chỉnh sửa giao diện hai ứng dụng

Trang 11

16 17/6 – 23/6 - Kiểm thử ứng dụng Android

- Sửa lỗi ứng dụng Android

- Chuẩn bị bài thuyết trình

17 24/6 – 20/6 - Hoàn thiện báo cáo

- Hoàn thiện bài thuyết trình

- Kiểm thử, sửa lỗi ứng dụng Android và Winform

18 1/7 – 7/7 - Chuẩn bị các yêu cầu từ Khoa, chỉnh sửa báo cáo

- Quay video demo

- Kiểm thử, sửa lỗi ứng dụng Android và Winform

19 8/7 – 14/7 - Chỉnh sửa báo cáo

- Kiểm thử ứng dụng, chỉnh sửa các lỗi của ứng dụng Android

- Chỉnh sửa theo yêu cầu

Ngày tháng năm 2019

Người viết đề cương

Trang 12

MỤC LỤC

PHẦN MỞ ĐẦU 1

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1

2 MỤC TIÊU 1

3 KẾT CẤU 2

PHẦN NỘI DUNG 3

CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG 3

1.1 HIỆN TRẠNG 3

1.2 KHẢO SÁT 3

1.2.1 Game Pressed For Words [3] 3

1.2.2 Game English Guess the Phrase [4] 6

1.2.3 Game Guess Hidden Word [5] 8

1.2.4 Game Let’s Guess A Word [6] 11

CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU 14

2.1 USE CASE DIAGRAM 14

2.2 MÔ TẢ CÔNG VIỆC 16

2.2.1 User 16

2.2.2 Admin 29

CHƯƠNG 3: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 36

3.1 MÔ HÌNH HÓA YÊU CẦU 36

3.1.1 Nghiệp vụ Đăng nhập Facebook 36

3.1.2 Nghiệp vụ Đăng xuất 39

3.1.3 Nghiệp vụ Chơi game 40

3.1.4 Nghiệp vụ Xem xếp hạng tổng điểm 45

3.1.5 Nghiệp vụ Xem xếp hạng màn chơi 46

3.1.6 Nghiệp vụ Xem đáp án 48

Trang 13

3.1.8 Nghiệp vụ Xem hướng dẫn chơi game 51

3.1.9 Nghiệp vụ Cài đặt âm thanh 53

3.1.10 Nghiệp vụ Cài đặt ngôn ngữ 55

3.1.11 Nghiệp vụ Sửa thông tin cá nhân 56

3.1.12 Nghiệp vụ Xem thông báo 58

3.1.13 Nghiệp vụ Đăng nhập admin 60

3.1.14 Nghiệp vụ Sửa thời gian màn game 63

3.1.15 Nghiệp vụ Xóa màn game 64

3.1.16 Nghiệp vụ Tìm kiếm màn game 66

3.1.17 Nghiệp vụ Tìm kiếm User 67

3.1.18 Nghiệp vụ Xóa User 69

3.1.19 Nghiệp vụ Đổi mật khẩu 70

3.1.20 Nghiệp vụ Thêm thông báo 72

3.1.21 Nghiệp vụ Xóa thông báo 73

3.1.22 Nghiệp vụ Tìm kiếm thông báo 75

3.1.23 Nghiệp vụ Tham gia sảnh chờ 76

3.1.24 Nghiệp vụ Chơi game online 79

3.1.25 Nghiệp vụ Tạo bàn 81

3.1.26 Nghiệp vụ Tham gia bàn có sẵn 82

3.1.27 Nghiệp vụ Mời bạn 84

3.1.28 Nghiệp vụ Chơi lại game mới 85

Trang 14

3.3 BẢNG MÔ TẢ THUỘC TÍNH 92

3.3.1 SQLite 92

3.3.2 Firebase 93

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 97

4.1 MÀN HÌNH MAIN MENU 101

4.2 MÀN HÌNH CHƠI GAME 103

4.3 MÀN HÌNH ĐĂNG NHẬP FACEBOOK 106

4.4 MÀN HÌNH TẠM DỪNG CHƠI 111

4.5 MÀN HÌNH XEM KẾT QUẢ 113

4.6 MÀN HÌNH XEM BẢNG XẾP HẠNG 115

4.7 MÀN HÌNH XEM LẠI ĐÁP ÁN 117

4.8 MÀN HÌNH CÀI ĐẶT 118

4.9 MÀN HÌNH XEM THÔNG BÁO 121

4.10 MÀN HÌNH SỬA THÔNG TIN CÁ NHÂN 123

4.11 MÀN HÌNH ĐĂNG NHẬP ADMIN 125

4.12 MÀN HÌNH QUẢN LÝ USER 126

4.13 MÀN HÌNH ĐỔI MẬT KHẨU 132

4.14 MÀN HÌNH QUẢN LÝ THÔNG BÁO 134

4.15 MÀN HÌNH QUẢN LÝ DỮ LIỆU GAME 136

4.16 MÀN HÌNH THAM GIA SẢNH CHỜ 139

4.17 MÀN HÌNH TẠO BÀN VÀ THAM GIA BÀN 141

4.18 MÀN HÌNH MỜI BẠN 142

4.19 MÀN HÌNH CHƠI GAME ONLINE 144

4.20 MÀN HÌNH XEM KẾT QUẢ 148

4.21 MÀN HÌNH CHỈNH SỬA TỪ VỰNG 149

4.22 MÀN HÌNH XEM NGHĨA TỪ VỰNG 151

Trang 15

5.1 NGÔN NGỮ LẬP TRÌNH 153

5.1.1 Ngôn ngữ Java [7] 153

5.1.2 Thư viện JavaFX [8] 153

5.1.3 Node.js và Socket.io 154

5.2 SƠ ĐỒ LỚP 155

5.2.1 Sơ đồ lớp cho ứng dụng quản lý 155

5.2.2 Sơ đồ lớp cho ứng dụng Android 162

CHƯƠNG 6: KIỂM THỬ 190

6.1 KIỂM THỬ ỨNG DỤNG GAME 190

6.1.1 Kiểm thử màn hình Main menu 190

6.1.2 Kiểm thử màn hình Chơi game 191

6.1.3 Kiểm thử Màn hình Tạm dừng chơi 193

6.1.4 Kiểm thử màn hình Cài đặt 195

6.1.5 Kiểm thử màn hình Tham gia sảnh chờ 197

6.1.6 Kiểm thử màn hình chơi game online 198

6.2 KIỂM THỬ ỨNG DỤNG ADMIN 199

6.2.1 Kiểm thử Đăng nhập 199

6.2.2 Kiểm thử Đổi mật khẩu 200

6.2.3 Kiểm thử màn hình Quản lý User 201

6.2.4 Kiểm thử màn hình Quản lý dữ liệu game 202

6.2.5 Kiểm thử màn hình Quản lý thông báo 204

Trang 16

DANH MỤC BẢNG

Bảng 2.1: Bảng yêu cầu chức năng nghiệp vụ của User 16

Bảng 2.2: Bảng quy định / công thức liên quan của User 17

Bảng 2.3: Bảng yêu cầu chức năng nghiệp vụ của Admin 29

Bảng 2.4: Bảng quy định / công thức liên quan của Admin 30

Bảng 3.1: Bảng mô tả thuộc tính bảng table_user_info 92

Bảng 3.2: Bảng mô tả thuộc tính bảng table_user_config 92

Bảng 3.3: Bảng mô tả thuộc tính bảng table_game_data 93

Bảng 3.4: Bảng mô tả thuộc tính node user 94

Bảng 3.5: Bảng mô tả thuộc tính node gameData 95

Bảng 3.6: Bảng mô tả thuộc tính node ranking 96

Bảng 4.1: Các đối tƣợng trong giao diện Main menu 101

Bảng 4.2: Mô tả xử lý trong giao diện Main Menu 102

Bảng 4.3: Các đối tƣợng trong giao diện Chơi game 103

Bảng 4.4: Mô tả xử lý trong giao diện Chơi Game 104

Bảng 4.5: Các đối tƣợng trong giao diện Đi đến đăng nhập Facebook 106

Bảng 4.6: Các đối tƣợng trong giao diện Đăng nhập Facebook 107

Bảng 4.7: Các đối tƣợng trong giao diện Chọn tiếp tục đăng nhập Facebook 108

Bảng 4.8: Các đối tƣợng trong giao diện Chọn khôi phục đăng nhập Facebook 109

Bảng 4.9: Mô tả xử lý trong giao diện Đăng nhập Facebook 109

Bảng 4.10: Các đối tƣợng trong giao diện Tạm dừng chơi 111

Bảng 4.11: Mô tả xử lý trong giao diện Tạm dừng chơi 112

Bảng 4.12: Các thành phần trong giao diện Xem kết quả 113

Bảng 4.13: Mô tả xử lý trong giao diện Xem kết quả 114

Bảng 4.14: Các thành phần trong giao diện Xem bảng xếp hạng 115

Bảng 4.15: Mô tả xử lý trong giao diện Xem bảng xếp hạng 116

Bảng 4.16: Các thành phần trong giao diện Xem lại đáp án 117

Bảng 4.17: Mô tả xử lý trong giao diện Xem lại đáp án 118

Bảng 4.18: Các thành phần trong giao diện Cài đặt 119

Bảng 4.19: Mô tả xử lý trong giao diện Cài đặt 120

Bảng 4.20: Các thành phần trong giao diện Xem thông báo 121

Trang 17

Bảng 4.21: Các thành phần trong giao diện Xem chi tiết thông báo 122

Bảng 4.22: Mô tả xử lý trong giao diện Xem thông báo 122

Bảng 4.23: Các thành phần trong giao diện Sửa thông tin cá nhân 124

Bảng 4.24: Mô tả xử lý trong giao diện Sửa thông tin cá nhân 124

Bảng 4.25: Các thành phần trong giao diện Đăng nhập admin 125

Bảng 4.26: Mô tả xử lý trong giao diện Đăng nhập admin 126

Bảng 4.27: Các thành phần trong giao diện Quản lý User 128

Bảng 4.28: Các thành phần trong giao diện Chọn cột cần lọc dữ liệu 130

Bảng 4.29: Mô tả xử lý trong giao diện Quản lý User 130

Bảng 4.30: Các thành phần trong giao diện Đổi mật khẩu 133

Bảng 4.31: Mô tả xử lý trong giao diện Đổi mật khẩu 133

Bảng 4.32: Các thành phần trong giao diện Quản lý thông báo 134

Bảng 4.33: Mô tả xử lý trong giao diện Quản lý thông báo 135

Bảng 4.34: Các thành phần giao diện Quản lý dữ liệu game 137

Bảng 4.35: Mô tả xử lý trong giao diện Quản lý dữ liệu game 138

Bảng 4.36: Các thành phần giao diện Tham gia sảnh chờ 139

Bảng 4.37: Các thành phần giao diện Tham gia sảnh chờ 140

Bảng 4.38: Các thành phần giao diện Tạo bàn và Tham gia bàn 141

Bảng 4.39: Mô tả xử lý trong giao diện Tạo bàn và Tham gia bàn 142

Bảng 4.40: Các thành phần giao diện Mời bạn 143

Bảng 4.41: Mô tả xử lý trong giao diện Mời bạn 143

Bảng 4.42: Các thành phần giao diện Chơi game online 144

Bảng 4.43: Mô tả xử lý trong giao diện chơi game online 145

Bảng 4.44: Các thành phần giao diện Xem kết quả 148

Bảng 4.45: Mô tả xử lý trong giao diện Xem kết quả 149

Trang 18

Bảng 5.4: Mô tả các phương thức trong package Activities 167

Bảng 5.5: Mô tả các thuộc tính trong package Daos 171

Bảng 5.6: Mô tả các phương thức trong package Daos 173

Bảng 5.7: Mô tả các thuộc tính trong package Models 175

Bảng 5.8: Mô tả các phương thức trong package Models 176

Bảng 5.9: Mô tả thuộc tính trong package Utils 177

Bảng 5.10: Mô tả các phương thức trong package Utils 177

Bảng 5.11: Mô tả các thuộc tính trong package View 178

Bảng 5.12: Mô tả các phương thức trong package View 180

Bảng 5.13: Mô tả thuộc tính trong module chơi online 184

Bảng 5.14: Mô tả các lớp trong sơ đồ gói ứng dụng Android 189

Bảng 6.1: Test case màn hình Main menu 190

Bảng 6.2: Test case màn hình Chơi game 191

Bảng 6.3: Test case màn hình Tạm dừng chơi 193

Bảng 6.4: Test case màn hình Cài đặt 195

Bảng 6.5: Test case màn hình Tham gia sảnh chờ 197

Bảng 6.6: Kiểm thử màn hình Chơi game online 198

Bảng 6.7: Test case chức năng Đăng nhập 199

Bảng 6.8: Test case chức năng Đổi mật khẩu 200

Bảng 6.9: Test case màn hình Quản lý User 201

Bảng 6.10: Test case màn hình Quản lý dữ liệu game 202

Bảng 6.11: Test case màn hình Quản lý thông báo 204

Trang 19

DANH MỤC HÌNH ẢNH

Hình 1.1: Màn hình chính game Press For Words 3

Hình 1.2: Màn hình chơi game Press For Words 4

Hình 1.3: Màn hình kết thúc game Press For Words 4

Hình 1.4: Màn hình tạm dừng game Press For Words 5

Hình 1.5: Màn hình chính game English Guess the Phrase 6

Hình 1.6: Màn hình chơi game English Guess the Phrase 6

Hình 1.7: Màn hình kết thúc game English Guess the Phrase 7

Hình 1.8: Màn hình cài đặt game English Guess the Phrase 7

Hình 1.9: Màn hình chính game Guess Hidden Word 8

Hình 1.10: Màn hình chọn màn game Guess Hidden Word 9

Hình 1.11: Màn hình chơi game Guess Hidden Word 9

Hình 1.12: Màn hình kết thúc game Guess Hidden Word 10

Hình 1.13: Màn hình cài đặt game Guess Hidden Word 10

Hình 1.14: Màn hình chính game Let’s Guess A Word 11

Hình 1.15: Màn hình chọn chế độ chơi game Let’s Guess A Word 12

Hình 1.16: Màn hình chọn màn chơi game Let’s Guess A Word 12

Hình 1.17: Màn hình chơi game Let’s Guess A Word 13

Hình 1.18: Màn hình kết thúc màn game Let’s Guess A Word 13

Hình 2.1: Sơ đồ Use case ứng dụng 14

Hình 2.2: Sơ đồ Use case Chơi game online 15

Hình 2.3: Biểu mẫu Đăng nhập bằng Facebook 23

Hình 2.4: Biểu mẫu Chơi game 24

Hình 2.5: Biểu mẫu Tạm dừng chơi 24

Hình 2.6: Biểu mẫu Xem kết quả chơi 25

Trang 20

Hình 2.14: Biểu mẫu bàn chờ 29

Hình 2.15: Biểu mẫu Đăng nhập admin 33

Hình 2.16: Biểu mẫu Quản lý User 33

Hình 2.17: Biểu mẫu Quản lý dữ liệu game 34

Hình 2.18: Biểu mẫu Quản lý thông báo 34

Hình 2.19: Biểu mẫu Đổi mật khẩu 35

Hình 2.20: Biểu mẫu Xác nhận 35

Hình 3.1: Sơ đồ luồng dữ liệu nghiệp vụ Đăng nhập Facebook 36

Hình 3.2: Lƣợc đồ tuần tự nghiệp vụ Đăng nhập Facebook 37

Hình 3.3: Node User với tính đúng đắn 38

Hình 3.4: Bảng thông tin User với tính đúng đắn 38

Hình 3.5: Node User với tính tiến hóa 38

Hình 3.6: Bảng thông tin User với tính tiến hóa 39

Hình 3.7: Sơ đồ logic với node User 39

Hình 3.8: Sơ đồ logic với bảng thông tin User 39

Hình 3.9: Sơ đồ luồng dữ liệu nghiệp vụ Đăng xuất 39

Hình 3.10: Lƣợc đồ tuần tự nghiệp vụ Đăng xuất 40

Hình 3.11: Sơ đồ luồng dữ liệu nghiệp vụ Chơi game 40

Hình 3.12: Lƣợc đồ tuần tự nghiệp vụ Chơi game 42

Hình 3.13: Node ranking và node gameData với tính đúng đắn 43

Hình 3.14: Bảng dữ liệu game với tính đúng đắn 43

Hình 3.15: Node ranking và node gameData với tính tiến hóa 44

Hình 3.16: Bảng dữ liệu game với tính tiến hóa 44

Hình 3.17: Sơ đồ logic với node ranking và gameData 44

Hình 3.18: Sơ đồ logic với bảng dữ liệu game 44

Hình 3.19: Sơ đồ luồng dữ liệu nghiệp vụ Xem xếp hạng tổng điểm 45

Hình 3.20: Lƣợc đồ tuần tự nghiệp vụ Xem xếp hạng tổng điểm 46

Hình 3.21: Sơ đồ luồng dữ liệu Nghiệp vụ Xem xếp hạng màn chơi 46

Hình 3.22: Lƣợc đồ tuần tự nghiệp vụ Xem xếp hạng màn chơi 47

Hình 3.23: Sơ đồ luồng dữ liệu nghiệp vụ Xem đáp án 48

Hình 3.24: Lƣợc đồ tuần tự Xem đáp án từ danh sách xếp hạng 49

Hình 3.25: Lƣợc đồ tuần tự Xem đáp án của mình sau khi chơi 49

Trang 21

Hình 3.26: Sơ đồ luồng dữ liệu Nghiệp vụ Tạm dừng 50

Hình 3.27: Lược đồ tuần tự nghiệp vụ Tạm dừng 51

Hình 3.28: Sơ đồ luồng dữ liệu nghiệp vụ Xem hướng dẫn chơi game 51

Hình 3.29: Lược đồ tuần tự nghiệp vụ Xem hướng dẫn chơi game 52

Hình 3.30: Sơ đồ luồng dữ liệu nghiệp vụ Cài đặt âm thanh 53

Hình 3.31: Sơ đồ tuần tự nghiệp vụ Cài đặt âm thanh 54

Hình 3.32: Bảng cài đặt âm thanh với tính đúng đắn 54

Hình 3.33: Bảng cài đặt âm thanh với tính tiến hóa 55

Hình 3.34: Sơ đồ logic với bảng cài đặt âm thanh 55

Hình 3.35: Sơ đồ luồng dữ liệu nghiệp vụ Cài đặt ngôn ngữ 55

Hình 3.36: Lược đồ tuần tự nghiệp vụ Cài đặt ngôn ngữ 56

Hình 3.37: Sơ đồ luồng dữ liệu nghiệp vụ Sửa thông tin cá nhân 56

Hình 3.38: Lược đồ tuần tự nghiệp vụ sửa thông tin cá nhân 57

Hình 3.39: Sơ đồ luồng dữ liệu nghiệp vụ Xem thông báo 58

Hình 3.40: Lược đồ tuần tự nghiệp vụ Xem thông báo 59

Hình 3.41: Node notifications với tính đúng đắn 59

Hình 3.42: Node notifications với tính tiến hóa 60

Hình 3.43: Sơ đồ logic với node notifications 60

Hình 3.44: Sơ đồ luồng dữ liệu nghiệp vụ Đăng nhập admin 60

Hình 3.45: Lược đồ tuần tự nghiệp vụ Đăng nhập admin 61

Hình 3.46: Node admin với tính đúng đắn 62

Hình 3.47: Node admin với tính tiến hóa 62

Hình 3.48: Sơ đồ logic với node admin 62

Hình 3.49: Sơ đồ luồng dữ liệu nghiệp vụ Sửa thời gian màn game 63

Hình 3.50: Lược đồ tuần tự nghiệp vụ Sửa thời gian màn game 64

Trang 22

Hình 3.58: Lược đồ tuần tự nghiệp vụ Xóa User 70 Hình 3.59: Sơ đồ luồng dữ liệu nghiệp vụ Đổi mật khẩu 70 Hình 3.60: Lược đồ tuần tự nghiệp vụ Đổi mật khẩu 71 Hình 3.61: Sơ đồ luồng dữ liệu Thêm thông báo 72 Hình 3.62: Lược đồ tuần tự nghiệp vụ Thêm thông báo 73 Hình 3.63: Sơ đồ luồng dữ liệu nghiệp vụ Xóa thông báo 73 Hình 3.64: Lược đồ tuần tự nghiệp vụ Xóa thông báo 74 Hình 3.65: Sơ đồ luồng dữ liệu nghiệp vụ Tìm kiếm thông báo 75 Hình 3.66: Lược đồ tuần tự nghiệp vụ Tìm kiếm thông báo 76 Hình 3.67: Sơ đồ luồng dữ liệu nghiệp vụ Tham gia sảnh chờ 76 Hình 3.68: Lượt đồ tuần tự nghiệp vụ Tham gia sảnh chờ 77 Hình 3.69: Sơ đồ luồng dữ liệu nghiệp vụ Chơi game online 79 Hình 3.70: Lược đồ tuần tự nghiệp vụ Chơi game online 80 Hình 3.71: Sơ đồ luồng dữ liệu nghiệp vụ Tạo bàn 81 Hình 3.72: Lược đồ tuần tự nghiệp vụ Tạo bàn 82 Hình 3.73: Sơ đồ luồng dữ liệu nghiệp vụ Tham gia bàn có sẵn 83 Hình 3.74: Lược đồ tuần tự nghiệp vụ Tham gia bàn có sẵn 83 Hình 3.75: Sơ đồ luồng dữ liệu nghiệp vụ Mời bạn 84 Hình 3.76: Sơ đồ luồng dữ liệu nghiệp vụ Mời bạn 85 Hình 3.77: Sơ đồ luồng dữ liệu nghiệp vụ Chơi lại game mới 85 Hình 3.78: Lược đồ tuần tự nghiệp vụ Chơi lại game mới 86 Hình 3.79: Sơ đồ luồng dữ liệu nghiệp vụ Xem tiến độ của người chơi khác 87 Hình 3.80: Sơ đồ luồng dữ liệu nghiệp vụ Xem tiến độ của người chơi khác 88 Hình 3.81: Sơ đồ luồng dữ liệu nghiệp vụ Xem nghĩa của đáp án 88 Hình 3.82: Lược đồ tuần tự nghiệp vụ Xem nghĩa của đáp án 89 Hình 3.83: Lược đồ ERD cho SQLite 91 Hình 3.84: Lược đồ ERD tượng trưng cho Firebase 91 Hình 3.85: Cấu trúc mẫu node users 93 Hình 3.86: Cấu trúc mẫu của node gameData 95 Hình 3.87: Cấu trúc mẫu node ranking 96 Hình 4.1: Giao diện Main menu 101 Hình 4.2: Giao diện Chơi Game 103

Trang 23

Hình 4.3: Giao diện Đi đến đăng nhập Facebook 106 Hình 4.4: Giao diện Đăng nhập Facebook 107 Hình 4.5: Giao diện Chọn tiếp tục đăng nhập Facebook 108 Hình 4.6: Giao diện Chọn khôi phục đăng nhập Facebook 109 Hình 4.7: Giao diện Tạm dừng chơi 111 Hình 4.8: Giao diện Xem kết quả 113 Hình 4.9: Giao diện Xem bảng xếp hạng 115 Hình 4.10: Giao diện Xem lại đáp án 117 Hình 4.11: Giao diện Cài đặt 118 Hình 4.12: Giao diện Xem thông báo 121 Hình 4.13: Giao diện Xem chi tiết thông báo 122 Hình 4.14: Giao diện Sửa thông tin cá nhân 123 Hình 4.15: Giao diện Đăng nhập admin 125 Hình 4.16: Giao diện Quản lý User 126 Hình 4.17: Giao diện tìm User với điều kiện khoản số 127 Hình 4.18: Giao diện tìm User với điều kiện khoản ngày 127 Hình 4.19: Giao diện chọn cột cần lọc dữ liệu 129 Hình 4.20: Giao diện Đổi mật khẩu 132 Hình 4.21: Giao diện Quản lý thông báo 134 Hình 4.22: Giao diện Quản lý dữ liệu game 136 Hình 4.23: Giao diện Tham gia sảnh chờ 139 Hình 4.24: Giao diện Tạo bàn và Tham gia bàn 141 Hình 4.25: Giao diện Mời bạn 142 Hình 4.26: Giao diện Chơi game online 144 Hình 4.27: Giao diện Xem kết quả 148

Trang 24

Hình 5.6: Sơ đồ lớp package View của ứng dụng Android 178 Hình 5.7: Sơ đồ lớp module chơi online của ứng dụng Android 183 Hình 5.8: Mô tả các phương thức trong module chơi online 187 Hình 5.9: Sơ đồ gói của ứng dụng Android 189

Trang 25

PHẦN MỞ ĐẦU

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Smartphone sử dụng hệ điều hành Android đang phát triển nhanh chóng và trở nên phổ biến trên toàn thế giới Đầu năm 2019, thiết bị sử dụng hệ điều hành Android chiếm 81.7% trong tổng số smartphone [1] Theo phân tích, chơi game là một trong những hành vi phổ biến nhất của người sở hữu Smartphone chỉ xếp sau mạng xã hội và các ứng dụng nhắn tin trực tuyến [2] Mặc khác, tiếng Anh ngày càng trở nên quan trọng trong đời sống xã hội hiện nay và không thể thiếu ở mỗi cá nhân

Nắm bắt được nhu cầu và xu hướng hiện nay, nhóm chúng em quyết định chọn đề tài “Xây dựng game học tiếng anh trên Android” cho khóa luận tốt nghiệp

2 MỤC TIÊU

- Tìm hiểu hững kiến thức liên quan đến đề tài:

 Sử dụng Firebase cho ứng dụng Android

 Sử dụng thư viện JavaFX trong xây dựng ứng dụng Winform

 Sử dụng Facebook Login SDK cho đăng nhập trên ứng dụng Android

 Sử dụng Node.js để xây dựng server cho ứng dụng

 Sử dụng thư viên Socket.io để xử lý thời gian thực và giao tiếp hai chiều giữa server và client của ứng dụng

- Xây dựng dựng game học tiếng Anh trên Android với những chức năng:

 Chơi game bằng cách tìm những từ tiếng Anh với 6 ký tự cho trước

 Chơi online với người chơi khác

 Xem nghĩa các từ tiếng anh có trong đáp án của màn chơi

 Lưu lại kết quả chơi bằng cách đăng nhập Facebook trên ứng dụng

 Xem bảng xếp hạng thành tích và xem đáp án những người chơi khác đã trả lời

Trang 26

 Thay đổi mật khẩu đăng nhập cho mục đích bảo mật

3 KẾT CẤU

Kết cấu khóa luận bao gồm những chương sau:

- Chương 1: Khảo sát hiện trạng

- Chương 2: Xác định yêu cầu

- Chương 3: Pân tích yêu cầu và thiết kế cơ sở dữ liệu

- Chương 4: Thiết kế giao diện và xử lý

- Chương 5: Cài đặt

- Chương 6: Kiểm thử

- Kết luận

Trang 27

PHẦN NỘI DUNG CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG 1.1 HIỆN TRẠNG

Hiện nay, có rất nhiều game hỗ trợ học tiếng anh trên nền tảng Android Các ứng dụng chủ yếu ôn luyện về từ vựng, về khả năng đọc, ghi Các ứng dụng này có cấu trúc đơn giản, dễ thao tác, giao diện thân thiện với người dùng

1.2 KHẢO SÁT

1.2.1 Game Pressed For Words [3]

Hình 1.1: Màn hình chính game Press For Words

Trang 28

Hình 1.2: Màn hình chơi game Press For Words

Hình 1.3: Màn hình kết thúc game Press For Words

Trang 29

Hình 1.4: Màn hình tạm dừng game Press For Words

- Ưu điểm:

+ Giao diện đơn giản, dễ thao tác

+ Có phần cài đặt để người dùng tùy chỉnh các chức năng hệ thống

+ Có bảng xếp hạng, lưu điểm người dùng

+ Có hiển thị kết quả sau khi chơi cho người dùng biết được các chữ tiếng Anh còn thiếu

- Nhược điểm:

+ Phần đồ họa chưa được chú trọng

+ Xem xếp hạng chưa được tích hợp cùng ứng dụng, người dùng phải dùng trình duyệt

Trang 30

1.2.2 Game English Guess the Phrase [4]

Hình 1.5: Màn hình chính game English Guess the Phrase

Hình 1.6: Màn hình chơi game English Guess the Phrase

Trang 31

Hình 1.7: Màn hình kết thúc game English Guess the Phrase

Trang 32

- Ưu điểm:

+ Giao diện đơn giản, màu sắc hài hòa, vừa mắt, dễ thao tác

+ Có phần cài đặt để người dùng tùy chỉnh các chức năng hệ thống

+ Có hiển thị kết quả sau khi chơi cho người dùng biết được các chữ tiếng Anh còn thiếu

+ Độ khó được chia theo nhiều mức

- Nhược điểm:

+ Không giới hạn ký tự nên việc đoán ra được từ khóa của game khá khó + Xem xếp hạng chưa được tích hợp cùng ứng dụng, người dùng phải dùng trình duyệt

+ Không có phần hướng dẫn chơi game

1.2.3 Game Guess Hidden Word [5]

Hình 1.9: Màn hình chính game Guess Hidden Word

Trang 33

Hình 1.10: Màn hình chọn màn game Guess Hidden Word

Trang 34

Hình 1.12: Màn hình kết thúc game Guess Hidden Word

Hình 1.13: Màn hình cài đặt game Guess Hidden Word

Trang 35

- Ưu điểm:

+ Giao diện đơn giản, màu sắc hài hòa, vừa mắt, dễ thao tác

+ Có phần cài đặt để người dùng tùy chỉnh các chức năng hệ thống + Có hướng dẫn chơi game

+ Có hiệu ứng hình ảnh

+ Độ khó được chia theo màn chơi

- Nhược điểm:

+ Không có chức năng xem lại đáp án

+ Không giới hạn về thời gian chơi mỗi màn

1.2.4 Game Let’s Guess A Word [6]

Hình 1.14: Màn hình chính game Let’s Guess A Word

Trang 36

Hình 1.15: Màn hình chọn chế độ chơi game Let’s Guess A Word

Hình 1.16: Màn hình chọn màn chơi game Let’s Guess A Word

Trang 37

Hình 1.17: Màn hình chơi game Let’s Guess A Word

Hình 1.18: Màn hình kết thúc màn game Let’s Guess A Word

- Ưu điểm:

+ Giao diện đơn giản, vừa mắt, dễ thao tác

+ Có hướng dẫn chơi game

+ Có hiệu ứng hình ảnh

Trang 38

CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU 2.1 USE CASE DIAGRAM

Hình 2.1: Sơ đồ Use case ứng dụng

Trang 39

Hình 2.2: Sơ đồ Use case Chơi game online

Trang 40

2.2 MÔ TẢ CÔNG VIỆC

2.2.1 User

2.2.1.1 Bảng yêu cầu chức năng nghiệp vụ

Bảng 2.1: Bảng yêu cầu chức năng nghiệp vụ của User

việc

Quy định / Công thức liên quan

Biểu mẫu liên quan

Ghi chú

1 Đăng nhập bằng

Facebook

Lưu trữ QĐ_User_Login BM_User_Login

3 Chơi game Lưu trữ,

truy xuất, tính toán

QĐ_Play_Game BM_Play_Game

4 Tạm dừng chơi Lưu trữ QĐ_Pause_Game BM_Pause_Game

5 Xem kết quả chơi Lưu trữ,

10 Sửa thông tin cá

nhân

Lưu trữ QĐ_Setting

_Profile

BM_Setting _Profile

Ngày đăng: 27/11/2021, 15:56

w