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

Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL

79 1,9K 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 79
Dung lượng 2,67 MB

Nội dung

Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL Đồ án lập TRÌNH PYTHON TRÊN nền WEBSITE GAMEBALL

Trang 1

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

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

Hà Nội, 6-2018

Chương 1

Trang 2

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

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

Hà Nội, 6-2018

Chương 17

Chương 18

Trang 3

Đánh giá quyển đồ án tốt nghiệp (Dùng cho giảng viên hướng dẫn)

Giảng viê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í: 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ả đạt

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ệ thống 1 2 3 4 5

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

Trang 4

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

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

Đ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: / /201 Người nhận xét

(Ký và ghi rõ họ tên)

Trang 5

Đánh giá quyển đồ án tốt nghiệp (Dùng cho cán bộ phản biện)

Giảng viê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í: 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ả đạt

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ệ thống 1 2 3 4 5

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

Trang 6

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

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

Đ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: / /201 Người nhận xét

(Ký và ghi rõ họ tên)

Trang 7

GVHD: ThS

Trước hết, em xin cảm ơn tất cả các thầy cô giáo trường đại học Bách Khoa

Hà Nội nói chung và các thầy cô của Viện Điện tử - Viễn thông nói riêng đã tận tâm truyền đạt kiến thức cho em trong suốt quãng thời gian em được đi học ở trường Thầy cô đã truyền dạy lại cho em rất nhiều kiến thức nền tảng cơ sở đến những kiến thức chuyên môn hữu ích và cả những kinh nghiệm sâu sắc ngoài đời sống để giúp

đỡ cho chúng em cho cuộc sống sau này

Là sinh viên năm cuối của Viện Điện tử -Viễn thông, Đại Học Bách Khoa

Hà Nội, em nhận thấy mình cần phải phát huy thế mạnh về lĩnh vực lập trình bởi vì hiện nay, công nghệ lập trình phát triển rất nhanh đói hỏi các kỹ sư như em cần nắm bắt nhanh với tư duy lập trình mới, nắm bắt tìm hiểu những ngôn ngữ mới, những thư viện mới, framework mới xuất hiện ngày càng nhiều và có rất nhiều điểm mạnh riêng phù hợp với hầu hết các yêu cầu của các công ty, các đối tác khách hàng Lựa chọn tìm hiểu và ứng dụng trong lập trình ReactJS và Python có tính mới mẻ, tính phổ biến, tính hiệu quả hàng đầu, em quyết định chọn đề tài Đồ án Tốt nghiệp:

“THIẾT KẾ HỆ THỐNG TRÕ CHƠI PHIÊU LƯU BẮN BÓNG BAY BẰNG NGÔN NGỮ LẬP TRÌNH PYTHON TRÊN NỀN WEBSITE GAMEBALL”

Em xin tỏ lòng biết ơn đến thầy giáo ThS đã hỗ trợ cho em trong việc chọn

đề tài cũng như hướng dẫn em trong suốt quá trình thực hiện đồ án tốt nghiệp Em

đã nhận được rất nhiều lời khuyên bổ ích cũng như những kiến thức về chuyên môn đáng quý hỗ trợ để em trong suốt quá trình làm đồ án Đây là những kiến thức sẽ theo em trong suốt quá trình làm việc sau này

Em cũng xin gửi lời cảm ơn chân thành đến các anh chị trong Công ty Cổ phần Đầu tư và Phát triển Koolsoft cung cấp chia sẻ kiến thức, giúp đỡ về chuyên môn cho em làm đồ án cũng như tạo môi trường làm việc khoa học cho em rất nhiều kinh nghiệm quý giá cho công việc tương lai của em

Trong suốt quá trình làm đồ án, dù đã rất cố gắng nhưng vì thời gian có hạn nên sản phẩm chắc chắn sẽ còn những thiếu sót Nên em rất mong nhận được sự góp ý của các thầy cô và các bạn, để em rút ra được những kinh nghiệm cho những sản phẩm sau này của em Em xin chân thành cảm ơn !

LỜI NÓI ĐẦU

Trang 8

GVHD: ThS

Trong thời điểm Công nghệ lập trình phát triển mạnh và vô cùng nhanh chóng như hiện nay, những ngôn ngữ mới, thư viện mới, framework mới xuất hiện ngày càng nhiều và có rất nhiều điểm mạnh riêng đáp ứng hầu hết yêu cầu ngày càng cao của các công ty, các đối tác khách hàng Cuối năm 2017 và đầu năm 2018,

cả Python và React đều nằm trong mọi bảng xếp hạng xu hướng lập trình như được

yêu thích hàng đầu, phổ biến nhất Thế giới, cũng như đáp ứng tốt nhất nhu cầu tuyển dụng Nắm bắt những điểm mạnh vượt trội của chúng, trong Đồ án tốt nghiệp của mình, em đã tìm hiểu về chúng và ứng dụng trong lập trình, cụ thể:

Python trong lập trình Game và ReactJS trong lập trình website gameball

Đồ án của em bao gồm 3 chương, nội dung chính các chương như sau:

Chương 1 sẽ đề cập đến khái niệm, đặc điểm và ứng dụng trong lập trình của Python và ReactJS

Chương 2 trình bày phần triển khai ứng dụng Python để lập trình trò chơi bắn bóng

”Game Ball3”

Chương 3 trình bày triển khai ứng dụng ReactJS để lập trình website về trò chơi

“GameBall3”

Cuối cùng là kết luận, đưa ra những mục tiêu đã và chưa làm được trong hệ

thống, những thuận lợi và khó khăn trong quá trình thực hiện đồ án và hướng

phát triển trong tương lai

TÓM TẮT ĐỒ ÁN

Trang 9

GVHD: ThS

Until now programming technology has grown tremendously and rapidly, today's new languages, new libraries, and new frameworks appear to have more and more strengths that meet most of the requirements high of companies, customer partners By the end of 2017 and early 2018, both Python and React programming languages will be in every rankings as Top programming languages, Top of the most popular languages Grasp the strengths of the above two languages, in my graduation project, I learned about them and application in the programmer, specifically: Python in game programming and ReactJS in website programming

My project includes 3 program, primary content programs as following:

Chapter 1 shows the Python and React with the specific and applications in the programming

Chapter 2 shows implementation of the Python application to set the game:

Trang 10

GVHD: ThS

LỜI NÓI ĐẦU 1

TÓM TẮT ĐỒ ÁN 2

ABSTRACT 3

MỤC LỤC 4

DANH MỤC HÌNH VẼ 6

DANH MỤC BẢNG BIỂU 7

DANH SÁCH CÁC TỪ VIẾT TẮT 8

TÌM HIỂU VỀ PYTHON VÀ REACT 9

CHƯƠNG 1 TÌMHIỂUVỀPYTHON 9

1.1 Lịch sử phát triển 9

1.1.1 Đặc điểm chung 9

1.1.2 Điểm đặc biệt trong cú pháp, quy tắc lập trình 10

1.1.3 Câu lệnh rẽ nhánh 16

1.1.4 Vòng lặp 17

1.1.5 Hàm 18

1.1.6 Lớp (Class) 19

1.1.7 TÌM HIỂU VỀ REACTJS 21

1.2 Khảo sát hiện trạng 21

1.2.1 Giới thiệu chung về ReactJS 21

1.2.2 Đặc điểm chi tiết về ReactJS 25

1.2.3 ỨNG DỤNG PYTHON LẬP TRÌNH TRÕ CHƠI GAMEBALL 3 28 CHƯƠNG 2 Ý tưởng 28

2.1 Giới thiệu sơ lược về thư viện pygame 28

2.2 Phân tích trò chơi 28

2.3 Ý tưởng 28

2.3.1 Xác định rõ yêu cầu 28

2.3.2 Mô hình hóa chức năng 29

2.3.3 Sơ đồ hoạt động của hệ thống (Activity Diagram) 35

2.3.4 Mô hình cầu trúc 36

2.3.5 Mô hình hóa hoạt động 41 2.3.6

MỤC LỤC

Trang 11

GVHD: ThS

Thiết kế trò chơi 45

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

2.4.1 Thuật toán 46

2.5 Phát hiện va chạm 46

2.5.1 Phát hiện click trúng vật thể 47

2.5.2 Giải quyết va chạm 47

2.5.3 Một số hình ảnh của trò chơi 48

2.6 Kết luận 53

2.7 ỨNG DỤNG REACTJS LẬP TRÌNH WEBSITE TRÒ CHƠI CHƯƠNG 3 “GAME BALL3” 54

Ý tưởng thiết kế website cho trò chơi “Game Ball3” 54

3.1 Lý do lựa chọn thư viện ReactJS 54

3.2 Mục tiêu cần đạt được 55

3.3 Yêu cầu phi chức năng 56

3.4 Thiết kế cấu trúc 56

3.5 Lựa chọn cấu trúc phần mềm 56

3.5.1 Kiểm thử 58

3.6 Các bước thiết kế giao diện website 59

3.7 Thiết kế giao diện trang chủ 59

3.7.1 Tạo trang đăng ký, đăng nhập, đổi mật khẩu cho người chơi 62

3.7.2 Thống kê bảng xếp hạng điểm chơi 62

3.7.3 Tạo tính năng bình luận cho người dùng 62

3.7.4 Tính năng tải game cho người dùng 63

3.7.5 Tạo cơ sở dữ liệu cho web 63

3.7.6 Hình ảnh hoàn thiện 64

3.7.7 KẾT LUẬN 66

KẾT LUẬN CHUNG 69

TÀI LIỆU THAM KHẢO 70

BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH 71

PHỤ LỤC 72

Trang 12

GVHD: ThS

Hình 1.1: Virtual DOM 23

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

Hình 2.3: Sơ đồ lớp 39

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

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

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

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

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

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

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

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

Hình 2.13: Menu start game sau run code „main‟ trong Pycharm .48

Hình 2.14: Tính năng đăng ký tạo tài khoản chơi game 48

Hình 2.15: Tính năng đăng nhập tài khoản chơi game .49

Hình 2.16: Menu chọn map .49

Hình 2.17: Map chơi 3 50

Hình 2.18: Map chơi 7 50

Hình 2.19: Map chơi 9 51

Hình 2.20: Điểm của người chơi từng map 52

Hình 2.21: Giao diện code Pycharm 52

Hình 2.22: Giao diện màn hình run code Python 53

Hình 3.1: Giao diện trang chủ hoàn thiện .59

Hình 3.2: Giao diện trang chủ hoàn thiện .60

Hình 3.3: Giao diện trang chủ hoàn thiện .60

Hình 3.4: Giao diện tab tin tức thông báo trên trang chủ 61

Hình 3.5: Giao diện thông tin trang liên kết trang chủ hoàn thiện .61

Hình 3.6: Giao diện footer trang chủ hoàn thiện .61

Hình 3.7: Giao diện modal đăng nhập & đăng ký 62

Hình 3.8: Giao diện box bình luận trên trang chủ hoàn thiện .63

Hình 3.9: Giao diện tab tải game 63

Hình 3.10: Giao diện hoàn thiện 64

Hình 3.11: Giao diện hoàn thiện 64

Hình 3.12: Giao diện hoàn thiện 65

DANH MỤC HÌNH VẼ

Trang 13

GVHD: ThS

Bảng 1.1: Các từ khóa trong Python 10

Bảng 1.2: Biểu thức toán học 11

Bảng 1.3: Danh sách các escape sequence 12

Bảng 2.1 Mô tả đăng ký 30

Bảng 2.2 Mô tả đăng nhập 31

Bảng 2.3 Mô tả chọn màn chơi 31

Bảng 2.4 Mô tả hiển thị điểm số cao 31

Bảng 2.5 Mô tả bật âm thanh 32

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

Bảng 2.7 Mô tả hướng dẫn chơi 32

Bảng 2.8 Mô tả chơi 33

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

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

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

Bảng 2.12 Thẻ Error! Bookmark not defined Bảng 2.13 Thẻ Ball 36

Bảng 2.14 Thẻ Bomb 36

Bảng 2.15 Thẻ wall 37

Bảng 2.17 Thẻ storm 37

Bảng 2.18 Thẻ resizeObj 38

Bảng 3.1: So sánh AngularJS và ReactJS 55

Bảng 3.2: Kiểm thử 58

DANH MỤC BẢNG BIỂU

Trang 14

GVHD: ThS

DANH SÁCH CÁC TỪ VIẾT TẮT

Trang 15

 Code python rất dễ đọc , rõ ràng rành mạch

 Có một thư viện chuẩn rất lớn, đây là một lợi thế không hề nhỏ cho những lập trình viên python Họ có thể tận dụng nguồn thư viện này để phát triển

dự án của mình mà không phải mất công xây dựng thư viện

 Python là một ngôn ngữ thông dịch, thực thi code theo từng dòng nên rất dễ dàng để debug

 Không giống như C là ngôn ngữ hướng cấu trúc Python là một ngôn ngữ hướng đối tượng

 Ngoài ra Python còn hỗ trợ rất nhiều thư viện lập trình GUI (lập trình giao diện người dùng), tương thích với các ngôn ngữ lập trình khác

Chương 1

TÌM HIỂU VỀ PYTHON VÀ REACT

Trang 16

GVHD: ThS

Điểm đặc biệt trong cú pháp, quy tắc lập trình

1.1.3

Biến 1.1.3.1

Biến giúp chúng ta lưu trữ dữ liệu và cho phép lấy các dữ liệu để tính toán Khi một biến được khai báo một vùng nhớ trong bộ nhớ RAM sẽ được dành cho biến

Không giống các ngôn ngữ khác, khi khai báo biến phải có kiểu dữ liệu đi kèm thì Pyhon không cần Nó sẽ tự xác định kiểu dữ liệu của biến Cú pháp khởi tạo:

<tên biến> = <giá trị của biến>

A = 3

Ten = „Dong‟

Cú pháp khởi tạo nhiều biến:

<tên biến thứ nhất>, <tên biến thứ hai>, ,<tên tên biến thứ n> = <giá trị biến thứ nhất>, <giá trị biến thứ hai>, , <giá trị biến thứ n>

a,b,c,d,e = 1,2,3,4,5

*Một chú ý khi đặt tên biến: Không được trùng với từu khóa Dưới đây là danh sách

từ khóa của Python

Bảng 1.1: Các từ khóa trong Python

while with yield

Kiểu dữ liệu 1.1.3.2

Như đã nói ở trên, khi khởi tạo giá trị của biến không cần phải đi kèm với kiểu

dữ liệu Cũng giống như các ngôn ngữ khác python hỗ trợ kiểu dữ liệu số nguyên,

số thực,số phức,phân số,kiểu ký tự,kiểu chuỗi Ngoài ra Python còn định nghĩa thêm các kiểu dữ liệu riêng biệt của chính mình: list, tuple, set, dic

Trang 17

GVHD: ThS

Số nguyên 1.1.3.3

Số nguyên bao gồm các số nguyên dương, số 0 và các số nguyên âm Trong Python, kiểu dữ liệu số nguyên cũng không có gì khác biệt: byte, int, long int

a = -30

Một điểm đáng chú ý trong Python 3.X đó là kiểu dữ liệu số nguyên là vô hạn Ta có thể tính toán với những số cực kỳ lớn mà những ngôn ngữ khác không thể

Các toán tử cơ bản với kiểu dữ liệu số trong Python

Dưới đây là một số biểu thức toán học của kiểu dữ liệu số trong Python

Trang 18

GVHD: ThS

X / Y Thương của X với Y(kết quả là 1 số thực)

Kiểu dữ liệu chuỗi 1.1.3.4

Chuỗi hay string là tập hợp các ký tự Trong python rất linh hoạt, chuỗi có thể đặt trong cặp dấu „ ‟ hoặc “ ” hoặc „„„ ‟‟‟ Nhưng phổ biến nhất là „ ‟và “ ” Cú pháp khai báo 1 chuỗi:

<tên biến>=‟<giá trị chuỗi>‟

Ten = „Dong‟

Khi làm việc với chuỗi ta phải chú ý đến một thứ rất quan trọng đó là Escape Sequence là một chuỗi (chính xác là kí tự) Bắt đầu với một dấu \ Python có rất

nhiều các escape sequence

Bảng 1.3: Danh sách các escape sequence

Các escape sequence có thể làm chuỗi không giống như mong muốn

Ví dụ: ta có một chuỗi „co\n me\o tre\o cay cau‟

Kết quả khi in chuỗi ra màn hình:

co

me\o tre\o cay cau

Vì vậy lúc này Python hỗ trợ một chuỗi gọi là chuỗi trần Cú pháp như sau:

r‟<chuỗi>‟

Trang 19

GVHD: ThS

r„co\n me\o tre\o cay cau‟

Kết quả khi in chuỗi ra màn hình:

co\n me\o tre\o cay cau

Sự thật thì, chuỗi trần không phải bỏ qua các Escape Sequence, mà nó sẽ giúp chúng ta sửa những Escape Sequence đó bằng các thêm \ trước các Escape Sequence

Có một chú ý khi làm việc với chuỗi là ta không thể thay đổi nội dung của chuỗi như

với các ngôn ngữ như Pascal, C, C++ sử dụng phương pháp Indexing

Kiểu dữ liệu List 1.1.3.5

List là một sự thay thế cho mảng ở các ngôn ngữ khác, hơn nữa list linh hoạt

hơn mảng rất nhiều Với một mảng các giá trị trong mảng phải cú cùng kiểu dữ liệu nhưng list thì khác, trong một list có thể có rất nhiều kiểu dữ liệu khác nhau Các đặc điểm của list:

 Giới hạn trong cặp [ ], các phần tử nằm trong [ ] là phần tử của list

 Các phần tử phân cách nhau bởi dấu phẩy

 List có thể chứa mọi giá trị kể cả chính nó

Cách khởi tạo List:

Trang 20

Tuple về cũng là một thay thế cho mảng giống như list Các đặc điểm của tuple:

 Giới hạn trong cặp ( ), các phần tử nằm trong ( ) là phần tử của tuple

 Các phần tử của Tuple được phân cách nhau ra bởi dấu phẩy

 Tuple có khả năng chứa mọi giá trị, cả chính nó

Cách khởi tạo Tuple

Indexing và cắt Tuple hoàn toàn tương tự như với kiểu dữ liệu List

Thay đổi nội dung Tuple trong Python

Việc bạn muốn thay đổi nội dung của tuple trên lí thuyết là không thể

Kiểu dữ liệu Set 1.1.3.7

Set cũng là một tập hợp chứa các phần tử như list và tuple Set gồm các đặc điểm sau:

 Được giới hạn bởi cặp ngoặc {}, tất cả những gì nằm trong đó là những phần

tử của Set

 Các phần tử của Set được phân cách nhau ra bởi dấu phẩy

 Set không chứa nhiều hơn 1 phần tử trùng lặp

 Không thể chứa một set trong một set

Cách khởi tạo Set

Trang 21

Dict(Dictionary) cũng là một tập hợp chứa các phần tử nhƣ LIST, TUPLE

Điều khác biệt là List, Tuple có các index để phân biệt các phần tử thì Dict dùng các key để phân biệt Một Dict gồm các yếu tố sau:

 Đƣợc giới hạn bởi cặp ngoặc nhọn {}, tất cả những gì nằm trong đó là những phần tử của Dict

 Các phần tử của Dict đƣợc phân cách nhau ra bởi dấu phẩy

 Các phần tử của Dict phải là một cặp key-value

 Cặp key-value của phần tử trong Dict đƣợc phân cách bởi dấu hai chấm

Cách khởi tạo Dict

Cú pháp:

{<key_1: value_1>, <key_2: value_2>, , <key_n: value_n>}

dic = {„ten‟: „Dong‟, „maso‟: 47}

Thay đổi nội dung Dict

Ví dụ:

dic ={„ten‟: „Dong‟, „maso‟: 47}

dic[„ten‟] = „Van‟

Kết quả

{„ten‟: „Van‟, „maso‟: 47}

Thêm thủ công một phần tử vào dict

Cách này khá giống với cách ta thay đổi nội dung của Dict

Trang 22

Giống như các ngôn ngữ khác Python hỗ trợ câu lệnh if –else Nếu thỏa mãn điều kiện trong mênh đề if thì sẽ thực thi câu lệnh bên trong mệnh đề và ngược lại thì thực hiện câu lênh bên trong mệnh đề else

Cú pháp của câu lệnh if-else:

Nếu như trong trường hợp chúng ta không cần thực thi điều gì khi điều kiện

đó không đúng thì chúng ta có thể bỏ mệnh đề else cho gọn code

Câu lệnh if-elif-else

1.1.4.2

Không phải lúc nào chúng ta cũng có 2 trường hợp vì vậy python hỗ trợ thêm mệnh đề elif để sử dụng trong trường hợp có nhiều điều kiện Cú pháp như sau:

Trang 23

Vòng lặp for có tác dụng lặp lại các câu lệnh theo một số lần định sẵn

Cú pháp nhƣ sau:

for <biến> in <tập hợp>:

<câu lệnh>

Trong đó:

 <biến> là các biến tạm dùng để chứa dữ liệu sau mỗi lần lặp

 <tập hợp> là một list, tuple hoặc string, chứa giá trị cần lặp

Trang 24

Để gọi một hàm đã đƣợc khai báo rồi, thì chúng ta sử dụng cú pháp sau:

<tên hàm>()

Trang 25

Class là một phần không thể thiếu trong lập trình hướng đối tượng Một class

là thể hiện cho một tập hợp các đối tượng có chung đặc điểm Để khai báo một class trong Python dụng cú pháp:

class <tên class>:

Trang 26

GVHD: ThS

Khai báo phương thức trong Class

Ví dụ:

class nguoi:

#thuộc tính ten = "Kieu Van Dong"

Để truy cập thuộc tính đối tượng:

<đối tượng>.<phương thức>(<danh sách tham số truyền vào>)

Trang 27

và cùng với Python, Ruby và Java trở thành 4 ngôn ngữ hiệu quả nhất trong năm

2017 (theo Stack Overflow Developer Survey 2017, GitHub và Stack Overflow), được đề xuất là ngôn ngữ nên học đầu tiên dành cho người mới bắt đầu lập trình (theo www.devskiller.com)

Hàng triệu triệu nền tảng và thư viện được xây dựng dựa trên JS tạo nên một thế giới JS đa dạng và phong phú

Giới thiệu chung về ReactJS

1.2.2

Reactjs được phát triển dưới thư viện JavaScrip vậy JS là gì em sẽ trình bày

kỹ hơn về nó

Java Scripts 1.2.2.1

JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP) vô cùng linh hoạt, thông dịch tích hợp vào trình duyệt nhằm tăng tính tương tác của người dùng với trang web, nó chiếm vị trí độc tôn trong vị trí client-side Các slideshow, pop-up quảng cáo và tính năng autocomplete của Google là những thứ được viết bằng JavaScript Nó được tạo ra lần đầu tiên bởi Brendan Eich tại công ty Netscape vào năm 1995 - được đặt tên là Mocha trong quá trình phát triển, phát hành phiên bản beta với tên là LiveScript và cuối cùng được đặt tên là JavaScript để lợi dụng sự phổ biến của Java

Qua 20 năm tồn tại và phát triển, Javascript đã có những thay đổi lớn để thích nghi với thời cuộc, và bây giờ trở thành một ngôn ngữ toàn năng, thiết yếu và phù hợp đối với bất cứ một nhà phát triển nào Là ngôn ngữ lập trình full stack duy nhất cho đến thời điểm hiện nay, Javascript làm được nhiều thứ từ web client đến server, từ desktop đến mobile … một cách khá hoàn hảo

Bây giờ chúng ta sẽ phân tích JavaScrip có thể làm được những gì? JavaScrip có thể xây dựng toàn bộ một trang web nếu sử dụng Node.Js và

Trang 28

GVHD: ThS

MongoDB (Một cơ sở dữ liệu) Js hiện nay là một trong những cách ưa thích để phát triển ứng dụng web Đó là ngôn ngữ sử dụng rất nhiều vì nó được sử dụng cả font-end và back-end

Điểm mạnh của JavaScript:

Sự tương tác Server ít hơn: Bạn có thể xác nhận đầu vào (input) người sử dụng

trước khi gửi trang tới Server Điều này làm tiết kiệm lưu lượng tải ở Server, nghĩa

là Server của bạn tải ít hơn

Phản hồi ngay lập tức tới khách truy cập: Họ không phải chờ cho một trang web

tải lại để thấy xem nếu họ đã quên nhập cái gì đó

Khả năng tương tác người dùng tăng lên: Bạn có thể tạo các giao diện mà phản

ứng lại khi người sử dụng rê chuột qua chúng hoặc kích hoạt chúng thông qua bàn phím

Giao diện phong phú hơn: Bạn có thể sử dụng JavaScript để bao gồm những mục

như các thành phần Drag và Drop (DnD) và các con trượt (Slider) để cung cấp một Rich Interface (Giao diện giàu tính năng) tới site khách truy cập của bạn

ReactJS 1.2.2.2

React.js được Facebook ra mắt hồi 2013 và đang phát triển mạnh mẽ nó là một thư viện Javascript đang nổi lên trong những năm gần đây với xu hướng Single Page Application hỗ trợ việc xây dựng những thành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử dụng lại được React còn là công cụ có thể thay thế cho các framework MVC, như Angular hoặc Backbone, với cấu trúc rõ ràng hơn và tập trung vào tối ưu hiệu năng React được sử dụng tại Facebook trong production,

và www.instagram.com được viết hoàn toàn trên React

Vậy reactjs là gì? Reactjs là một thư viện UI để hỗ trợ việc xây dững những thành phần (components) Ui có tính

tương tác cao có trạng thái và có thể tái

sử dụng được React được sử dụng tại

Facebook trong production và instagram

được viết hoàn toàn trên React

Một trong những điểm hấp dẫn là thư

viện React không chỉ hoạt động phía

Trang 29

GVHD: ThS

client, mà còn được render trên sever và có thể kết nối với nhau

React sử dụng khái niệm DOM ảo (Virtual DOM) để chọn lựa và render những phần tử của node dựa trên sự thay đổi trạng thái khiến cho ta chỉ cần thay đổi ít thành phần nhất có thể để giữ DOM update

Tư tưởng của tác giả ReactJs là xây dựng lên các components có tính tái

sử dụng, dễ dàng cho việc phân chia nhỏ vấn đề, testing Reactjs sẽ giúp giúp

chúng ta dễ dàng quản lý, mở rộng hệ thống

React.js là một thư viện Javascript đang nổi lên trong những năm gần đây

với xu hướng Single Page Application Trong khi những framework khác cố gắng

hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ

dàng phối hợp với những thư viện Javascript khác Nếu như AngularJS là một

Framework cho phép nhúng code javasscript trong code html thông qua các

attribute như ng-model, ng-repeat thì với react là một library cho phép nhúng

code html trong code javascript nhờ vào JSX, bạn có thể dễ dàng lồng các đoạn

HTML vào trong JS Tích hợp giữa javascript và HTML vào trong JSX làm cho

các component dễ hiểu hơn

1.2.2.2.1 Vitual DOM

Virtual DOM hoạt động như thế nào ?

Hình 1.1: Virtual DOM

Trang 30

GVHD: ThS

Tường tượng bạn có một vật thể được thiết kế dựa trên một người Nó có mọi bộ phận một người có thể có, và phản ánh lại trạng thái hiện tại của người đó Đây là

điều cơ bản React làm với DOM Bây giờ thử nghĩ rằng nếu bạn lấy vật thể đó và thay đổi một vài bộ phận Thêm ria, bắp tay và đôi mắt xanh Trong React, khi chúng ta tạo ra thay đổi, sẽ diễn ra 2 việc

Đầu tiên, React chạy một thuật toán so sánh sự khác biệt để phát hiện ra thay đổi Bước thứ 2 là điều hòa bằng cách cập nhật DOM với kết qủa của thuật toán ở bước 1 Cách React hoạt động là thay vì lấy một người thật và tái tạo lại từ đầu, React chỉthay đổi khuôn mặt và tay Điều này có nghĩa là khi bạn nhập vào 1 đoạn text và render xong thì đoạn text này sẽ không bị ảnh hưởng cho tới khi parent node được sắp xếp lại Vì React sử dụng một DOM giả nên cũng có khá nhiều ý tưởng thú vị xung quanh Ví dụ như ta có thể render DOM giả này trên server

1.2.2.2.2 Component

Chúng ta có thể tái sử dụng một component ở nhiều nơi, với các trạng thái hoặc các thuộc tính khác nhau, trong một component lại có thể chứa thành phần khác Mỗi component trong React có một trạng thái riêng, có thể thay đổi, và React sẽ thực hiện cập nhật component dựa trên những thay đổi của trạng thái

Mỗi component cũng có thành phần cha, thành phần con và thuộc tính Component gồm 2 loại (i) component mặc định thì nó tương ứng với một thẻ HTML, nó có đầy đủ các thuộc tính và sự kiện của thẻ HTML và (ii) loại thứ hai là component customize, component được viết dựa trên các component mặc định, với các thuộc tính và sự kiện mình tự quy định Có hai cách để lưu trữ dữ liệu trong component, bao gồm

(i) Props là những thuộc tính mà ta truyển vào cho component, component sẽ không thay đổi được props của nó

(ii) State là những thuộc tính chỉ được sử dụng bên trong component, bên ngoài component không thể truy xuất đến state của nó, để

thay đổi state ta sử dụng hàm this.setState({stateName: ‘giá trị’}),

Trang 31

GVHD: ThS

biến truyền vào là object chứa các state cần thay đổi Em sẽ có bẳng so sánh để cho mọi người có cái nhìn tổng quan hơn về Props và State

Đặc điểm chi tiết về ReactJS

1.2.3

Ưu điểm 1.2.3.1

 Reactjs cực kì hiệu quả: Reactjs tạo ra cho chính nó DOM ảo – nơi mà các component thực sự tồn tại trên đó Điều này sẽ giúp cải thiện hiệu suất rất nhiều Reactjs cũng tính toán những thay đổi nào cần cập nhật len DOM và chỉ thực hiện chúng Điều này giúp Reactjs tránh những thao tác cần trên DOM mà nhiều chi phí

 Reactjs giúp việc viết các đoạn code JS dễ dàng hơn: Nó dung cú pháp đặc biệt là JSX (Javascript mở rộng) cho phép ta trộn giữa code HTML và Javascript Ta có thể them vào các đoạn HTML vào trong hàm render mà không cần phải nối chuỗi Đây là đặc tính thú vị của Reactjs Nó sẽ chuyển đổi các đoạn HTML thành các hàm khởi tạo đối tượng HTML bằng bộ biến đổi JSX

 Nó có nhiều công cụ phát triển: Khi bạn bắt đầu Reactjs, đừng quên cài đặt ứng dụng mở rộng của Chrome dành cho Reactjs Nó giúp bạn debug code dễ dàng hơn Sau khi bạn cài đặt ứng dụng này, bạn sẽ có cái nhìn trực tiếp vào virtual DOM như thể bạn đang xem cây DOM thông thường

 Render tầng server: Một trong những vấn đề với các ứng dụng đơn trang là tối ưu SEO và thời gian tải trang Nếu tất cả việc xây dựng và hiển thị trang đều thực hiện ở client, thì người dung sẽ phải chờ cho trang được khởi tạo và hiển thị lên Điều này thực tế là chậm Hoặc nếu giả sử người dung vô hiệu hóa Javascript thì sao? Reactjs là một thư viện component, nó có thể vừa render ở ngoài trình duyệt sử dụng DOM và cũng có thể render bằng các chuỗi HTML mà server trả về

 Làm việc với vấn đề test giao diện: Nó cực kì dễ để viết các test case giao diện vì virtual DOM được cài đặt hoàn toàn bằng JS

Trang 32

GVHD: ThS

 Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng cho bảo trì và sửa lỗi

 Dễ dàng thiết kế giao diện và học API

 Tăng hiệu suất đáng kể so với các frameworks JavaScript khác

 Cập nhật nhanh hơn ReactJS tạo một DOM ảo mới, cơ chế vá các dữ liệu gần đây nhất và so sánh nó một cách hiệu quả so với phiên bản trước đó, tạo

ra một danh sách tối thiểu các phần cập nhật được làm cho DOM để mang nó đồng bộ Hiển thị toàn bộ trang web trên mỗi thay đổi

 Dễ dàng nhập các thành phần mặc dù có rất ít dependencies

 Sử dụng lại code tốt, ứng dụng của bạn có giao diện thống nhất, sử dụng lại

mã giúp bạn dễ dàng duy trì và phát triển mã nguồn của mình, và phát triển

ứng dụng của bạn dễ dàng hơn

 Sử dụng JSX: JSX là một cú pháp duy nhất cho phép trích dẫn HTML và áp dụng cú pháp thẻ HTML để hiển thị các tiểu hợp phần Điều này giúp thúc đẩy xây dựng các mã máy có thể đọc được trong khi làm cho nó có thể hợp chất các thành phần trong một lần xác minh tập tin

 Render nhanh hơn: Đây là tính năng dễ nhận biết nhất của ReactJS, mang lại lợi thế cạnh tranh so với Angular ReactJS chỉ làm những gì đã được thay đổi trong một tệp bằng cách sử dụng DOM ảo (Document Object Model) thay vì toàn bộ tệp tin Nếu bạn có một danh sách 5000 thành phần, nhưng cập nhật

500, chỉ có 500 thay đổi sẽ được cập nhật trong khi phần còn lại vẫn giữ nguyên

 ReactJS lấy JS làm trọng tâm: Không giống như Angular là HTML-Centric, việc JS-Centric mang lại nhiều lợi ích hơn vì JavaScript mạnh hơn Điều này làm cho ReactJS đơn giản và tập trung

 Mặc dù có một chút phụ thuộc, ReactJS giúp bạn dễ dàng nhập các thành phần

 Component mang tính encapsulation (đóng gói) Mỗi component đều độc lập với nhau và giao tiếp thông qua các thông số đầu vào được định nghĩa trước (property) Do đó, khi debug, ta dễ dàng dự đoán được sai ở phần nào

Trang 33

GVHD: ThS

để fux bug Giả dụ, một ngày đẹp trời, designer bảo phải chuyển avatar từ hình vuông sang hình tròn của mỗi news feed Thay gì phải mò mẫm xem đoạn code hiện thị avatar ở đâu trong hàng tỉ dòng code, bạn dễ dàng phát hiện rằng: Avatar của news feed thì vào component News Feed mà sửa lại

 Thư viện React Native React là một thư viện „viết một lần dùng mọi nơi‟,

theo người sáng lập thì, nó là thư viện „học một lần viết mọi nơi’ Đúng, bạn

có thể viết native apps cho Android và iOS bằng React Native

 React sử dụng cú pháp đặc biệt gọi là JSX, cho phép bạn trộn HTML và JavaScript Điều này không phải là bắt buộc – bạn vẫn có thể viết thuần JavaScript – nhưng tôi khuyên mạnh rằng bạn nên sử dụng cú pháp mới bởi

nó giúp việc viết „components‟ đơn giản hơn

Hạn chế 1.2.3.2

 Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó không phải

là một MVC framework như những framework khác Đây chỉ là thư viện của Facebook giúp render ra phần view Vì thế React sẽ không có phần Model và Controller, mà phải kết hợp với các thư viện khác React cũng sẽ không có 2-way binding hay là Ajax

 Tích hợp Reactjs vào các framework MVC truyền thống yêu cầu cần phải cấu hình lại

 React khá nặng nếu so với các framework khác React có kích thước tương tương với Angular (Khoảng 35kb so với 39kb của Angular)

Trang 34

sẽ tăng dần bên cạnh những quả bóng sẽ có thêm những vật cản nhằm cản trở người chơi chiến thắng Trò chơi sẽ kèm theo hiệu ứng âm thanh vui nhộn

Giới thiệu sơ lược về thư viện pygame

2.2

Pygame là một thư viện mã nguồn mở được viết bằng python hỗ trợ lập trình

trò chơi Đây là một thư viện được rất nhiều người đam mê lập trình trò chơi ưa thích

Pygame đã ra nhiều phiên bản và phiên bản em sử dụng là pygame 1.9.0

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

Trang 35

GVHD: ThS

 Khi click vào quả bóng sẽ có hiệu ứng và ghi được điểm

 Các quả bóng, vật cản di chuyển theo nhiều hướng xung quanh màn hình

 Bóng sẽ thay đổi quỹ đạo, tốc độ, kích thước … khi va chạm với vật cản

 Có đồng hồ đếm ngược thời gian và kết thúc trò chơi khi đồng hồ về 0

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

 Có phần hướng dẫn chơi cho người mới

 Người chơi có thể lựa chọn màn chơi mình muốn

 Người chơi phải vượt qua từng màn chơi để có thể mở khóa màn tiếp theo

 Người chơi có thể tạm dừng trò chơi và tiếp tục khi muốn

 Người chơi cũng có thể chọn màn chơi khác khi đang chơi một màn nào đó

 Có hiệu ứng âm thanh, có thể bật tắt âm thanh theo ý muốn

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

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

2.3.3

Sơ đồ ca sử dụng và mô tả ca sử dụng 2.3.3.1

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

Trang 36

GVHD: ThS

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

Đăng nhập Đăng ký

Chọn màn chơi

Hướng dẫn chơi

Hiển thị điểm cao

Bât tắt âm thanh

Người chơi

Chơi

Tạm dừng trò chơi

Chơi lại

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

<<in clud e>>

<<include>>

<<in clud e>>

Hình 2.1 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ệ

Trang 37

GVHD: ThS

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

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

Trang 38

GVHD: ThS

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

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

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

Trang 39

GVHD: ThS

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

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

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