1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Slide thuyết trình nghiên cứu xây dựng game pacman bằng ngôn ngữ java

40 0 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 đề Nghiên Cứu Xây Dựng Game Pacman Bằng Ngôn Ngữ Java
Tác giả Mai Xuân Điệp, Nguyễn Đỗ Công
Người hướng dẫn ThS. Nguyễn Hồng Thanh
Trường học Hà Nội
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 40
Dung lượng 2,25 MB

Nội dung

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI đa nền tảng khác nhau, cộng đồng mạnh mẽ, tài nguyên phong phú và là một ngôn ngữ lập trình hướng đối tượng giúp quản lý mã nguồn dễ dàng và hiệu quả.. S

Trang 1

NGHIÊN CỨU XÂY DỰNG GAME PACMAN BẰNG NGÔN NGỮ JAVA

CÔNG NGHỆ JAVA GV: THS NGUYỄN HỒNG THANH

NHÓM 15: MAI XUÂN ĐIỆP 2155010072

Trang 2

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

chơi kết thúc khi mạng sống của Pacman bị hết bởi

sự va chạm với các hồn ma Người chơi cố gắng kiếm được điểm số cao nhất trước khi kết thúc trò chơi

Trang 3

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

1.1 Tổng quan đề tài

1.1.2 Lịch sử hình thành và phát triển của trò chơi

Toru Iwatani, một nhà thiết kế từ công ty trò chơi có tên Namco muốn tạo ra một trò chơi mà giống như một phim hoạt hình Toru nói rằng cảm hứng của

mình để tạo ra các nhân vật là một chiếc bánh pizza ông đang ăn Pizza đã mất tích hai mảnh, trông giống như một miệng Sau đó, vào năm 1980 các trò chơi

đã được phát hành dưới cái tên Puck-Man

Trang 4

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

•Thế giới mở và câu chuyện

•Cải tiến đồ hoạ và âm thanh

•Chế độ VR hoặc AR

Trang 5

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

1.2 Tổng quan về ngôn ngữ Java

1.2.1 Giới thiệu về ngôn ngữ Java

Java là một trong những ngôn ngữ lập trình

hướng đối tượng Java là một ngôn ngữ lập

trình mạnh mẽ, đa nhiệm và dễ duyệt mà có nền tảng không phụ thuộc (platform-independent)

Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị

di động

Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem

Trang 6

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

1.2 Tổng quan về ngôn ngữ Java

1.2.2 Một số tính chất của ngôn ngữ Java

•Đa luồng (Multithreading)

•Bộ thư viện chuẩn (Standard Library)

•Tính linh hoạt

•Nhập/ xuất (I/O) chuẩn

Trang 7

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

1.2 Tổng quan về ngôn ngữ Java

1.2.3 Ưu điểm

Java là nền tảng độc lập

Java là hướng đối tượng vì các lớp và đối tượng của nó

Java không sử dụng con trỏ

Trong Java có thể đạt được đa luồng

Java mạnh mẽ vì nó có nhiều tính năng như thu gom rác, không sử dụng con trỏ rõ ràng, xử lý ngoại lệ

Java là một ngôn ngữ cấp cao giúp nó dễ hiểu

Trang 8

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

1.2 Tổng quan về ngôn ngữ Java

1.2.4 Nhược điểm

Là một ngôn ngữ cấp cao, nó phải xử lý các cấp

độ biên dịch và trừu tượng của một máy ảo

Java thể hiện hiệu suất kém, nguyên nhân chính

là do bộ thu gom rác, cấu hình bộ nhớ đệm

không hợp lệ và bế tắc giữa các quy trình

Java có rất ít trình tạo GUI – Swing, SWT, JSF

và JavaFX trong số những trình xây dựng phổ biến hơn

Để viết mã để thực hiện một tập hợp các hoạt động đơn giản, chúng ta có thể phải viết những đoạn mã dài và phức tạp

Trang 9

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

1.2 Tổng quan về ngôn ngữ Java

Trang 10

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

ỨNG DỤNG

2.1 Xác định yêu cầu và thiết kế trò chơi

Để bắt đầu việc lập trình trò chơi việc đầu tiên cần làm

là xác định yêu cầu của bài toán Người sử dụng trò chơi, các chức năng cơ bản cũng như yêu cầu chức năng và phi chức năng của trò chơi

Bản đồ sẽ dược thiết kế dưới dạng một ma trận vuông, người chơi cần điều khiển nhân vật Pacman để ăn chấm pac trong khi né tránh các hồn ma và hoàn thành màn chơi

Tương tác giữa các đối tượng trong trò chơi

Người dùng sẽ điều khiển Pacman di chuyển lên, xuống, trái, phải và né tránh các hồn ma, hồn ma sẽ di chuyển ngẫu nhiên trên bản đồ

Trang 11

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

đa nền tảng khác nhau, cộng đồng mạnh mẽ, tài

nguyên phong phú và là một ngôn ngữ lập trình hướng đối tượng giúp quản lý mã nguồn dễ dàng và hiệu quả

Thư viện

Ở đây nhóm em sử dụng AWT để vẽ đồ họa 2D, lắng nghe và xử lý các sự kiện từ bàn phím Swing để xây dựng một khung nhìn và tạo các sự kiện định kỳ theo thời gian trong trò chơi

Trang 12

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

đa nền tảng khác nhau, cộng đồng mạnh mẽ, tài

nguyên phong phú và là một ngôn ngữ lập trình hướng đối tượng giúp quản lý mã nguồn dễ dàng và hiệu quả

Thư viện

Ở đây nhóm em sử dụng AWT để vẽ đồ họa 2D, lắng nghe và xử lý các sự kiện từ bàn phím Swing để xây dựng một khung nhìn và tạo các sự kiện định kỳ theo thời gian trong trò chơi

Trang 13

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.2 Ngôn ngữ lập trình, thư viện và xây dựng bản đồ

Trang 14

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.2 Ngôn ngữ lập trình, thư viện và xây dựng bản đồ

Trang 15

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

Trang 16

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.2 Ngôn ngữ lập trình, thư viện và xây dựng bản đồ

Xây dựng bản đồ

Trang 17

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.2 Ngôn ngữ lập trình, thư viện và xây dựng bản đồ

Xây dựng bản đồ

Trang 18

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.3 Tạo nhân vật Pacman và Ghosts

2.3.1 Xây dựng đối tương Pacman

Khởi tạo các biến ban đầu quy định tốc độ, mạng, điểm số… cho nhân vật

Trang 19

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

ỨNG DỤNG

2.3 Tạo nhân vật Pacman và Ghosts

2.3.1 Xây dựng đối tượng Ghost

Khởi tạo số hồn ma tối đa cho trò chơi, toạ độ và tốc độ của các hồn ma

Trang 20

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.3 Tạo nhân vật Pacman và Ghosts

2.3.1 Xây dựng đối tượng Ghost

Trang 21

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.3 Tạo nhân vật Pacman và Ghosts

2.3.1 Xây dựng đối tượng Ghost

Trang 22

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.4 Xử lý sự kiện và điều khiển

Trang 23

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.4 Xử lý sự kiện và điều khiển

2.4.1 Xử lý sự kiện

Trang 24

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.4 Xử lý sự kiện và điều khiển

2.4.1 Xử lý sự kiện

Tại đây chúng ta sẽ dựa vào hướng và tốc độ để đặt vị trí mới cho hồn ma, cùng với đó là kiểm tra xem

Pacman và hồn ma có va chạm Nếu có và trò chơi

đang trong trạng thái inGame thì đặt biến dying bằng true

Trang 25

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.4 Xử lý sự kiện và điều khiển

2.4.1 Xử lý sự kiện

Trang 26

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.4 Xử lý sự kiện và điều khiển

2.4.2 Di chuyển

Trang 27

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI

ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Khai báo các biến trạng thái để nhận trạng thái trong trò chơi và mất mạng

Chúng ta sử dụng hàm drawScore để vẽ điểm số và số mạng lên màn hình

Trang 28

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Tại hàm này chúng ta sẽ xác định xem biến dying có đang là true, nếu đúng thì gọi hàm death để xử lý sự kiện sau khi mất mạng Ngược lại thì gọi các hàm di chuyển, vẽ nhân vật và kiểm tra mê cung

Trang 29

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Trang 30

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Với việc tiếp tục cấp độ chúng ta sẽ duyệt để tạo ra vị trí ban đầu cũng như hướng di chuyển cho hồn ma

Trang 31

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Tương tự như với hồn ma, ở đây chúng ta sẽ dùng

pacman_x, y để đặt vị trí bắt đầu cho nhân vật,

pacmand_x, y cho hướng chuyển động đầu và req_dx,

dy cho hướng di chuyển yêu cầu

Trang 32

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.5 Xử lý điểm số và trạng thái trò chơi

Trang 33

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.6 Đồ hoạ

Trang 34

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.6 Đồ hoạ

Trang 35

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.6 Đồ hoạ

Giao diện sau khi thực thi trò chơi

Trang 36

CHƯƠNG 2: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG

2.6 Đồ hoạ

Trang 37

SỰ KIỆN INVINCIBILITY ( BẤT KHẢ CHIẾN BẠI )

Về ý tưởng

Khi nhấn phím ESC sẽ có sự kiện xảy ra là dừng trò chơi, cũng như khi nhấn các nút di chuyển đối tượng sẽ

di chuyển theo hướng được yêu cầu

Khi đạt được một số điểm nhất định sẽ có sự kiện thưởng thêm, cùng với đó đạt số điểm nhất định sẽ đạt trạng thái bất tử

Về nội dung

Đầu tiên chúng ta khai báo 2 biến là n và max, max chịu trách nhiệm cho sự kiện khi đạt số điểm yêu cầu n chịu trách nhiệm cho sự kiện khi nhấn phím

Trang 38

SỰ KIỆN INVINCIBILITY ( BẤT KHẢ CHIẾN BẠI )

Để dễ dàng quan sát trạng thái của trò chơi, cũng như

bổ sung logic, khi sự kiện xảy ra pacman sẽ giả làm hồn ma

Trong hàm playGame thêm điều kiện thưởng khi nhân vật đạt số điểm trong khoảng từ 10-55

Trong khi kiểm tra va trạm với hồn ma ta sẽ thêm một vài điều kiện nhỏ để đạt dược sự kiện bất khả chiến bại như mong muốn Như là số điểm lớn hơn max hoặc là giá trị n được gán bằng 2 thì vào trạng thái bất khả chiến bại

Nếu n được gán bằng 4 và score nhỏ hơn max sẽ kết thúc trạng thái bất khả chiến bại

Trang 39

SỰ KIỆN INVINCIBILITY ( BẤT KHẢ CHIẾN BẠI )

Tiếp đó ta viết các lệnh thực thi cho hàm Event để

thưởng điểm và vẽ chấm pac cho sự kiện thưởng Ở đây ta sẽ vẽ một hình tròn từ hàm vẽ hình oval với

đường kính 2 chiều là 15, 15 Trong sự kiện ta sẽ cộng

5 điểm khi nhân vật ăn được 1 chấm pac

Sự kiện nhấn phím sẽ được thêm vào, khi nhấn A gọi lên trạng thái bất khả chiến bại, nhấn S trở lại trạng thái bình thường Nếu score đang lớn hơn max có thể nhấn

D để tăng max và S để trở lại trạng thái bình thường

Trang 40

THANK YOU

C Ô N G N G H Ệ J A V A

Ngày đăng: 18/03/2024, 16:40

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

TÀI LIỆU LIÊN QUAN