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

Đồ Án Môn Học Xây Dựng Trò Chơi Con Rắn Săn Mồi.pdf

23 16 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng trò chơi con rắn săn mồi
Tác giả Nguyễn Văn Hưng, Nguyễn Chánh Tín, Nguyễn Trung Thành, Nguyễn Sơn Nam
Người hướng dẫn Lê Nguyên Khanh
Trường học Trường Đại học Công nghệ TP. HCM
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án môn học
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 2,42 MB

Nội dung

CHƯƠNG 1 PHÂN TÍCH YÊU CẦU1.1 Phân tích yêu cầu chức năng chi tiết của trò chơi"rắn săn mồi" 1.1.1 Khởi đầu trò chơi Trò chơi bắt đầu với một con rắn nhỏ tại một vị trí ban đầu trên màn

Trang 1

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

ĐỒ ÁN MÔN HỌC

Xây dựng trò chơi con rắn săn mồi

Ngành: CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: Lê Nguyên Khanh

Nhóm Sinh viên thực hiện:

Họ và tên: Nguyễn Văn Hưng MSSV: 2180602378 Lớp: 21DTHB6

Họ và tên: Nguyễn Chánh Tín MSSV: 2180601599 Lớp: 21DTHB6

Họ và tên: Nguyễn Trung Thành MSSV: 2180605976 Lớp: 21DTHB6

Họ và tên: Nguyễn Sơn Nam MSSV: 2180603516 Lớp: 21DTHB6

Trang 2

TP Hồ Chí Minh, 2023

2

Trang 3

Trang bìa phụ

Trang 4

Lời nói đầu

Trong thời đại số hóa và công nghệ thông tin ngày nay, lập trình game đã trở thành một trong những lĩnh vực phát triển sôi động và hấp dẫn Việc tạo ra những trò chơi điện tử không chỉ đòi hỏi kiến thức về lập trình mà còn đòi hỏi sự sáng tạo, khả năng thiết kế và khả năng giải quyết vấn đề Với tinh thần này, tôi xin trình bày về

đồ án môn học của mình - một trò chơi kinh điển, "Rắn Săn Mồi" (Snake Game).

Mục tiêu

Mục tiêu chính của đồ án này là khám phá và áp dụng các kiến thức lập trình Python và các kỹ thuật liên quan để phát triển một trò chơi rắn săn mồi hoàn chỉnh Đồng thời, tôi muốn tạo ra một trò chơi thú

vị và thú vị để chia sẻ với mọi người.

Lý do chọn đề tài

Lý do tôi chọn đề tài "Rắn Săn Mồi" là bởi trò chơi này đơn giản, nhưng vẫn thách thức và mang tính giải trí cao Nó đã tồn tại từ rất lâu và đã trở thành một biểu tượng của ngành công nghiệp game Tôi muốn thử sức với việc phát triển và tùy chỉnh trò chơi này để tạo ra phiên bản riêng của mình

2

Trang 5

MỤC LỤC

CHƯƠNG 1 PHÂN TÍCH YÊU CẦU 5

1.1 Phân tích yêu cầu chức năng chi tiết của trò chơi"rắn săn mồi" 5

1.1.1 Khởi đầu trò chơi 5

1.1.2 Di chuyển con rắn 5

1.1.3 Săn mồi 5

1.1.4 Kết thúc trò chơi 5

1.1.5 Điểm số 5

1.1.6 Điều kiện thắng cuối cùng 5

1.1.7 Khả năng tạm dừng và tiếp tục 5

1.1.8 Màn chơi tiến bộ 5

1.1.9 Giao diện người dùng (UI) 6

1.1.10 Âm thanh và hình ảnh 6

1.1.11 Lưu trạng thái trò chơi 6

1.1.12 Điều chỉnh tốc độ 6

1.1.13 Tính năng thống kê 6

1.1.14 Hướng dẫn và trợ giúp 6

1.1.15 Lựa chọn đa dạng 6

1.2 Phân tích yêu cầu phi chức năng chi tiết của trò chơi rắn săn mồi 6

1.2.1 Giao diện người dùng (UI) 6

1.2.2 Âm thanh và hiệu ứng âm thanh 7

1.2.3 Lưu trạng thái trò chơi 7

1.2.4 Điểm số cao nhất 7

1.2.5 Điều chỉnh tùy chọn 7

1.2.6 Thông báo và hướng dẫn 7

1.2.7 Tùy chỉnh đồ họa 7

1.2.8 Chế độ chơi đa dạng 7

1.2.9 Thống kê và nâng cấp 7

1.2.10 Hỗ trợ đa nền tảng 8

1.2.11 Bảo mật và quyền riêng tư 8

1.2.12 Tùy chỉnh điều khiển 8

1.2.13 Cải thiện hiệu suất 8

1.2.14 Chia sẻ kết quả 8

1.2.15 Lựa chọn định dạng lưu trữ 8

CHƯƠNG 2 THIẾT KẾ TRÒ CHƠI 9

2.1 Thiết kế màn hình trò chơi "Rắn Săn Mồi" chi tiết 9

3

Trang 6

2.1.1 Màn hình chính (Main Screen) 9

2.1.2 Màn hình kết thúc (Game Over Screen) 9

2.2 Luồng hoạt động 10

2.2.1 Khởi tạo Trò Chơi 10

2.2.2 Bắt Đầu Vòng Lặp Chính 10

2.2.3 Xử Lý Sự Kiện 10

2.2.4 Di Chuyển Con Rắn 10

2.2.5 Kiểm Tra Va Chạm 10

2.2.6 Ăn Mồi 10

2.2.7 Tăng Điểm Số 10

2.2.8 Cập Nhật Màn Hình 11

2.2.9 Kiểm Tra Điều Kiện Kết Thúc 11

2.2.10 Kết Thúc Trò Chơi 11

2.2.11 Chơi Lại Hoặc Thoát 11

2.2.12 Kết Thúc Vòng Lặp Chính 11

CHƯƠNG 3 LẬP TRÌNH TRÒ CHƠI 12

3.1 Sử dụng Python và Pygame 12

3.1.1 Cài đặt Pygame 12

3.1.2 Import các thư viện cần thiết 12

3.1.3 Khởi tạo Pygame 12

3.1.4 Thiết lập màn hình và cửa sổ 12

3.1.5 Định nghĩa các biến và hằng số 13

3.1.6 Tạo lớp cho rắn và mồi 13

3.1.7 Xử lý sự kiện 13

3.1.8 Cập nhật trạng thái trò chơi 13

3.1.9 Vẽ đồ họa lên màn hình 14

3.1.10 Hiển thị điểm số và trạng thái 14

3.1.11 Cập nhật màn hình 14

3.1.12 Điều chỉnh tốc độ 14

3.1.13 Xử lý va chạm và điều kiện thắng/thua 14

3.1.14 Chạy trò chơi 14

3.1.15 Kết thúc trò chơi 14

3.2 Lập trình các chức năng chính 14

CHƯƠNG 4 FULL SOURCE CODE 16

CHƯƠNG 5 KIỂM TRA VÀ SỬA LỖI 17

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 18

6.1 Kết luận 18

6.2 Hướng Phát Triển Tiềm Năng 18

4

Trang 8

CHƯƠNG 1 PHÂN TÍCH YÊU CẦU

1.1 Phân tích yêu cầu chức năng chi tiết của trò chơi"rắn săn mồi" 1.1.1 Khởi đầu trò chơi

Trò chơi bắt đầu với một con rắn nhỏ tại một vị trí ban đầu trên màn hình.Một mồi xuất hiện ngẫu nhiên ở vị trí khác trên màn hình

1.1.2 Di chuyển con rắn

Người chơi điều khiển con rắn bằng các phím mũi tên (lên, xuống, trái, phải).Con rắn di chuyển liên tục theo hướng đã chọn và không thể quay đầu lại ngay lập tức

Hiển thị điểm số hiện tại của người chơi trên màn hình

Ghi lại điểm số cao nhất đã đạt được và hiển thị nó trên màn hình

1.1.6 Điều kiện thắng cuối cùng

Trò chơi có thể được thiết lập với điều kiện thắng cuối cùng, chẳng hạn như đạt được một điểm số cố định hoặc độ dài tối đa cho con rắn

Trang 9

1.1.9 Giao diện người dùng (UI)

Giao diện người dùng đơn giản và dễ sử dụng

Hiển thị thông tin như điểm số hiện tại, điểm số cao nhất và bất kỳ thông báo nào (thắng cuộc, thua cuộc, tạm dừng)

1.1.10 Âm thanh và hình ảnh

Trò chơi có thể đi kèm với âm thanh và hình ảnh để làm cho trải nghiệm chơi game thú vị hơn

1.1.11 Lưu trạng thái trò chơi

Có khả năng lưu trạng thái của trò chơi để người chơi có thể tiếp tục sau khi thoát khỏi trò chơi và khởi động lại nó

Thiết kế giao diện người dùng thân thiện, sáng sủa và dễ sử dụng

Sử dụng hình ảnh, màu sắc và biểu tượng để làm cho giao diện trò chơi hấp dẫn hơn

7

Trang 10

1.2.2 Âm thanh và hiệu ứng âm thanh

Bổ sung âm thanh và hiệu ứng âm thanh cho các sự kiện quan trọng như ăn mồi,rắn va chạm, hoặc thắng cuộc

Cho phép người chơi tắt hoặc điều chỉnh âm lượng

1.2.3 Lưu trạng thái trò chơi

Có khả năng lưu trạng thái hiện tại của trò chơi, bao gồm điểm số, độ dài của con rắn, và vị trí của mồi

Người chơi có thể tiếp tục trò chơi từ trạng thái đã lưu khi khởi động lại trò chơi

1.2.6 Thông báo và hướng dẫn

Cung cấp thông báo và hướng dẫn để hỗ trợ người chơi hiểu cách chơi và quy tắc của trò chơi

1.2.7 Tùy chỉnh đồ họa

Cho phép người chơi tùy chỉnh hình ảnh của con rắn, mồi hoặc môi trường chơi

1.2.8 Chế độ chơi đa dạng

Cung cấp các chế độ chơi khác nhau, chẳng hạn như chế độ hai người chơi, chế

độ kiểu chơi thời gian, hoặc chế độ vượt qua cấp độ

Trang 11

1.2.10 Hỗ trợ đa nền tảng

Đảm bảo trò chơi có khả năng hoạt động trên nhiều nền tảng và kích thước mànhình khác nhau

1.2.11 Bảo mật và quyền riêng tư

Bảo đảm an toàn thông tin cá nhân của người chơi (nếu có) và tuân thủ các quy định về quyền riêng tư

1.2.12 Tùy chỉnh điều khiển

Cho phép người chơi tùy chỉnh phím điều khiển hoặc sử dụng bộ điều khiển nếu cần

1.2.13 Cải thiện hiệu suất

Tối ưu hóa trò chơi để đảm bảo nó hoạt động mượt mà và không gây lag trên các thiết bị khác nhau

Trang 12

CHƯƠNG 2 THIẾT KẾ TRÒ CHƠI

2.1 Thiết kế màn hình trò chơi "Rắn Săn Mồi" chi tiết

2.1.1 Màn hình chính (Main Screen)

 Môi trường chơi

Màn hình chính là nền lưới với ô vuông đại diện cho môi trường chơi

Môi trường chơi có thể có kích thước cố định hoặc thay đổi tùy theo mức độ khócủa trò chơi

Các ô vuông có kích thước cố định và màu sắc

 Con rắn

Con rắn là một loạt các ô vuông đại diện cho thân rắn

Đầu của con rắn có màu sắc khác biệt hoặc có biểu tượng để phân biệt.Con rắn có thể di chuyển qua các ô vuông và nở ra khi ăn mồi

 Mồi

Mồi là một ô vuông có màu sắc hoặc biểu tượng khác biệt để nhận diện.Mồi xuất hiện ngẫu nhiên trên màn hình chính sau khi con rắn ăn mồi trước đó.Mồi biến mất khi con rắn ăn và xuất hiện ở vị trí mới

 Điểm số

Điểm số của người chơi được hiển thị ở một góc của màn hình chính

Điểm số tăng lên sau mỗi lần ăn mồi

Có thể hiển thị điểm số cao nhất của người chơi (đã lưu trữ)

Trang 13

Hiển thị điểm số cao nhất của người chơi.

 Nút

Màn hình này cung cấp nút để bắt đầu lại trò chơi hoặc quay lại màn hình chính

2.2 Luồng hoạt động

2.2.1 Khởi tạo Trò Chơi

Trò chơi bắt đầu với con rắn ban đầu và một mồi được đặt ở vị trí ngẫu nhiên trên màn hình

Sự kiện di chuyển của người chơi (bằng các phím mũi tên)

Sự kiện tạm dừng trò chơi (nếu có)

2.2.4 Di Chuyển Con Rắn

Con rắn liên tục di chuyển theo hướng đã chọn, bao gồm:

Dịch chuyển đầu của con rắn theo hướng di chuyển

Dịch chuyển các phần thân của con rắn theo phần trước của nó

2.2.5 Kiểm Tra Va Chạm

Trò chơi kiểm tra xem con rắn có va chạm với:

Biên của màn hình (kết thúc trò chơi nếu va chạm)

Bản thân (kết thúc trò chơi nếu va chạm)

Mồi (thực hiện bước sau nếu ăn được mồi)

2.2.6 Ăn Mồi

Nếu đầu của con rắn va chạm vào mồi, mồi biến mất

Con rắn trở nên dài hơn một đơn vị bằng cách thêm một phần thân mới vào phía sau đuôi của nó

2.2.7 Tăng Điểm Số

Sau mỗi lần ăn mồi, điểm số của người chơi tăng lên

11

Trang 14

Có thể hiển thị điểm số hiện tại của người chơi trên màn hình.

2.2.8 Cập Nhật Màn Hình

Màn hình trò chơi được cập nhật để hiển thị trạng thái mới của trò chơi sau mỗi bước của vòng lặp chính

2.2.9 Kiểm Tra Điều Kiện Kết Thúc

Trò chơi kiểm tra các điều kiện để xác định khi nào trò chơi kết thúc:

Người chơi chọn thoát trò chơi

Con rắn va chạm vào biên của màn hình hoặc bản thân

Người chơi đạt được một điều kiện cụ thể (ví dụ: đạt được điểm số cố định)

2.2.10 Kết Thúc Trò Chơi

Khi trò chơi kết thúc, hiển thị màn hình kết thúc với thông báo về kết quả (thắngcuộc hoặc thua cuộc)

Hiển thị điểm số của người chơi và điểm số cao nhất (nếu có)

Cung cấp nút để bắt đầu lại trò chơi hoặc thoát khỏi trò chơi

2.2.11 Chơi Lại Hoặc Thoát

Người chơi có thể chọn chơi lại trò chơi từ đầu hoặc thoát khỏi trò chơi để quay lại màn hình chính hoặc thoát ra ngoài

2.2.12 Kết Thúc Vòng Lặp Chính

Khi người chơi quyết định thoát khỏi trò chơi hoặc chọn chơi lại, vòng lặp chínhkết thúc và trò chơi quay lại bước khởi tạo để bắt đầu một trò chơi mới

12

Trang 15

Đầu tiên, bạn cần cài đặt thư viện Pygame bằng cách sử dụng pip Mở

Command Prompt hoặc Terminal và chạy lệnh sau:

3.1.2 Import các thư viện cần thiết

Bạn cần import thư viện Pygame và một số thư viện khác cho việc quản lý đồ họa và sự kiện Dưới đây là các import cơ bản:

3.1.3 Khởi tạo Pygame

Trước khi bạn có thể sử dụng Pygame, bạn cần khởi tạo nó bằng lệnh sau:

3.1.4 Thiết lập màn hình và cửa sổ

Bạn cần tạo một cửa sổ để hiển thị trò chơi Dưới đây là ví dụ về cách thiết lập màn hình:

13

Trang 16

3.1.5 Định nghĩa các biến và hằng số

Bạn cần định nghĩa các biến và hằng số quan trọng cho trò chơi, chẳng hạn như kích thước ô vuông, tốc độ di chuyển của rắn, và màu sắc:

3.1.6 Tạo lớp cho rắn và mồi

Bạn cần tạo lớp (class) để đại diện cho con rắn và mồi trong trò chơi Lớp này sẽchứa thông tin về vị trí, hình dạng, màu sắc và hành vi của chúng

3.1.7 Xử lý sự kiện

Sử dụng vòng lặp chính để xử lý các sự kiện như sự kiện thoát khỏi trò chơi hoặc sự kiện di chuyển của người chơi Sử dụng Pygame để kiểm tra và xử lý các sự kiện này:

3.1.8 Cập nhật trạng thái trò chơi

Trong vòng lặp chính, cập nhật trạng thái của trò chơi bao gồm việc di chuyển rắn, kiểm tra va chạm, ăn mồi, cập nhật điểm số, và hiển thị trạng thái trò chơi trên màn hình

14

Trang 17

3.1.9 Vẽ đồ họa lên màn hình

Sử dụng Pygame để vẽ đồ họa của trò chơi lên màn hình dựa vào trạng thái hiện tại của trò chơi, chẳng hạn như vị trí của con rắn và mồi

3.1.10 Hiển thị điểm số và trạng thái

Sử dụng Pygame để hiển thị điểm số và trạng thái trò chơi lên màn hình

3.1.13 Xử lý va chạm và điều kiện thắng/thua

Thêm xử lý va chạm để xác định khi nào trò chơi kết thúc và người chơi thắng hoặc thua

3.1.14 Chạy trò chơi

Cuối cùng, chạy trò chơi bằng cách gọi pygame.display.update() để cập nhật màn hình và pygame.time.Clock().tick(snake_speed) để kiểm soát tốc độ trò chơi

Trang 18

CODE xử lý va chạm với mồi và biên màn hình

CODE tạo và vẽ đồ họa cho con rắn ,mồi và điểm số

CODE ghi điểm số cao nhất vào tệp

16

Trang 19

CHƯƠNG 4 FULL SOURCE CODE

Lược Đồ Quan Hệ

Full Source Code

17

Trang 20

CHƯƠNG 5 KIỂM TRA VÀ SỬA LỖI

18

Trang 21

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1 Kết luận

Hoàn Thiện Trò Chơi Cơ Bản: Trò chơi hiện tại là một phiên bản đơn giản với các tính năng cơ bản như di chuyển, va chạm, và điểm số Nó có thể được xem

là một bước khởi đầu để xây dựng một trò chơi hoàn chỉnh hơn

Thử Nghiệm và Làm Chay: Trò chơi cần được thử nghiệm rộng rãi để đảm bảo tính ổn định và trải nghiệm tốt cho người chơi

Tích Hợp Âm Thanh và Đồ Họa: Thêm âm thanh và đồ họa sẽ làm cho trò chơi trở nên hấp dẫn hơn Bạn có thể thêm âm thanh khi con rắn ăn mồi, khi game over, hoặc khi đạt được điểm số cao nhất

Tùy Chỉnh và Tối Ưu Hóa: Cho phép người chơi tùy chỉnh cấu hình như tốc độ của con rắn, kích thước màn hình, hoặc mức độ khó khăn

6.2 Hướng Phát Triển Tiềm Năng

Thêm Tính Năng Đa Người Chơi: Thêm tính năng cho phép nhiều người chơi cùng tham gia trong một trận đấu, có thể là chế độ chia sẻ màn hình hoặc trực tuyến

Mở Rộng Lược Đồ và Mồi: Tạo lược đồ lớn hơn và nhiều loại mồi khác nhau đểtạo thêm sự đa dạng trong trò chơi

Hệ Thống Điểm Số Cao Nhất Trực Tuyến: Tích hợp một hệ thống trực tuyến để người chơi có thể xem và so sánh điểm số cao nhất với người chơi khác trên toàn cầu

Phát Triển Trên Nền Tảng Di Động: Chuyển đổi trò chơi để hoạt động trên các nền tảng di động, ví dụ như iOS và Android, và phát hành trên các cửa hàng ứngdụng

Thêm Các Yếu Tố Trò Chơi Nâng Cao: Xem xét thêm các yếu tố trò chơi nâng cao như vật phẩm thu thập, kẻ thù, hoặc mức độ chơi phức tạp hơn

Hỗ Trợ Bàn Điều Khiển: Cho phép người chơi sử dụng bàn điều khiển ngoài để điều khiển con rắn

19

Trang 22

Điều Chỉnh Giao Diện Người Dùng: Cải thiện giao diện người dùng, thêm menuchính, menu tùy chỉnh và giao diện người dùng thân thiện hơn.

Sáng Tạo Trong Thiết Kế Đồ Họa: Thêm sự sáng tạo vào thiết kế đồ họa của con rắn, mồi và nền

Chăm Sóc Cộng Đồng: Lắng nghe ý kiến của người chơi và cải thiện trò chơi dựa trên phản hồi từ cộng đồng

Phát Triển Kế Hoạch Kinh Doanh: Nếu bạn có ý định phát triển trò chơi thành một dự án thương mại, hãy xem xét kế hoạch kinh doanh và tiếp thị để thu hút người chơi và kiếm lợi nhuận

20

Trang 23

TÀI LIỆU THAM KHẢO

21

Ngày đăng: 12/11/2024, 17:34

TỪ KHÓA LIÊN QUAN