Đồ án thiết kế và thi công hệ thống trò chơi bắn vịt trời tại HCMUTE

Khám phá đồ án HCMUTE thiết kế và thi công hệ thống trò chơi bắn vịt trời, mang đến trải nghiệm thú vị và sáng tạo trong giải trí.

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2018

51
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

LỜI CÁM ƠN

1. CHƯƠNG 1: TỔNG QUAN

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

3. CHƯƠNG 3: PHẦN CỨNG

4. CHƯƠNG 4: PHẦN MỀM

5. CHƯƠNG 5: KẾT QUẢ

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

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Thiết kế trò chơi bắn vịt trời tại HCMUTE

Đồ án tốt nghiệp này tập trung vào thiết kế và thi công hệ thống trò chơi bắn vịt trời tại HCMUTE. Nội dung nghiên cứu bao gồm thiết kế game bắn vịt, thi công game bắn vịt, và phát triển hệ thống trò chơi bắn vịt. Đồ án sử dụng ngôn ngữ lập trình Python, kết hợp với board mạch Arduino Uno R3 và cảm biến MPU6050. Mục tiêu chính là xây dựng một hệ thống trò chơi hoàn chỉnh, người chơi tương tác bằng cách xoay trái, phải để điều khiển tâm súng bắn hạ chim. Game bắn vịt trời HCMUTE là sản phẩm chính của đồ án. Thiết kế game tại HCMUTE được thực hiện dựa trên phương pháp lập trình hướng đối tượng.

1.1. Lựa chọn công nghệ và nền tảng

Việc lựa chọn Python là ngôn ngữ lập trình chính dựa trên cú pháp dễ đọc, dễ học, khả năng chạy đa nền tảng và cộng đồng hỗ trợ lớn. Sử dụng Python giúp việc phát triển phần mềm bắn vịt trở nên hiệu quả. Arduino Uno R3 được chọn làm bộ điều khiển trung tâm, cho phép tương tác với các cảm biến và thiết bị ngoại vi. Cảm biến MPU6050 cung cấp dữ liệu về chuyển động, cho phép người chơi điều khiển súng bằng cử động. Việc kết hợp ArduinoPython tạo ra một hệ thống điều khiển trò chơi bắn vịt linh hoạt và hiệu quả. Ứng dụng bắn vịt được xây dựng dựa trên kiến trúc lập trình hướng đối tượng, giúp quản lý mã nguồn và dễ dàng mở rộng chức năng trong tương lai. Phát triển game bắn vịt dựa trên nền tảng này đảm bảo tính ổn định và khả năng tương thích cao.

1.2. Thiết kế phần mềm và giao diện người dùng

Phần mềm được phát triển dựa trên phương pháp lập trình hướng đối tượng. Lập trình hướng đối tượng được sử dụng để tạo ra các lớp (class) quản lý các đối tượng trong game như chim, súng, người chơi. Thiết kế game 2D bắn vịt sử dụng thư viện Tkinter cho giao diện người dùng. Giao diện bao gồm hai phần chính: menu chính và màn hình chơi game. Ứng dụng thực tế game bắn vịt cho phép người dùng tương tác thông qua menu để bắt đầu, kết thúc trò chơi. Chương trình bắn vịt được thiết kế để người chơi có thể điều khiển súng bắn hạ chim bằng cách xoay thiết bị. Quản lý dự án game bắn vịt được thực hiện bài bản, đảm bảo tính logic và hiệu quả của mã nguồn. An toàn trò chơi bắn vịt được đảm bảo thông qua việc kiểm tra và xử lý lỗi trong quá trình phát triển.

1.3. Thi công và kiểm thử hệ thống

Quá trình thi công trò chơi bắn vịt bao gồm việc lắp ráp phần cứng, cài đặt phần mềm và kiểm thử hệ thống. Hệ thống trò chơi bắn vịt được kiểm thử để đảm bảo hoạt động ổn định và chính xác. Chi phí thiết kế trò chơi bắn vịt được tính toán chi tiết. Thời gian thiết kế trò chơi bắn vịt được quản lý chặt chẽ. Kết quả thi công bao gồm một hệ thống trò chơi hoàn chỉnh, hoạt động ổn định và đáp ứng yêu cầu đề ra. Đánh giá kết quả cho thấy hệ thống hoạt động hiệu quả, giao diện thân thiện, dễ sử dụng. Bài tập lớn game bắn vịt HCMUTE này đã đạt được những kết quả khả quan. Đồ án tốt nghiệp game bắn vịt HCMUTE này mang tính ứng dụng cao.

1.4. Kết luận và hướng phát triển

Đồ án đã hoàn thành mục tiêu xây dựng hệ thống trò chơi bắn vịt trời tại HCMUTE. Game bắn vịt HCMUTE hoạt động ổn định và đáp ứng yêu cầu đề ra. Hướng phát triển trong tương lai bao gồm việc mở rộng chức năng trò chơi, nâng cao chất lượng đồ họa và âm thanh. Có thể tích hợp thêm nhiều tính năng mới như: thêm người chơi, tăng độ khó, thêm loại vũ khí… Cộng nghệ game bắn vịt có thể được cải tiến để tối ưu hoá hiệu suất và trải nghiệm người dùng. Giải pháp trò chơi bắn vịt này có thể được ứng dụng rộng rãi trong các hoạt động giải trí và giáo dục. Xu hướng trò chơi bắn vịt hiện nay đang hướng tới đồ họa 3D và tính năng đa người chơi, điều này cần được nghiên cứu thêm trong tương lai. Dự án game HCMUTE này đóng góp vào việc phát triển công nghệ game trong trường.

01/02/2025

Trích đoạn nội dung tài liệu

LỜI MỞ ĐẦU. VI 7 DANH MỤC CÁC TỪ VI T TẮT. VIII 8 DANH MỤC BẢNG BIỂU. IX 9 DANH MỤC HÌNH ẢNH.

X Chƣơng 1: TỔNG QUAN. Lịch sử máy chơi game. Lý do chọn ề tài. Mục tiêu của ề tài.

Đối tƣợng và phạm vi nghiên cứu. 12 Chƣơng 2: CƠ SỞ LÝ THUY T. Ngôn ngữ lập trình Python. Giới thiệu ngôn ngữ lập trình Python.

Lý do chọn Python. Lập trình hƣớng ối tƣợng trong Python. Lập trình hƣớng ối tƣợng là gì?. S khác biệt giữa lập trình hƣớng thủ tục và hƣớng ối tƣợng.

Khái niệm và cách khai báo Class trong Python. Board mạch nhúng Arduino Uno R3. Phần cứng Arduino UNO R3. Các ngõ ra vào của Arduino UNO R3.

Cảm biến MPU6050. 21 VI do an 2. Thông số kỹ thuật. Chuẩn giao tiếp I2C.

Cấu tạo và nguyên lý hoạt ộng. Trình t truyền bit. 23 Chƣơng 3: PHẦN CỨNG. Sơ ồ nguyên lý và chức năng.

26 Chƣơng 4: PHẦN MỀM. Lập trình GUI với Tkinter Python. Giới thiệu giao diện game. Giao tiếp giữa ngƣời dùng với “Menu Game” và “Play Game”.

Xây d ng Class Diagram ể quản lý game. Luồng xử lý tạo một ối tƣợng Bird. Luồng xử lý của Frame Game và Frame Menu. Thêm ối tƣợng mới.

39 Chƣơng 5: K T QUẢ. Kết quả thi công. Đánh giá kết quả. 44 Chƣơng 6: K T LUẬN VÀ HƢỚNG PHÁT TRIỂN.

Hƣớng phát triển. Thêm ngƣời chơi. 46 10 TÀI LIỆU THAM KHẢO .48 VII do an 7 DANH MỤC CÁC TỪ VIẾT TẮT GPIO General Purpose Input Output ADC Analog to Digital Converter PWM Pulse Width Modulation UART Universal Asynchronous Receiver – Transmitter I2C Inter-Integrated Circuit SPI Serial Peripheral Interface CAN Controller Area Network USB Universal Serial Bus RTC Real-time Clock VIII do an 8 DANH MỤC BẢNG BIỂU Bảng 2.1 Bảng thông số Arduino UNO R3 .2 Bảng thông số MPU6050 .1 Thuộc tính và phƣơng thức của class “CFactoryBird” .2 Thuộc tính và phƣơng thức của class “CBaseObject”.3 Thuộc tính của class “CBaseBird” .4 Thuộc tính của class “CPlayer” .5 Thuộc tính của class “CGun” .35 IX do an 9 DANH MỤC HÌNH ẢNH Hình 2.1 Board mạch Arduino Uno R3 .2 Sơ ồ chân Arduino UNO R3 .3 Cảm biến MPU6050 .5 Chuẩn giao tiếp I2C .6 Trình t truyền nhận bit .7 Điều kiện Start Stop .1 Sơ ồ khối hệ thống .2 Sơ ồ nguyên lý hệ thống.3 Góc quay theo 3 trục .4 Chƣơng trình chính .5 Chƣơng trình ngắt .1 Giao diện “Menu Game” .2 Giao diện “Play Game” .6 Giao tiếp giữa ngƣời dùng với 2 Frame .8 Đối tƣợng Canvas.9 Luồng xử lý tạo GunBird .10 Trạng thái bay của ối tƣợng Bird .11 Trạng thái di chuyển của ối tƣợng Bird .12 Luồng xử lý của Frame Menu .13 Luồng xử lý của Frame Game .15 Trạng thái của một ối tƣợng .16 Class diagram khi thêm mới một ối tƣợng .17 Xử lý khi thêm một ối tƣợng mới .1 Chƣơng trình game.2 Hồng tâm di chuyển theo di chuyển của ngƣời chơi 1.3 Hồng tâm di chuyển theo di chuyển của ngƣời chơi 2.43 X do an Hình 5.4 Xác xuất tạo “GunBird” .5 Template setting game .6 Sử dụng Visual Basic trong Excel .7 Template XML setting game .1 Thiết kế phần cứng 2 ngƣời chơi .2 Thiết kế phần cứng cho 3 ngƣời chơi trở lên .47 XI do an Chƣơng 1: TỔNG QUAN 1. Lịch sử máy chơi game.

Với s phát triển của công nghệ thông tin, game ã trở thành hình thức giải trí rất phổ biến trên thế giới với sức lôi cuốn ặc biệt .Qua nhiều thời kỳ, các thể loại game không ngừng thay ổi áp ứng nhu cầu a dạng của ngƣời chơi. Douglas ã phát triển trò chơi OXO, mà tiếng Việt gọi là trò cờ ca-rô, ể minh hoạ cho luận văn về s tƣơng tác của con ngƣời với máy tính.Đầu thập kỷ 80, công nghệ sản xuất game cho máy thùng ã trở nên "tinh tế" và ủ sức mang lại ồ hoạ và âm thanh chất lƣợng tốt, tuy nhiên vẫn còn khá "cơ bản" .Thành công của game loại này là d a trên tính ơn giản và s giải trí nhẹ nhàng .Game "xèng" ã phát triển rộng khắp trên Bắc Mỹ và Nhật Bản. Lý do chọn đề tài. Trong cuộc sống ngày nay các thiết bị iện tử óng vai trò rất lớn .Mọi ngƣời có thể thấy ƣợc nhiều ứng dụng của iện tử vào các lĩnh v c nhƣ y tế, nông nghiệp, giao thông, ngân hàng … .Đặc biệt là giải trí nhƣ phim, nhạc số và game .Vì mong muốn hiểu thêm về cách hoạt ộng của một game nên ngƣời th c hiện quyết ịnh chọn ề tài “Thiết kế và thi công hệ thống trò chơi trò chơi bắn vịt trời”.

Mục tiêu của đề tài. Xây d ng ƣợc một hệ thống trò chơi giải trí hoàn chỉnh, gồm game ƣợc lập trình theo hƣớng ối tƣợng trên Windows sử dụng ngôn ngữ Python, ngƣời chơi co thể tƣơng tác với game bằng các hành ộng xoay trái, xoay phải ể di chuyển ƣợc hông tâm của súng ể bắn hạ các chú chim. Đối tƣợng và phạm vi nghiên cứu. Đề tài sẽ tập trung nghiêm cứu về lập trình hƣớng ối tƣợng ể lập trình game ở m c ộ cơ bản tƣơng tác với ngƣời dùng thông qua board mạch Arduino Uno R3 kết hợp với cảm biến MPU6050.

Bố cục ồ án gồm 6 chƣơng, cụ thể nhƣ sau:  Chƣơng 1: Tổng quan  Chƣơng 2: Cơ sơ ly thuyết  Chƣơng 3: Phần cứng  Chƣơng 4: Phần mềm  Chƣơng 5: Kết quả  Chƣơng 6: Kết luận và hƣớng phát triển 12 do an Chƣơng 2: CƠ SỞ LÝ THUY T 2. Ngôn ngữ lập trình Python. Giới thiệu ngôn ngữ lập trình Python. Python là ngôn ngữ lập trình cấp cao ƣợc tạo ra vào cuối những năm 1980 và ƣợc ặt tên theo nhóm kịch Monty Python, ƣợc sử dụng nhiều trong việc kiểm thử các vi mạch, viết các ứng dụng, cho tới việc làm các video game.

Python có thể chạy ƣợc trên nhiều hệ iều hành nhƣ Window, Linux, MAC OS, Unix, MS DOS,… 2. Lý do chọn Python. Python có cú pháp dễ ọc, dễ học, vừa hƣớng ối tƣợng, vừa hƣớng thủ tục, có khả năng chạy trên nhiều nền tảng khác nhau .Thêm vào ó Python có một cộng ồng ngƣời sử dụng rất lớn, là nơi ể những ngƣời mới bắt ầu tìm kiếm s giúp ỡ khi gặp khó khăn, và cũng là nơi chia sẽ những mã nguồn bổ ích với nhau .Hầu nhƣ tất cả thƣ viện hỗ trợ ều tập hợp ở trang wed https://pypi. Python còn ƣợc sử dụng nhiều trong các công nghệ “HOT” hiện nay nhƣ: OpenCV, AI,.Đƣơng nhiên các ngôn ngữ khác vẫn có thể sử dụng trong các công nghệ trên nhƣng Python giúp ta nhanh chóng tiếp cận và xây d ng các ứng dụng một cách hiệu quả.

Lập trình hƣớng đối tƣợng trong Python. Lập trình hƣớng đối tƣợng là gì? Lập trình hƣớng ối tƣợng hay còn ƣợc gọi OOP(Object Oriented Programming) ƣợc phát triển từ những năm 2000 nhằm thay thế lập trình thủ tục. Giúp ngƣời lập trình ơn giản hóa công việc xây d ng và quản lý phần mềm, hƣớng ến các ối tƣợng trong th c tế và mô tả ối tƣợng ó bằng các phƣơng thức và thuộc tính. Sự khác biệt giữa lập trình hƣớng thủ tục và hƣớng đối tƣợng.

Trong lập trình hƣớng thủ tục thì chƣơng trình ƣợc chia nhỏ thành các chƣơng trình con (các hàm) mỗi chƣơng trình con th c hiện một công việc xác ịnh.Chƣơng trình sẽ gọi ến chƣơng trình con theo một giải thuật hoặc một cấu trúc ƣợc xác ịnh trong chƣơng trình chính. Nhƣng khi phát triển một phần mềm lớn hơn khối lƣợng hàm và dữ liệu tăng nhiều lần thì lập trình hƣớng thủ tục lại bộc lộ ra nhiều iểm yếu, nhƣ việc số hàm quá nhiều cộng thêm s truy cập t do không bị bất cừ ràng bộc nào dẫn ến việc bảo mật dữ liệu yếu kém, quản lý một dữ liệu lớn ở lập trình hƣớng thủ tục gặp cũng nhiều khó khăn vì không có tính óng gói, kế thừa nên khi nâng cấp, bảo trì, sửa chữa phải mất rất nhiều thời gian. 13 do an Vậy nên ể khắc phục những hạn chế này khi giải quyết những bài toán lớn, ngƣời ta xây d ng 1 phƣơng pháp tiếp cận mới là lập trình hƣớng ối tƣợng nhằm mục ích óng gói các dữ liệu ể hạn chế truy nhập t do vào dữ liệu và cho phép sử dụng lại mã nguồn, hạn chế việc viết lại mã từ ầu cho các chƣơng trình. Hầu hết các ngôn ngữ lập trình hƣớng ối tƣợng ều ảm bảo 4 tính chất sau: 1.

Tính trừu tƣợng: Tính trừu tƣợng trong lập trình hƣớng ối tƣợng là tìm ra các ặc trƣng về phƣơng thức và thuộc tính từ các mô tả chức năng của chƣơng trình ể trừu tƣợng hóa thành các ối tƣợng các class. Tính óng gói: Tính óng gói có thể hiểu là việc ảm bảo toàn vẹn dữ liệu, ảm bảo cho dữ liệu ƣợc bảo mật. Để làm ƣợc iều này thì lập trình hƣớng ối tƣợng cho phép ngƣời dùng giới hạn truy cập (access modifier) bằng các từ khóa public, private, protected (C++). Tính kế thừa: Tính kế thừa cho phép ngƣời dùng tái sử dụng các mã nguồn ã có sẵn, dễ dàng nâng cấp, sữa chữa phần mềm.

Tính a hình: Tính a hình cho phép một ối tƣợng có hình thái khác nhau. Để hiểu rõ hơn về 4 tính trên mời mọi ngƣời cùng i tìm hiểu ở phần tiếp theo. Khái niệm và cách khai báo Class trong Python. Class là một kiểu dữ liệu mới do ngƣời dùng t ịnh nghĩa, cũng là một iểm mới so với lập trình thủ tục không có ƣợc .Một Class gồm có các thuộc tính (biến) và phƣơng thức (hàm) .Các thuộc tính và phƣơng thức thành viên của một lớp ƣợc truy cập thông qua toán tử dot (dấu chấm) .Dƣới ây là các khai báo một class trong Python: class Sinhvien: # Hàm khởi tạo def __init__(self, Ten, MSSV): self.ten = Ten self.mssv = MSSV # Hàm hiển thị thông tin sinh viên def HienThiSinhvien(self): print "Ten : ", self.ten, ", MSSV: ", self.mssv Nhƣ vậy, ngƣời th c hiện vừa tạo xong một class SinhVien, với các thuộc tính là “ten”, “mssv” và phƣơng thức “HienThiSinhVien” , “__init__”.

14 do an Hàm “__init__” là constructor của lớp, hàm này ƣợc gọi khi bạn tạo ra một instance, cụ thể ở class “Sinhvien” khi mọi ngƣời tạo ra một instance ở class này thì bắt buộc phải cung cấp tên sinh viên (thuộc tính “Ten”) và mã số sinh viên (“MSSV”), sau ó các thông tin này sẽ lƣu lại trong biến thành viên của class (“self.ten” và “self. Hàm “HienThiSinhVien” là một phƣơng thức thành viên của lớp, hàm này không có ối số ầu vào, nhiệm vụ chỉ là in tên và mã số sinh viên ra màn hình khi ƣợc gọi .

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Thiết kế và thi công hệ thống trò chơi bắn vịt trời tại HCMUTE" mang đến cái nhìn sâu sắc về quy trình thiết kế và thi công một hệ thống trò chơi giải trí độc đáo, kết hợp giữa công nghệ và sáng tạo. Bài viết không chỉ mô tả các bước thực hiện mà còn nhấn mạnh lợi ích của việc phát triển các hệ thống trò chơi như vậy trong việc nâng cao kỹ năng kỹ thuật cho sinh viên, đồng thời tạo ra một sản phẩm giải trí hấp dẫn cho cộng đồng.

Để mở rộng thêm kiến thức về các dự án tương tự, bạn có thể tham khảo bài viết về ứng dụng trò chơi chạy trạm có sử dụng vuforia, nơi khám phá cách công nghệ thực tế ảo được áp dụng trong trò chơi. Ngoài ra, bài viết thiết kế và thử nghiệm thông số in từ máy in 3d laser bột cũng sẽ giúp bạn hiểu rõ hơn về ứng dụng công nghệ in 3D trong thiết kế sản phẩm. Cuối cùng, bạn có thể tìm hiểu thêm về ứng dụng phần mềm artcam trong gia công điêu khắc trên máy cnc, một lĩnh vực liên quan đến thiết kế và sản xuất. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các ứng dụng công nghệ trong lĩnh vực thiết kế và thi công.