Tải bản đầy đủ (.docx) (32 trang)

Báo cáo đồ án trò chơi bắn súng pháo binh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.31 MB, 32 trang )

TRƯỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT & CÔNG NGHỆ

ĐỒ ÁN HỌC PHẦN
TƯƠNG TÁC NGƯỜI MÁY
XÂY DỰNG TRÒ CHƠI BẮN SÚNG PHÁO BINH BẰNG
NGƠN NGỮ LẬP TRÌNH SCRATCH
Giảng viên hướng dẫn: Th.s Nguyễn
Sinh viên thực hiện:

Nghệ An - 2022


LỜI MỞ ĐẦU
Công nghệ hiện nay đang ngày càng phát triển rất nhanh và mạnh mẽ trên mọi lĩnh
vực ở khắp nơi trên toàn thế giới, và trong vài năm trở lại đây Việt Nam là nơi mà có nhiều
sự đầu tư vào vào công nghệ đặc biệt là công nghệ thông tin. Tin học đã và đang là một
trong những vấn đề khơng thể thiếu đối với bất kì một tổ chức, công ty nào. Công nghệ
thông tin đã và đang bước vào đời sống con người, giúp con người làm được nhiều thứ như:
giải trí, làm việc, chữa bệnh, ... và trên đó game là một trong thứ giúp con người giải trí sau
những giờ làm việc căng thẳng và nhiều game có thể kiếm được thu nhập.
Vào năm 2008 nhóm nghiên cứu Lifelong Kindergarten Group thuộc đại học
Massachusetts Institute of Technology (MIT) đã thiết lập nên một ngơn ngữ lập trình trực
quan, có tên là “Scratch”. Scratch ra đời đã giải quyết được cơ bản vấn đề dạy lập trình như
thế nào cho lứa tuổi thiếu nhi và thiếu niên. Scratch rất thích hợp để tạo ra các trò chơi với
đồ họa 2D, âm thanh, chuyển động rất phong phú. Qua thời gian tìm hiểu và thực hành về
Scratch, nhóm chúng em đã quyết định chọn ngơn ngữ lập trình Scratch để làm về đề tài
“Xây dựng trị chơi bắn súng pháo binh bằng ngơn ngữ lập trình Scratch” để làm để tài
cho đồ án học phần “Tương tác người – máy” lần này.



MỤC LỤC
LỜI MỞ ĐẦU......................................................................................................................................................i
CHƯƠNG 1: GIỚI THIỆU...............................................................................................................................3
1. Ngôn ngữ Scratch.......................................................................................................................................3
1.1. Sự ra đời của ngơn ngữ lập trình Scratch........................................................................................3
1.2. Ưu điểm của ngơn ngữ lập trình scratch..........................................................................................3
1.3. Scratch 3.0............................................................................................................................................4
1.4. Danh sách các nhóm lệnh trong Scratch..........................................................................................7
2.Giới thiệu về đề tài....................................................................................................................................16
2.1. Lý do chọn đề tài................................................................................................................................16
2.2. Mục tiêu đề tài....................................................................................................................................16
2.3. Cách tiếp cận, phương pháp nghiên cứu.........................................................................................16
2.4. Đối tượng và phạm vi nghiên cứu....................................................................................................16
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ..................................................................................................17
1. Phân tích....................................................................................................................................................17
2. Chức năng trị chơi...................................................................................................................................17
3. Thiết kế......................................................................................................................................................17
3.1 Nhân vật kẻ địch.................................................................................................................................17
3.2 Nhân vật máy bay..............................................................................................................................20
3.3 Nhân vật lính nhảy dù.......................................................................................................................22
3.4. Viên đạn..............................................................................................................................................25
3.5. Nhân vật phụ.....................................................................................................................................26
3.6. Thiết lập một số thông báo...............................................................................................................26
CHƯƠNG 3. TRIỂN KHAI VÀ KẾT LUẬN...............................................................................................27
1. Giao diện....................................................................................................................................................27
1.1 Giao diện trang chủ............................................................................................................................27
1.2 Giao diện khi chọn cấp độ chơi..........................................................................................................27
1.3. Giao diện lever 1.................................................................................................................................28
1.4. Giao diện lever 2.................................................................................................................................28
2. Kết luận.....................................................................................................................................................28

2.1. Đạt được..............................................................................................................................................28
2.2. Hạn chế...............................................................................................................................................29
TÀI LIỆU THAM KHẢO...............................................................................................................................30


CHƯƠNG 1: GIỚI THIỆU
1. Ngôn ngữ Scratch.
1.1. Sự ra đời của ngơn ngữ lập trình Scratch
Mơi trường và ngơn ngữ lập trình Scratch do nhóm nghiên cứu Lifelong
Kindergarten Group thuộc trung tâm Media Lab của Viện công nghệ Massachusetts
(Massachusetts Institute of Technology - MIT) thiết lập đầu năm 2008. Dẫn đầu dự án
nghiên cứu sáng tạo ra ngôn ngữ này là giáo sư Mitchel Resnick, ông cũng là giám đốc điều
hành của nhóm Lifelong Kindergarten. Ý tưởng ban đầu của nhóm chỉ là thiết lập một ngơn
ngữ lập trình mới, chỉ dùng kéo thả, dành cho thiếu nhi để thiết lập trị chơi, phim hoạt
hình, ứng dụng đơn giản, kích thích sự sáng tạo trong mơi trường làm việc nhóm của trẻ.
Scratch được coi là một phương pháp lập trình vô cùng thú vị và phù hợp với trẻ em.
Tuy nhiên Scratch chỉ thực sự bùng nổ từ năm 2014 khi một số quốc gia như Anh,
Mỹ, Nhật đã đổi mới đột phá chương trình giảng dạy mơn Tin học trong nhà trường, đưa
nội dung kiến thức Khoa học máy tính vào nhà trường ngay từ cấp Tiểu học. Một trong
những đề nghị quan trọng nhất của các chương trình này là cần đưa các ngơn ngữ lập trình
đơn giản, dạng kéo thả như Scratch vào giảng dạy trong nhà trường ngay từ Tiểu học. Việc
điều chỉnh chương trình mơn Tin học này đã kéo theo sự gia tăng bùng nổ của Scratch trên
phạm vi toàn thế giới. Số lượng học sinh đăng ký tham gia trang Scratch tăng đột biến cả về
số lượng và chất lượng. Thực tế đã chứng minh tính hấp dẫn của các mơi trường lập trình
kéo thả như Scratch, sự đam mê lập trình của trẻ nhỏ. Scratch vơ cùng thích hợp cho trẻ lứa
tuổi từ 6 đến 14, tức là các cấp Tiểu học, THCS của Việt Nam. Chính vì vậy trong chương
trình đổi mới giáo dục của Việt Nam sau 2018, Bộ Giáo dục & Đào tạo cũng đã quyết định
đưa nội dung kiến thức Khoa học máy tính trong mơn Tin học vào ngay từ cấp Tiểu học và
những ngôn ngữ lập trình kéo thả như Scratch sẽ là một lựa chọn tốt cho các nhà trường và
học sinh.

1.2. Ưu điểm của ngơn ngữ lập trình scratch
Scratch 3.0 là phần mềm được thiết kế với giao diện đẹp mắt, gần gũi với trẻ em nên
rất dễ dàng sử dụng, bởi vừa trực quan, vừa đơn giản phù hợp cho mọi lứa tuổi. Dưới đây là
10 ưu điểm vượt trội có trên ngơn ngữ lập trình scratch 3.0
 Hỗ trợ đắc lực cho trẻ rèn luyện tính kiên trì, tỉ mỉ trong học tập và trong cuộc sống
 Hình thành thói quen tự giác học tập, giải quyết công việc từ những nội dung thực
hành phần mềm.
3


 Giúp trẻ phát huy trí tưởng tượng mới mẻ, sáng tạo trong quá trình vừa học vừa
chơi phần mềm.
 Bồi dưỡng đam mê học tập trong trẻ từ sớm, nhờ đồ họa, nội dung hấp dẫn với độ
tuổi.
 Nội dung lập trình Scratch 3.0 giúp trẻ học cách diễn đạt ý tưởng, suy nghĩ logic,
chặt chẽ. Đặc biệt là sự phát triển của tư duy lập trình ở trẻ.
 Scratch cũng yêu cầu khả năng kết nối với những người tham gia khác. Từ đó, trẻ
biết cách làm việc nhóm hiệu quả.
 Trẻ học được tư duy chọn lọc, đưa ra quyết định, thử trải nghiệm điều mới mẻ trong
phần mềm.
 Những hoạt động trong phần mềm sẽ dần hoàn thiện và nâng cao kỹ năng giao tiếp
của trẻ.
 Chia sẻ và học hỏi kiến thức về Scartch bằng hình thức trực tuyến thơng qua các
nhóm cộng đồng, bởi hiện nay trên thế giới, lượng người sử dụng ngôn ngữ lập
trình Scartch là rất đơng.
 Scratch là ngơn ngữ nền tảng giúp bạn trang bị những kiến thức hàn lâm về lập
trình.
1.3. Scratch 3.0
1.3.1. Khung điều khiển của Scratch
 Khung điều khiển của phần mềm Scratch có 3 Tab thông tin là: Lệnh (Code), Thiết

kế (Costumes) và âm thanh (Sounds).
 Lệnh (Code): Đó là nơi chứa danh mục các lệnh để lập trình nên các đối tượng trong
Scratch.
 Thiết kế (Costumes): Là nơi chứa các thiết kế và các giao diện khác nhau của đối
tượng.
 Âm thanh (Sounds): Nơi có chứa âm thanh khác nhau của đối tượng.
1.3.2. Cửa sổ lệnh trên giao diện chính
Cửa sổ lệnh là nơi chứa các lệnh để điều khiển hoạt động của nhân vật. Chúng ta sẽ
kéo các lệnh từ khung điều khiển sang cửa sổ này và lắp ghép các khối lệnh khác nhau để
tạo thành một “chương trình” để điều khiển đối tượng.
4


Hình 1.1: Giao diện chính của Scratch
1.3.3. Sân khấu (Stage)

Hình 2.2: Sân khấu của Scratch
5


Sân khấu là nơi biểu diễn của các đối tượng, hiển thị hình ảnh và các hiệu ứng đồ
họa. Đây chính là nơi người dùng sẽ tương tác với sản phẩm do chính chúng ta tạo ra.
1.3.4. Nhân vật (Sprites)

Hình 3.3: Giao diện quản lý nhân vật
Là khu vực quản lý các nhân vật của phần mềm. Tại khu vực này, người dùng có thể
thực hiện các thao tác như tạo thêm nhân vật, chỉnh sửa ngoại hình và trang phục cho nhân
vật. Khi lập trình Scratch 3.0 chạy lần đầu tiên, nhân vật chính của bạn chính là chú mèo
Scratch.
Phông nền là khu vực quản lý, chỉnh sửa, thêm mới các ảnh nền hiển thị trên sân

khấu ở giao diện chính của phần mềm. Lưu ý: Đối với Background, người dùng nên xây
dựng những khối lệnh riêng để bảo đảm an tồn.
1.3.5. Ảnh nền, phơng nền (Background)

6


Hình 4.4: Quản lý ảnh nền của Scratch
Phông nền là khu vực quản lý, chỉnh sửa, thêm mới các ảnh nền hiển thị trên sân
khấu ở giao diện chính của phần mềm. Lưu ý: Đối với Background, người dùng nên xây
dựng những khối lệnh riêng để bảo đảm an toàn.
1.4. Danh sách các nhóm lệnh trong Scratch
* Motion - Nhóm lệnh chuyển động
Motion là một nhóm lệnh mà trong nó chứa các khối lệnh chuyên điều khiển các đối
tượng (sprites) chuyển động trên sân khấu (stage).
- Trong phiên bản Scratch 2.0 có 17 khối lệnh trong nhóm Motion. Trong đó có 14
khối lệnh thực thi và 3 khối lệnh báo cáo.
- Tất cả các khối lệnh trong nhóm này được gán với màu xanh đậm.

7


Hình 5.5: Nhóm lệnh chuyển động trong Scratch
* Looks - Nhóm lệnh ngoại hình
Looks là một nhóm lệnh chứa các khối lệnh chun có nhiệm vụ xử lý về hình dạng,
diện mạo, ngoại hình của đối tượng.
- Trong phiên bản Scratch 2.0 có 19 khối lệnh trong nhóm Looks. Trong đó có 16
khối lệnh thực thi và 3 khối lệnh báo cáo.
- Tất cả các khối lệnh trong nhóm này được gán với màu tím than.


8


Hình 6.6: Nhóm lệnh hiển thị trong Scratch
* Sound - Nhóm lệnh âm thanh
Sound là một nhóm lệnh chứa các khối lệnh chuyên điều khiển và xử lý các tín hiệu
âm thanh. Nhóm lệnh Sound được cung cấp một số khối lệnh hữu dụng được thường xuyên
sử dụng như là:
+ Khối lệnh play note () for () beats: Chứa các nốt nhạc cơ bản + Khối lệnh play
drum () for () beats: Các loại âm thanh tiếng trống
9


+ Khối lệnh set intrument to (): Sử dụng các loại nhạc cụ
- Trong phiên bản Scratch 2.0 có 13 khối lệnh trong nhóm Sound. Trong đó có 11
khối lệnh thực thi và 2 khối lệnh báo cáo.
- Tất cả các khối lệnh trong nhóm này được gán với màu tím đỏ.

Hình 7.7: Nhóm lệnh âm thanh trong Scratch
* Pen - Nhóm lệnh vẽ đồ họa
Pen là một nhóm lệnh chứa các khối lệnh chuyên về xử lý đồ họa. Với các khối lệnh
trong nhóm này chúng ta có thể đặt kích thước, màu sắc, tạo bóng mờ của nét vẽ và kết hợp
với các khối lệnh khác trong Scratch để tạo nên những bức vẽ đẹp mắt.
- Trong phiên bản Scratch 2.0 có 11 khối lệnh thực thi trong nhóm lệnh này.
- Tất cả các khối lệnh trong nhóm này được gán với màu xanh thẫm.

10


Hình 8.8: Nhóm lệnh bút vẽ trong Scratch

* Data - Nhóm lệnh dữ liệu
Data là một nhóm lệnh chứa hai nhóm lệnh khác nhau là nhóm lệnh xử lý Biến
(Variables) và nhóm lệnh xử lý Danh sách (List).
- Các khối lệnh trong nhóm Biến dùng để chứa các giá trị và các dữ liệu kiểu chuỗi.
Tên biến do người dùng từ đặt để phù hợp với các kịch bản.
- Các khối lệnh trong nhóm Danh sách được dùng để quản lý danh sách.
- Trong phiên bản Scratch 2.0 có 4 khối lệnh thực thi và 1 khối lệnh báo cáo trong
nhóm lệnh Biến và có 6 khối lệnh thực thi, 3 khối lệnh báo cáo và 1 khối lệnh Logic trong
nhóm lệnh Danh sách.
- Màu cam được gán cho nhóm Biến, màu cam đậm gán cho nhóm Danh sách.
* Events - Nhóm lệnh sự kiện
Events là một nhóm lệnh chứa các khối lệnh điểu khiển các sự kiện, kích hoạt các
kịch bản và tương tác với các thiết bị ngoại vi.
11


- Trong các nhóm lệnh này thì khối lệnh When click (lá cờ xanh) được sử dụng
thường xuyên trong các dự án, kịch bản. Nhóm lệnh này được đặt trên đầu các kịch bản để
khi người dùng kích chuột vào biểu tượng lá cờ xanh trên khu vực sân khấu (stage) thì các
kịch bản cũng đồng thời được kích hoạt.
- Trong phiên bản Scratch 2.0, nhóm lệnh Events có 6 khối lệnh sự kiện và 2 khối
lệnh thực thi.- Màu đặc trưng của nhóm này là màu nâu sẫm.

Hình 9.9: Nhóm lệnh sự kiện trong Scratch
* Control - Nhóm lệnh điều khiển
Control là một nhóm lệnh chứa các khối lệnh điều khiển vòng lặp và xử lý các câu
điều kiện.
- Hầu hết các dự án đều sử dụng các khối lệnh trong nhóm này vì khả năng xử lý
hiệu quả trong các tình huống thực tế.
- Trong phiên bản Scratch 2.0, nhóm lệnh Control có 5 khối lệnh điều khiển, 3 khối

lệnh thực thi, 1 khối lệnh sự kiện, 2 khối lệnh hủy bỏ.
12


- Màu đặc trưng của nhóm này là màu vàng.

Hình 10.10: Nhóm lệnh điều khiển trong Scratch

* Sensing - Nhóm lệnh cảm ứng
Sensing là một nhóm lệnh chứa các khối lệnh điều khiển sự tương tác, cảm ứng với
các thiết bị ngoại vi.

13


- Trong phiên bản Scratch 2.0, nhóm lệnh Sensing có 4 khối lệnh thực thi, 5 khối
lệnh Logic, 11 khối lệnh báo cáo.
- Màu đặc trưng của nhóm này là màu xanh nước biển.

Hình 11.11: Nhóm lệnh cảm biến trong Scratch
* Operators - Nhóm lệnh tính tốn
Operators là một nhóm lệnh chứa các khối lệnh dùng để tính tốn, liên kết chuỗi và
xử lý dữ liệu kiểu logic.
14


- Trong phiên bản Scratch 2.0, nhóm lệnh Operators có 6 khối lệnh Logic và 11 khối
lệnh báo cáo.
- Màu đặc trưng của nhóm này là màu xanh lá cây.


Hình 12.12: Nhóm lệnh tính tốn trong Scratch
* More blocks - Mở rộng
More blocks là một nhóm lệnh chứa các khối lệnh do người dùng tự định nghĩa và
các nhóm lệnh tương tác, điều khiển đồ chơi như LEGO Wedo và PicoBoard.
- Trong quá trình thiết kế kịch bản, người dùng có thể tự định nghĩa ra các khối lệnh
riêng và sử dụng chúng.
15


- Màu đặc trưng của các nhóm này là màu tím đậm và màu nâu đen.

2.Giới thiệu về đề tài
2.1. Lý do chọn đề tài
Trò chơi “bắn súng pháo binh” – trò chơi gắn liền với tuổi thơ của nhiều người. Đây
là một trò chơi được phát triển với nhiều phiên bản khác nhau và ngày nay nó vẫn là một
trong những game giải trí phổ biến trên Internet. Qua đề tài này nhóm đã hiểu thêm về q
trình tạo ra một tựa game như thế nào và cũng hiểu thêm về ngơn ngữ Scratch.
2.2. Mục tiêu đề tài
- Tìm hiểu về ngơn ngữ lập trình Scratch.
- Phân tích và thiết kế được trò chơi “bắn súng pháo binh”.
- Hiểu về các hoạt động của trò chơi.
- Giúp cải thiện về kỹ năng lập trình nhóm, tư duy và giải quyết được bài toán.
2.3. Cách tiếp cận, phương pháp nghiên cứu
- Hướng tiếp cận: Tìm hiểu được để tạo ra ứng dụng trò chơi.
- Phương pháp nghiên cứu:
+ Đọc, hiểu các tài liệu liên quan đến ngơn ngữ lập trình Scratch.
+ Chơi thử và phân tích cách thức hoạt động của trị chơi.
+ Xác định các u cầu chính cần có trong trị chơi.
+ Các đối tượng chính có trong trị chơi.
+ Phân tích, thiết kế cho mỗi đối tượng.

+ Tiến hành lập trình trị chơi, kiểm thử và sửa lỗi.
2.4. Đối tượng và phạm vi nghiên cứu
- Đối tượng:
+ Sử dụng Scratch để lập trình.
+ Người chơi dùng con trỏ chuột để điều chỉnh hướng cho đường đạn đi.
+ Đối thủ tự di chuyển và tiến lại gần phe mình.
- Phạm vi nghiên cứu:
+ Thiết kế được giao diện cho trị chơi với 2 lever
+ Lập trình được các hoạt động cơ bản cho các nhân vật có mặt trong trò chơi.
16


+ Triển khai trị chơi “bắn súng pháo binh” hồn chỉnh trên nền tảng ngơn ngữ
Scratch.

CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ
1. Phân tích
- Ý tưởng của trị chơi này là dùng pháo để tiêu diệt kẻ địch đánh chiếm khu vực bảo
vệ của mình
-

Trị chơi sẽ có 2 cấp độ gồm: dễ và khó.

-

Nhân vật chỉ có thể di chuyển theo chiều ngang hướng đến đối tượng quy định sẵn.

-

Khi kẻ địch bị trúng đạn sẻ biến mất


-

Khi không bị trúng đạn và đến được khu vực người chơi đang bảo về thì sẻ thua
cuộc

-

Cấp độ các màn chơi càng cao thì số lượng địch càng nhiều.

-

Để chiến thắng người chơi phải bắn pháo nhiều và độ chính xác phải cao

2. Chức năng trị chơi
-

Trị chơi sẽ có 2 cấp độ: Dễ và Khó.
 Dễ: Kẻ địch cần tiêu diệt xuất hiện chậm
 Khó: Kẻ địch cần tiêu diệt xuất hiện nhanh

-

Trị chơi khơng tính thời gian vì vậy trò chơi kết thúc khi tiêu diệt hết kẻ địch hoặc
bị kẻ địch tiêu diệt.

-

Hướng quay của pháo sẽ sử dụng con trỏ chuột để di chuyển và click chuột để bắn
đạn


3. Thiết kế
3.1 Nhân vật kẻ địch
- Trang phục

17


Đối thủ
- Hoạt động
+ Nhân vật sẽ di chuyển theo hướng về khẩu pháo

Hình 2.1: Hình ảnh nhân vật trong game

18


Hình 2.2: Code thiết lập xuất hiện

Hình 2.3: Code điều khiển hoạt động

+ Khi nhân vật người chơi chạm vào bom của đối thủ thì sẽ biến mất

19


Hình 2.4: Code khi chạm bom nhân vật biến mất
+ Nhân vật đối thủ thì sẽ tự di chuyển theo hướng về khẩu pháo

Hình 2.5: Code di chuyển


3.2 Nhân vật máy bay
- Trang phục

Máy bay
- Hoạt động
20


+ Nhân vật sẻ di chuyển theo hướng vào phía đám mấy

Hình 2.6: Hình ảnh máy bay trong game

Hình 2.7: Code thiết lập xuất hiện

21


Hình 2.8: Code điều khiển hoạt động
+ Khi bị bắn trúng đạn của đối thủ thì sẻ biến mất

Hình 2.9: Code khi bị trúng đạn
22


+ Nếu không bị trúng đạn, đến điểm đám mấy sẻ biến mất

Hình 2.10: Code khi chạm vào đám mây
+ Máy bay sẻ di chuyển về hướng đám mây


Hình 2.11: Code hướng di chuyển
3.3 Nhân vật lính nhảy dù
- Trang phục

Lính nhảy dù
- Hoạt động
+ Nhân vật sẻ di chuyển theo hướng về khẩu pháo

23


Hình 2.12: Hình ảnh lính dù trong game

Hình 2.13: Code thiết lập xuất hiện

24


×