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

Báo cáo Đồ án cuối kỳ bộ môn cơ sở lập trình nhóm 8 Đề tài ueh survival

32 2 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 đề Ueh Survival
Tác giả Nguyễn Hoàng Nhật, Nguyễn Hoài Thu, Nguyễn Thị Thùy Trang
Người hướng dẫn Th.S Võ Văn Hải
Trường học Đại học Ueh
Chuyên ngành Cơ sở lập trình
Thể loại Báo cáo đồ án
Năm xuất bản 2024
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 32
Dung lượng 15,76 MB

Nội dung

Vì vậy, việc lựa chọn C# để phát triển game “UEH SURVIVAL” khôngnhững tạo ra một tựa game giải trí mới mà còn giúp nhóm dự án có thể phát triển kỹ nănghọc tập, nghiên cứu và áp dụng được

Trang 1

ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH

BÁO CÁO ĐỒ ÁN CUỐI KỲ

BỘ MÔN CƠ SỞ LẬP TRÌNH

NHÓM 8

ĐỀ TÀI: UEH SURVIVAL

Thành viên: Nguyễn Hoàng Nhật - 31231026537

Nguyễn Hoài Thu - 31231026200

Trang 2

3 Đối tượng nghiên cứu

4 Phương pháp nghiên cứu

II MÔ TẢ CHƯƠNG TRÌNH

1 Mô tả các chức năng của hệ thống/ chương trình

2 Source code của nhóm dự án

III PHÁT TRIỂN CHƯƠNG TRÌNH

1 Lập trình giao diện

2 Màn hình khởi chạy

b) Nút CANCEL

c) Nút INTRODUCTION

d) Nút INSTRUCTION

3 Thông tin người chơi

4 Xử lý điều khiển từ người chơi

5 Lập trình chuyển động cho các vật thể

6 Thêm thử thách và xử lý va chạm

7 Thiết lập Game over

8 Thiết lập lưu điểm bằng tệp văn bản bên ngoài

9 Thiết lập xử lý ngoại lệ

IV KẾT LUẬN

1 Đánh giá

2 Những kết quả đã thực hiện

3 Những hạn chế

4 Ý tưởng phát triển

V PHỤ LỤC

1 Danh mục hình ảnh

2 Tài liệu tham khảo

Trang 3

BẢNG PHÂN CÔNG CÔNG VIỆC

HOÀNTHÀNHNguyễn Hoài

Thu 31231026200 - Soạn nội dung thuyết trình và làmslide

- Viết báo cáo phần: Phát triểnchương trình

- Viết code phần:

+ Tạo các form, design nhân vật

+ Xử lý action form, chuyển đổi giữacác form

+ Lưu highScore, play music

+ Xử lý sự kiện trong lúc chơi

Trang 4

đã có được một lượng lớn người chơi cũng như biết đến Game là một lựa chọn thú vị đểgiải tỏa áp lực học tập, giúp học sinh, sinh viên thư giãn và giảm stress Zombie Shooter

là một nền tảng vững chắc để nhóm dự án có thể đào sâu và triển khai thêm nhiều khíacạnh mới từ tựa game này Chính vì thế, nhóm dự án đã quyết định kết hợp giữa các yếu

tố học tập (môi trường tại UEH và các điểm số) vào các yếu tố sinh tồn nhằm tạo ra mộtgóc nhìn và trải nghiệm mới lạ Từ đó mang đến một tựa game tương tự nhưng đậm néthọc đường mang tên “UEH SURVIVAL”

Ngôn ngữ lập trình C# được sử dụng phổ biến để xây dựng ứng dụng và game Bêncạnh đó, ngôn ngữ C# cũng đang được học tập và áp dụng trong môn chuyên ngành củanhóm dự án Vì vậy, việc lựa chọn C# để phát triển game “UEH SURVIVAL” khôngnhững tạo ra một tựa game giải trí mới mà còn giúp nhóm dự án có thể phát triển kỹ nănghọc tập, nghiên cứu và áp dụng được ngôn ngữ này

2 Mục tiêu nghiên cứu

Nhóm dự án hướng đến nghiên cứu 2 mục tiêu chính:

● Nghiên cứu và vận dụng ngôn ngữ lập trình C#, winform vào lập trình mộtgameplay dựa trên tựa game đã có Điều này không chỉ giúp các ý tưởng đượcchuyển thành sản phẩm hoàn chỉnh mà còn giúp nhóm nâng cao, tổng hợp đượccác kiến thức về lập trình

● Dự án phát triển game "UEH SURVIVAL" hướng tới mục tiêu tạo ra một trò chơibắn súng hấp dẫn và độc đáo Bên cạnh việc xây dựng một gameplay cuốn hút vớicác tính năng như di chuyển, bắn súng và các mô hình đa dạng, dự án còn tậptrung vào việc nghiên cứu và tối ưu hóa các cơ chế cốt lõi để đảm bảo trải nghiệmchơi game mượt mà cho người dùng, tạo nên sự khác biệt so với các trò chơi cùngthể loại

Trang 5

● Lấy cảm hứng từ không gian và hoạt động của môi trường đại học UEH để tạo rabối cảnh cho game.

4 Phương pháp nghiên cứu

● Tìm hiểu yêu cầu của đồ án, từ đó nghiên cứu, tham khảo, góp ý để quyết định vàtriển khai game

● Xác định những thành phần sẽ có trong game như: nhân vật người chơi, các conđiểm, vũ khí, đạn, điểm số…

● Tìm kiếm và tham khảo các source code đã có sẵn từ các tựa game tương tự

● Chỉnh sửa và mở rộng game từ các source code ban đầu

● Thiết kế giao diện thân thiện và trực quan, sử dụng hình ảnh và âm thanh thêmsinh động

● Thực hiện kiểm tra thử để phát hiện và sửa lỗi, đồng thời điều chỉnh game đểngười dùng có được trải nghiệm tốt nhất

1 Mô tả các chức năng của hệ thống/ chương trình

Game UEH SURVIVAL được thiết kế với hệ thống chức năng được mở rộng, kếthợp yếu tố học đường, sinh tồn và chiến thuật Trong trò chơi này, người chơi sẽ hóa thânvào nhân vật một cậu sinh viên, bằng kĩ năng và chiến thuật thông minh, người chơi phảiđiều khiển nhân vật tiêu diệt nhiều điểm F nhất có thể và không được bỏ lỡ điểm A nào Dưới đây là mô tả các chức năng chính của hệ thống, giúp người chơi hiểu rõ cáchchơi, mục tiêu và những yếu tố quan trọng trong trải nghiệm chơi game

Chức năng điều khiển nhân vật:

Trang 6

năng lượng, cứ mỗi lần chạm vào điểm F, máu sẽ giảm đi 1 Không những thế,thời gian chạm vào điểm F càng lâu thì máu của người chơi sẽ tụt đi nhanh chóng.Khi máu của người chơi còn lại 0 thì trò chơi sẽ kết thúc.

● Hệ thống điểm số: Nhiệm vụ của người chơi chính là sống sót và đạt được mứcđiểm cao nhất có thể Bạn cần phải tiêu diệt tất cả điểm F trong màn chơi và đạtđược nhiều điểm A để có nhiều đạn nhằm bảo vệ bản thân càng lâu càng tốt Hệthống điểm sẽ dựa trên số lượng điểm F mà bạn đã tiêu diệt Sau mỗi màn chơi,điểm số của người chơi sẽ được lưu trữ và ghi nhớ từ đó đề ra được mức điểm caonhất trong tất cả các vòng chơi của bạn

2 Source code của nhóm dự án

Để dự án có thể hoàn thành trong thời gian cho phép và đảm bảo chất lượng, nhóm

dự án đã quyết định lựa chọn phương án sử dụng những đoạn mã nguồn có sẵn làm nềntảng Trên cơ sở đó, nhóm đã mở rộng và phát triển thêm các tính năng mới dựa vàonhững kiến thức đã học, từ đó có thể phát triển một tựa game tương tự nhưng cũng khôngkém phần mới lạ và thú vị Cách tiếp cận này không chỉ giúp nhóm hoàn thành dự án màcòn học hỏi và phát triển thêm nhiều kỹ năng lập trình

● Link source code đã tham khảo

Trang 7

Hình 1

Hình 2

Hình 3

Trang 8

Hình 6

Hình 7

Trang 9

Hình 9

Hình 10

Trang 10

Hình 13

Hình 14

Trang 11

Hình 16

Hình 17

Trang 12

Hình 20

Hình 21

Trang 13

Hình 23

Hình 24

Hình 25

Trang 14

Hình 28

Hình 29

Trang 16

III PHÁT TRIỂN CHƯƠNG TRÌNH

1 Lập trình giao diện

Phần lập trình giao diện được thực hiện thông qua việc chèn hình ảnh vào form củaứng dụng Việc này không chỉ giúp làm phong phú thêm trải nghiệm người chơi mà còncung cấp một cái nhìn trực quan rõ ràng về các yếu tố trong game Tất cả hình ảnh đượcsắp xếp hợp lý và có thể tương tác, tạo điều kiện cho người chơi tham gia vào cuộc phiêulưu trong trò chơi một cách hiệu quả

2 Màn hình khởi chạy

Main menu là giao diện đầu tiên xuất hiện khi khởi động game Giao diện bao gồmcác nút chính: Play Cancel Instruction, , và Introduction Tùy vào lựa chọn của ngườichơi, mỗi nút sẽ dẫn đến một màn hình khác nhau, giúp cung cấp hướng dẫn, giới thiệu,

Trang 18

Khi nhấn vào nút Instruction, hàm button1_Click tạo một thể hiện Intro, hiển thị mànhình giới thiệu và ẩn giao diện chính Kế tiếp người chơi có thể nhấn nút Back để quaylại màn hình main menu.

Hình 34: Giao diện giới thiệu

Trang 19

Khi người chơi nhấn nút Back trên màn hình Introduction, hàm btnBackIntro_Clickđược gọi Hàm này ẩn màn hình Introduction và tham chiếu lại màn hình giao diện mainmenu trước đó, giúp tối ưu tài nguyên và giữ trạng thái của màn hình main menu.

Trang 20

Chương trình game sử dụng một số thông tin cơ bản để theo dõi tiến trình của ngườichơi, bao gồm số lần tiêu diệt điểm F, số đạn còn lại, thanh máu và điểm số cao nhất.

Những thông tin này giúp đánh giá thành tích và tiến độ của người chơi trong suốt quátrình trải nghiệm game, từ đó giúp người chơi theo dõi mục tiêu của mình một cách rõràng

Trang 21

máu nhỏ hơn hoặc bằng 1, trạng thái gameOver sẽ được kích hoạt, hình ảnh nhânvật đổi sang trạng thái "chết", dừng bộ đếm thời gian

● Số lượng đạn: txtAmmo.Text hiển thị số đạn hiện tại (ammo), cho phép người

chơi kiểm soát đạn

● Điểm số (score) và điểm cao nhất (highScore): txtScore1.Text cập nhật số điểm

F đã tiêu diệt Chương trình dùng hàm If để kiểm tra nếu điểm số hiện tại (score)lớn hơn điểm cao nhất, highScore được cập nhật và lưu lại, sau đó hiển thị giá trịmới trên txtHighScore.Text

4 Xử lý điều khiển từ người chơi

Phương thức KeyIsDown được dùng để xử lý khi người dùng nhấn phím Tùy thuộc

vào phím được nhấn, biến trạng thái chuyển động (goLeft, goRight, goUp, goDown) sẽkiểm tra và nếu đúng thì cập nhật thành true và hướng của người chơi (facing) được thayđổi theo hướng mặt tương ứng

Trang 22

5 Lập trình chuyển động cho các vật thể

a) Điểm F

Phương thức MoveZombie xử lý chuyển động của các vật thể điểm F theo hướng

của người chơi (player) Nó so sánh tọa độ Left và Top của điểm F và người chơi, rồithay đổi tọa độ của điểm F để tiến dần đến vị trí của người chơi

Trang 23

Phương thức MakeZombies tạo các điểm F mới với vị trí ngẫu nhiên Hàm này

cũng áp dụng các thuộc tính để hiển thị điểm F với hình ảnh và kích thước phù hợp:

b) Điểm A

Phương thức DropAmmo sinh ra các vật thể điểm A (đạn dược) tại vị trí ngẫu nhiên

Trang 24

thử thách cho người chơi khi tiến độ game cao hơn.

Trang 25

b) Xử lý va chạm

Tương tự vòng lặp foreach cũng được sử dụng để phát hiện các va chạm Khi nhânvật người chơi tiếp xúc với đối tượng có tag là ammo (điểm A), số lượng đạn sẽ đượctăng thêm Ngược lại, khi va chạm với đối tượng zombie (điểm F) thì thanh máu sẽ bịgiảm xuống Ngoài ra, hàm này còn gọi MoveZombies để điều khiển chuyển động củacác con điểm F

Trang 27

Kế tiếp, nếu người chơi lựa chọn Restart thì chương trình sẽ khởi tạo lại hoặc Exit đểthoát.

8. Thiết lập lưu điểm bằng tệp văn bản bên ngoài

● File.Exists( ) dùng để kiểm tra xem tệp lưu điểm cao có tồn tại hay không

● File.Create( ) dùng để tạo tệp mới tại đường dẫn chỉ định nếu tệp chưa tồn tại

● StreamWriter dùng để ghi điểm cao vào tệp lưu trữ

● StreamReader dùng để đọc điểm cao từ tệp lưu trữ

● int.TryParse( ) dùng để chuyển đổi nội dung từ tệp thành số nguyên, lưu vào biếnđiểm cao (highScore)

Trang 28

● Console.WriteLine( ) ghi thông báo lỗi ra console, bao gồm chi tiết lỗi

Trang 30

học tập và giải trí thông qua trò chơi bắn zombie, mang lại một trải nghiệm mới lạ, sáng

Trang 31

2 Những kết quả đã thực hiện

Nhóm đã thành công phát triển một hệ thống gameplay mượt mà, tích hợp các tínhnăng như di chuyển linh hoạt, bắn đạn, và tiêu diệt zombie Người chơi có thể sử dụngcác thao tác cơ bản để đạt được điểm số cao và duy trì sự sống sót Giao diện được thiết

kế trực quan, phong cách vui nhộn, gợi cảm giác thân thiện và gần gũi Các nút chứcnăng như Play, Introduction và Instruction đều rõ ràng, giúp người chơi dễ dàng thao tác

mà không cần nhiều thời gian làm quen.Bên cạnh đó dự án đã tích hợp thành công hệthống điểm số, cho phép người chơi lưu lại điểm cao nhất và so sánh với những lần chơitrước đó

3 Những hạn chế

Do hạn chế về kỹ năng và kinh nghiệm lập trình, các chuyển động phức tạp củazombie còn nhiều hạn chế, chưa thể mang đến sự đa dạng và thử thách cao cho ngườichơi Dự án chỉ hoàn thành các tính năng cơ bản trong thời gian hạn hẹp Một số ý tưởngnâng cao như tăng cường hiệu ứng đồ họa hay thêm vào các cấp độ thử thách phức tạphơn chưa được thực hiện Việc thiết kế các màn chơi với cốt truyện hay nhiệm vụ đadạng còn chưa đầy đủ dẫn đến trải nghiệm còn đơn giản, dễ gây nhàm chán nếu ngườichơi tham gia nhiều lần

4 Ý tưởng phát triển

Trong tương lai, nhóm có thể phát triển thêm các màn chơi phong phú hơn với nhiềubối cảnh và giao diện đa dạng như thư viện, phòng học, hoặc khu thể thao của trường đạihọc, Mỗi bối cảnh sẽ có các yếu tố thử thách và vật phẩm riêng, giúp tăng trải nghiệmngười chơi Bên cạnh đó, đầu tư thêm vào hình ảnh và hiệu ứng âm thanh sống độngđồng thời nâng cấp hệ thống đồ họa để các yếu tố như zombie, nhân vật người chơi, vàcác màn chơi đều trở nên sinh động và chân thực hơn và có thể thêm chế độ chơi như

"Team Play" - chế độ đồng đội, giúp trò chơi phù hợp với nhiều người chơi và tăng tínhtương tác

Trang 32

Tạo ứng dụng Windows Forms trong Visual Studio bằng C#:

https://learn.microsoft.com/en-us/visualstudio/ide/create-csharp-winform-visual-studio?view=vs-2022

https://www.youtube.com/watch?v=5Dm8kXii7zU

Ngày đăng: 04/02/2025, 16:33

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN