Báo cáo JAVA game Kunny

26 0 0
Báo cáo JAVA game Kunny

Đ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

Báo cáo Game Kunny mô phỏng theo game bắn súng tọa độ Gunny lập trình bằng ngôn ngữ JAVA. Báo cáo mô tả lại các class, các phương thức xây dựng game,...

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

3 Điều kiện thắng thua 7

III Thiết kế các đối tượng 8

2.5 Xây dựng âm thanh trò chơi 18

IV Kết quả đạt được 19

1 Giao diện 19

2 Chuyển động nhân vật (animation) 23

V Cải thiện và nâng cấp 25

TÀI LIỆU THAM KHẢO 26

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 Phương thức xây dựng nhân vật 9

Hình 2 Phương thức xử lí sự kiện người chơi di chuyển 10

Hình 10 Phương thức xây dựng animation (Ví dụ tấn công slime) 17

Hình 11 Phương thức xây dựng âm thanh trò chơi 18

Hình 12 Giao diện chọn màn chơi game 19

Hình 13 Màn chơi ổ kiến ma 20

Hình 14 Màn chơi cứu gà con 20

Hình 15 Màn chơi Thành trên không 21

Hình 16 Kẻ địch tấn công nhân vật 21

Hình 17 Đạn nổ 22

Hình 18 Giao diện thắng 22

Hình 19 Giao diện thua 23

Hình 20 Sprite Sheet nhân vật chuyển động 23

Hình 21 Sprite Sheet Gà tấn công 23

Hình 22 Sprite Sheet Kiến tấn công 24

Hình 23 Sprite Sheet Slime tấn công 24

Hình 24 Sprite Sheet đạn nổ 24

Trang 4

LỜI NÓI ĐẦU

Công nghệ thông tin (CNTT) đang ngày càng đóng vai trò quan trọng trong cuộc sống hàng ngày của chúng ta, đặc biệt là trong lĩnh vực giải trí và giáo dục Việc ứng dụng CNTT vào các trò chơi truyền thống không chỉ là một cách thú vị để khám phá và tận hưởng, mà còn là một cơ hội tuyệt vời để rèn luyện kỹ năng lập trình và tư duy logic Gunny, với sức hút và sự phổ biến rộng rãi, là một trong những trò chơi trực tuyến được nhiều người yêu thích Việc chuyển đổi và tái tạo trò chơi này thành phiên bản điện tử sẽ mang lại không chỉ trải nghiệm thú vị cho người chơi mà còn là một thách thức đầy sáng tạo đối với các nhà phát triển Chính vì vậy, trong bài tập lớn môn Java này, em đã lựa chọn đề tài "Lập trình Game bắn súng Gunny" Bằng việc áp dụng kiến thức lập trình và hiểu biết về cơ chế hoạt động của trò chơi, em đã tạo ra một phiên bản Gunny điện tử sáng tạo và hấp dẫn, giúp tăng cường kỹ năng lập trình và hiểu biết về trò chơi của chính mình.

Trang 5

I Đặt vấn đề

Trong thế giới game bắn súng Kunny, không chỉ yêu cầu may mắn mà còn đòi hỏi sự khéo léo và chiến lược Mặc dù trò chơi có thể dễ dàng hấp dẫn bằng việc chỉ có một số lượng giới hạn các vũ khí và các yếu tố trên trường chiến, nhưng sự phức tạp của nó vẫn đòi hỏi người chơi phải có khả năng đánh giá tình hình và lập kế hoạch chiến lược một cách tỉ mỉ và logic Kunny là một trong những trò chơi bắn súng trực tuyến phổ biến nhất trên thế giới, thu hút hàng triệu người chơi từ mọi lứa tuổi và mọi tầng lớp xã hội.

Không chỉ là một trò chơi giải trí, Kunny còn là một môn thể thao điện tử và một cách để rèn luyện khả năng phản xạ nhanh nhạy và chiến thuật linh hoạt Trong thời đại của công nghệ thông tin hiện đại, với sự phát triển của các trò chơi điện tử và ứng dụng trên điện thoại di động, Kunny vẫn giữ được sức hút và giá trị giải trí của mình Máy tính không chỉ làm tăng thêm sự thú vị của trò chơi này mà còn cung cấp cơ hội cho người chơi để rèn luyện kỹ năng, chiến thuật và tương tác cộng đồng.

Trang 6

II Luật chơi

 Phương thức tấn công: Slime nhảy vào người chơi gây sát thương và di chuyển qua 3 vị trí bất kì đã được chỉ định

 Đầu game nhân vật và kẻ địch sẽ nhận được 100 máu, mỗi lần tấn công sẽ tạo 10 sát thương

2 Di chuyển  Nhân vật:

 Sử dụng phím mũi tên ←, → để di chuyển bò sang trái, phải  Sử dụng phím mũi tên ↑, ↓ để điều chỉnh hướng bắn

Trang 7

3 Điều kiện thắng thua

 Màn chơi sẽ kết thúc khi máu của nhân vật hoặc kẻ địch về 0

 Khi máu người chơi về 0: Màn hình hiển thị thông báo thua cuộc (Defeat)  Khi máu kẻ dịch về 0: Màn hình hiển thị thông báo chiến thắng (Victory)

Trang 8

III Thiết kế các đối tượng

1 Cấu trúc dự án

 Game được thiết kế trong 1 package GiaoDien:

 Class AngleBar.java: xử lí hành động căn góc bắn

 Class BOM.java, ant.java, move_left.java, slime_at.java, stand.java, stand_left.java, MoveCharacter_Boy.java, Chic_At.java: lưu thông tin chuyển động hiệu ứng chuyển động nhân vật, kẻ địch và đạn nổ

 Class Boss.java: xử lí các hành động của kẻ dịch  Class Bullet.java: xử lí các hành động của viên đạn  Class BulletManager.java : lưu trữ viên đạn

 Class Defeated.java, Victory.java

 Class DoHoaGC.java: lưu thông tin và khởi tạo màn chơi cứu gà con  Class DoHoaOKM.java: lưu thông tin và khởi tạo màn chơi ổ kiến ma  Class DoHoaTTK.java: lưu thông tin và khởi tạo màn chơi thành trên

 Class GameInterface.java: khởi động trò chơi

 Class Object.java: lưu thông tin cơ bản các đối tượng cụ thể trong trò chơi  Class ObjectManager.java: lưu trữ các đối tượng và xử lí thông tin chung  Class Player.java: xử lí các hành động của nhân vật

 Class PowerBar.java: lưu thông tin thanh lực

 Class SoundPlayer.java: xử lý nhạc nền, hiệu ứng âm thanh.

Trang 9

2 Xây dựng các phương thức 2.1 Xây dựng nhân vật

Hình 1 Phương thức xây dựng nhân vật

Thiết lập vị trí, thanh máu và trạng thái nhân vật

2.1.1 Xử lí sự kiện người chơi di chuyển

Trang 10

Hình 2 Phương thức xử lí sự kiện người chơi di chuyển

Gán biến sự kiện di chuyển trái phải của người chơi với mũi tên →, ←

Khi biến sự kiện nhận tín hiệu từ bán phím, nhân vật sẽ di chuyển tương ứng với phím được bấm theo logic vị trí sau khi bấm nút = vị trí ban đầu ± vận tốc nhân vật.

2.1.2 Xử lí sự kiện người chơi chỉnh lực và góc bắn

Hình 3 Phương thức xử lí sự kiện chỉnh lực và góc bắn

Gắn biến sự kiện căn góc bắn của người chơi theo mũi tên ↑, ↓ Gắn biến sự kiện căn lực bắn của người chơi theo phím Y

Khi biến sự kiện nhận tín hiệu từ bán phím, nhân vật sẽ thao tác theo các phương thức đã khởi tạo.

Trang 11

2.2 Xây dựng đạn bắn

Hình 4 Phương thức xây dựng đạn bắn

Thiết lập tốc độ bay và sát thương viên đạn

2.2.1 Tạo ra viên đạn gắn với người chơi

Hình 5 Phương thức tạo viên đạn gắn với người chơi

Khởi tạo viên đạn gắn với người chơi Vị trí viên đạn bắn tới được tính dựa theo đường thẳng với lực và hướng bắn đã lấy được từ sự kiện căn góc và căn lực bắn.

Sau khi cập nhật được vị trí viên đạn bắn tới thì khởi tạo viên đạn và kiểm tra va chạm kẻ địch.

Trang 12

2.2.2 Xử lí va chạm viên đạn với kẻ địch

Hình 6 Phương thức xử lí va chạm với kẻ địch

Tạo biến bossBounds để lưu trữ vùng bao quanh kẻ địch, biến bulletBounds để tạo vùng bao quanh viên đạn Kiểm tra nếu vùng bao quanh viên đạn va chạm với vùng bao quanh kẻ địch thì gọi hàm để trừ máu kẻ địch

Trang 13

2.3 Xây dựng kẻ địch

Hình 7 Phương thức xây dựng kẻ địch

Thiết lập vị trí, thanh máu và trạng thái kẻ địch

2.3.1 Xử lí sự kiện kẻ địch di chuyển

Trang 15

Hình 8 Phương thức di chuyển kẻ địch

Xây dựng phương thức di chuyển kẻ địch đến tấn công nhân vật rồi di chuyển đến vị trí mới bất kì đã được chỉ định

2.3.2 Xử lí sự kiện kẻ địch tấn công

Trang 16

Hình 9 Phương thức xử lí kẻ địch tấn tông

Xây dựng phương thức tấn công nhân vật: Khi kẻ địch di chuyển tới gần nhân vật, nhân vật chạm tới phạm vi tấn công của kẻ địch sẽ nhận sát thương 10 máu

Trang 17

2.4 Xây dựng animation

Hình 10 Phương thức xây dựng animation (Ví dụ tấn công slime)

Tạo biến spriteSheet lưu trữ hình ảnh chuyển động nhân vật, chia frame theo số lượng khung hình chuyển động của hình ảnh được truyền vào Phương thức scaleSpriteSheet để thu phóng hình ảnh vừa với khung hình màn chơi

Trang 18

2.5 Xây dựng âm thanh trò chơi

Hình 11 Phương thức xây dựng âm thanh trò chơi

Khởi tạo class SoundPlayer chứa phương thức playSound để truyền đường dẫn âm thanh dưới dạng wav

Trang 19

IV Kết quả đạt được

 Game bắn súng Kunny với cơ chế PvE

 Game bao gồm những phương thức cơ bản của 1 trò chơi

1 Giao diện

 Menu chọn màn chơi:

Hình 12 Giao diện chọn màn chơi game

 Giao diện đầu màn:

Trang 20

Hình 13 Màn chơi ổ kiến ma

Hình 14 Màn chơi cứu gà con

Trang 21

Hình 15 Màn chơi Thành trên không

 Kẻ địch tấn công nhân vật

Hình 16 Kẻ địch tấn công nhân vật

 Đạn nổ

Trang 22

Hình 17 Đạn nổ

 Giao diện thắng/ thua:

Hình 18 Giao diện thắng

Trang 23

Hình 19 Giao diện thua

2 Chuyển động nhân vật (animation)

Trang 24

Hình 22 Sprite Sheet Kiến tấn công

Hình 23 Sprite Sheet Slime tấn công

 Đạn nổ

Hình 24 Sprite Sheet đạn nổ

Trang 25

V Cải thiện và nâng cấp

 Chưa làm được map cửa hàng

 Chưa liên kết được các màn chơi với nhau  Chưa vẽ được đường đạn bay

Trang 26

TÀI LIỆU THAM KHẢO

Slide bài giảng của cô Đào Thị Lệ Thủy

Ngày đăng: 28/04/2024, 09:04

Tài liệu cùng người dùng

Tài liệu liên quan