Đăng ký Đăng nhập
Trang chủ Xây dựng một game nhập vai simple rpg...

Tài liệu Xây dựng một game nhập vai simple rpg

.DOCX
32
1
55

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG & BÀI TẬP LỚN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: XÂY DỰNG MỘT GAME NHẬP VAI SIMPLE RPG Giáo viên hướng dẫn: ThS. Nguyễn Mạnh Tuấn Mã lớp: 124159 - Nhóm: 14 Hà Nội – 5/2021 MỤC LỤC MỤC LỤC.................................................................................................................... 1 DANH MỤC HÌNH ẢNH............................................................................................ 3 LỜI NÓI ĐẦU.............................................................................................................. 4 1. Lý do chọn và tầm quan trọng của đề tài......................................................... 4 2. Mô tả đề tài......................................................................................................... 4 3. Quá Trình Tiếp Cận.......................................................................................... 4 PHÂN CÔNG THÀNH VIÊN TRONG NHÓM....................................................... 5 CHƯƠNG 1. KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN...............................6 1.1 Miêu tả yêu cầu bài toán................................................................................ 6 1.2 Biểu đồ use case.............................................................................................. 6 1.2.1 Biểu đồ use case tổng quan........................................................................ 6 1.2.2 Biểu đồ use case phân rã mức 2................................................................. 7 1.3 Đặc Tả Use Case............................................................................................. 8 CHƯƠNG 2. 2.1 PHÂN TÍCH THIẾT KẾ BÀI TOÁN........................................... 10 Biểu đồ trình tự............................................................................................. 10 2.2 Biểu đồ gói và biểu đồ lớp................................................................................ 12 2.2.1 Tổng Quát gói Gui, Manager, Map, Weapons............................................. 12 2.2.2 Tổng quát gói Actor..................................................................................... 13 2.2.3 Biểu đồ lớp cụ thể từng phần....................................................................... 15 2.3 Thiết kế chi tiết lớp........................................................................................... 16 CHƯƠNG 3. CÔNG NGHỆ VÀ THUẬT TOÁN SỬDỤNG.............................. 18 3.1 Công Nghệ..................................................................................................... 18 3.2 Kiến Thức...................................................................................................... 18 3.3 Thuật Toán.................................................................................................... 18 CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA.............................. 19 4.1 Kết quả chương trình minh họa.................................................................. 19 4.2 Giao diện chương trình................................................................................ 19 4.2.1 4.2.2 4.2.3 Giao diện chính........................................................................................ 20 Giao diện dừng trò chơi........................................................................... 23 Giao diện chiến thắng.............................................................................. 23 4.2.4 Giao diện xử thua cuộc............................................................................ 24 4.3 Kiểm thử các chức năng đã thực hiện......................................................... 24 4.4 Kết luận......................................................................................................... 27 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................................ 28 1. Những mặt đã đạt được..................................................................................... 28 2. Những mặt chưa đạt được................................................................................. 28 3. Hướng phát triển................................................................................................ 28 TÀI LIỆU THAM KHẢO........................................................................................... 29 IT3100 – Lập trình hướng đối tượng DANH MỤC HÌNH ẢNH Hình 1 : Biểu đồ tuần tự................................................................................................. 7 Hình 2 : Biểu đồ lớp tổng quát....................................................................................... 8 Hình 3 : Sơ đồ lớp tổng quát gói GUI, Manager, Map, Weapons.................................. 8 Hình 4 : Sơ đồ lớp tổng quát........................................................................................ 10 Hình 5 : Giao diện chính.............................................................................................. 15 Hình 6 : Giao diện hướng dẫn...................................................................................... 16 Hình 7 : Giao diện màn giới thiệu................................................................................ 17 Hình 8 : Giao diện map cụ thể..................................................................................... 17 Hình 9 : Thanh chỉ số của mỗi nhân vật....................................................................... 18 Hình 10 : Giao diện dừng trò chơi............................................................................... 18 Hình 11 : Giao diện chiến thắng.................................................................................. 19 Hình 12 : Giao diện thua cuộc..................................................................................... 19 Nhóm 14 3 LỜI NÓI ĐẦU 1. Lý do chọn và tầm quan trọng của đề tài Khi mới bắt đầu làm quen với lập trình hướng đối tượng thì cách tiếp cận nhanh chóng mà hiệu quả nhất là đi vào các ví dụ mà ở đó ranh giới giữa các đối tượng là rõ ràng. Như đã biết, game nhập vai không phải là khuynh hướng game mới mẻ tuy nhiên đây vẫn luôn là thể loại game được nhiều người yêu thích. Chúng em cảm thấy đây là một trò chơi rất đỗi quen thuộc và cuốn hút, đồng thời game nhập vai sẽ là một ví dụ tốt để từng thành viên trong nhóm có được cái nhìn rõ hơn về môn học nói riêng và lập trình hướng đối tượng nói chung. Chính vì lý do này, nhóm chúng em chọn đề tài “Xây dựng một game nhập vai Simple RPG” để thực hiện chương trình Escape-Ghost demo cho bài tập lớn môn học. Chương trình được viết hoàn toàn bởi ngôn ngữ lập trình Java – ngôn ngữ lập trình thuần đối tượng. Bởi do mới làm quen với ngôn ngữ Java cũng như việc xử lý trong lập trình hướng đối tượng nên trong chương trình còn hạn chế là việc không tránh khỏi. Vậy nên nhóm chúng em mong có được nhận xét từ phía thầy về đề tài của nhóm để có những khắc phục. 2. Mô tả đề tài Game nhập vai ESCAPE-GHOST gồm có: • Menu: hiển thị cho phép người chơi lựa chọn thông tin ( Xem hướng dẫn, chọn chế độ chơi,…) • Người chơi (Player): Game có 2 người chơi hỗ trợ nhau trong quá trình chơi • Kẻ địch (Enemy): có khả năng gây sát thương cho player, tấn công và di chuyễn ngẫu nhiên trên bản đồ • Bản đồ (Map): bao gồm đường đi, đất, nước,… 3. Quá Trình Tiếp Cận Chúng em lựa chọn đề tài dựa trên sở thích và khả năng của các thành viên trong nhóm. Quá trình hoàn thiện đề tài kéo dài trong vòng 3 tháng bao gồm cả việc lên ý tưởng, thảo luận để lựa chọn đề tài. PHÂN CÔNG THÀNH VIÊN TRONG NHÓM 1 CHƯƠNG 1. KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN 1.1 Miêu tả yêu cầu bài toán - Người chơi điều khiển một hoặc nhiều nhân vật trong một bản đồ được lưu trong một cấu trúc dữ liệu (trên bản đồ có các quái vật có thể di chuyển được). - Các nhân vật người chơi điều khiển và quái vật có các chỉ số xác định tình trạng và thể lực (ví dụ HP, MP, Attack, Defense, Speed,...). Người chơi có thể tấn công quái vật và sử dụng các kỹ năng đặc biệt. Tương tự, quái vật cũng có thể tìm đến và tấn công người chơi. - Người chơi có thể di chuyển qua lại giữa các bản đồ khác nhau (ví dụ khi đi vào vùng M0, M1, M2,... trên bản đồ) hoặc đi đến kết thúc của trò chơi (ví dụ khi đi vào vùng END trên bản đồ).  Đáp ứng yêu cầu bài toán bao gồm: - Thể hiện bản đồ và các đối tượng trên bản đồ trên giao diện đồ họa - Điều khiển nhân vật di chuyển - Có các thao tác để tấn công quái vật - Quái vật có khả năng di chuyển và tấn công người chơi (quái vật có thể chia thành nhiều loại: tấn công gần, loại có thể tấn công / bắn đạn từ xa, boss,…) - Game có hai chế độ chơi dễ / khó theo mức độ “thông minh”, “di chuyển nhanh” hoặc “lượng máu” của quái vật 1.2 Biểu đồ use case Biểu đồ use case tổng quan - Tác nhân : người chơi 1, người chơi 2 - Các use case đối với mỗi người chơi  Bắt đầu game  Chơi game  Dừng game  Thoát Game 2 Hình 1. Use-case chính Biểu đồ use case phân rã mức 2 Hình 2. Use case “Bắt đầu game” phân rã Hình 3. Use case “chơi game” phân rã đối với người chơi 1 Hình 4. Use case “chơi game” phân rã đối với người chơi 2 1.3 Đặc Tả Use Case Mã UC UC01 Tên Tác nhân Người dung chương trình Điều kiện trước Không có Luồng thực thi chính No. Thực hiện Hành động 1. Player Mở trò chơi 2. System 3. Player Hiện thị giao diện chọn chế độ chơi Chọn chế độ 4. System 5 System Khởi tạo game với chế độ đã chọn Hiển thị giao diện chơi Không có UC02 Tên Điều kiện sau Mã UC Tác nhân Người dung chương trình Điều kiện trước Tác nhân đã bắt đầu game Luồng thực thi chính No. Thực hiện Hành động 1. Player1 Chơi game 2. System 3. Player1 4. System 5. System Hiển thị giao diện chơi Di chuyển hoặc tấn công Cập nhật vị trí của nhân vật Cập nhật quái vật bị bắn trúng Không có Điều kiện sau Mã UC UC03 Tên Bắt đầu game Chơi Game (Player 1) Chơi game (Player 2) Tác nhân Người dung chương trình Điều kiện trước Tác nhân đã bắt đầu game Luồng thực thi chính No. Thực hiện Hành động 1. Player2 Chơi game 2. System 3. Player2 4. System 5 Player2 Hiển thị giao diện chơi game Dịch chuyển đến người chơi 1 hoặc di chuyển Cập nhật vị trí của người chơi 2 Hồi máu 6. System Điều kiện sau Cập nhật lại máu của nhân vật Không có CHƯƠNG 2. 2.1 PHÂN TÍCH THIẾT KẾ BÀI TOÁN Biểu đồ trình tự Hình 1 : Biểu đồ tuần tự 2.2 Biểu đồ gói và biểu đồ lớp Hình 2 : Biểu đồ lớp tổng quát - Gói Image: Gồm hình ảnh các đối tượng đồ họa dưới dạng các file *.png - Gói Actor: Gồm mã của nhân vật gồm người chơi, quái vật, boss, ... - Gói GUI: Gồm mã của những đối tượng đồ họa - Gói map: Gồm mã của bản đồ cùng với quái vật cho từng màn chơi - Gói weapons: Gồm mã của các loại vũ khí - Gói Manager: Gồm mã của lớp Manager chịu trách nhiệm xử lí va chạm, xử lí qua màn, kết thúc và bắt đầu game 2.2.1 Tổng Quát gói Gui, Manager, Map, Weapons Hình 3 : Sơ đồ lớp tổng quát gói GUI, Manager, Map, Weapons  Các gói trong biểu đồ trên thuộc tầng giao diện, nghiệp vụ.  Có các đối tượng thể hiện các menu, hiển thị nhân vật và các hiệu ứng động.  Tổng quan về các lớp trong gói: o Lớp Frame kế thừa từ lướp JFrame hiển thị giao diện trò chơi. o Lớp Container kế thừa từ lớp JPanel chịu trách nhiệm hiển thị các giao diện điều khiển cho người dùng như là màn hình Menu, Tutorial, MainGame, ... thông qua card layout, và các mối quan hệ kết tập với các lớp kết thừa JPanel. o Lớp MainGame thể hiện màn hình chơi game của người chơi kế thừa từ lớp JPanel là nơi thể hiện các đối tượng nhân vật, quái vật, ... o Các lớp Tutorial, Menu, End là các JPanel hiển thị màn hình hướng dẫn menu điều khiển và màn hình kết thúc game. o Lớp MyMap lưu giữ thông tin về màn chơi như bản đồ được lưu dưới dạng mảng 2 chiều, và các ArrayList quái vật của từng màn chơi. Do điều kiện thử nghiệm nên số lượng map là 4 map với 1 mâp khởi động cho người chơi làm quen o Lớp Manager có các phương thức xử lí va chạm, xử lí các thao tác người dùng, xử lí các tương tác của các nhân vật với địa hình, nhân vật khác o Lớp StatusBar kế thừa từ JPanel hiển thị các thông số của nhân vật 2.2.2 Tổng quát gói Actor Hình 4 : Sơ đồ lớp tổng quát  Gói thuộc tầng nghiệp vụ.  Gói chịu trách nhiệm lưu giữu thông tin về các đối tượng nhân vật .  Tổng quan về các lớp trong gói: o Lớp Abtract Actor lưu giữ các thuộc tính và phương thưc cơ bản của các đối tượng nhân vật như các chỉ số HP, MP, speed,... các phương thức chung như move, kill,... o Lớp Abtract LongRange kế thừa từ lớp Actor lưu giữ các thuộc tính và phương thưc cơ bản của các đối tượng nhân vật có tầm đánh xa. Lớp này sở hữu một đối tượng vũ khí là Bullet. o Lớp Abtract ShortRange kế thừa từ lớp Actor lưu giữ các thuộc tính và phương thưc cơ bản của các đối tượng nhân vật có tầm đánh ngắn(do điều kiện đồ họa nên phương thức tấn công của các đối tượng này là gây sát thương khi va chạm với nhân vật khác). o Các lớp thực thi Hunter, Ghost, Monster, Dog thể hiện các nhân vật người chơi và quái vật kế thừa từ các lớp Abstract trên. o Lớp MyAdapter có các phương thức lắng nghe tác động điều khiển nhân vật cũng như lắng nghe tín hiệu tạm dừng game của người chơi 2.2.3 Biểu đồ lớp cụ thể từng phần 2.3 Thiết kế chi tiết lớp  Các lớp quan trọng: MyMap, Container, Ghost, Manager, Actor, MainGame.  Mô tả mẫu CRC: MyMap Tạo bản đồ, quái vật. Setup vị trí và số lượng quái trong từng màn. MainGame Dog Hunter Container Hiển thị giao diện điều khiển cho người chơi ( Menu, tutorial, end, maingame,…) MainGame Tutorial Menu End Ghost Thiết lập các chỉ số: HP, MP, Speed, atk,…các image ứng với các trạng thái di chuyển. Thiết lập di chuyển cho nhân vật Ghost. MainGame LongRange Manager Xử lí va chạm, tương tác với người chơi. Xử lí tương tác của nhân vật với địa hình, quái vật và nhân vật khác. Bullet Dog Hunter MainGame Actor Tạo các thuộc tính cho nhân vật và quái như: HP, Max_HP, MP, Max_MP, defaultSpeed, speed, atk, defense, status, dead, type,… MainGame LongRange ShortRange MainGame Hiển thị nhân vật, quái vật, map,… MyMap trên màn hình chơi game. Monster Thiết lập chức năng phím tắt. Hunter Kiểm tra trạng thái nhân vật, quái MyAdapter vật Manager (dead, live) Dog Ghost CHƯƠNG 3. 3.1 Công Nghệ - 3.2 CÔNG NGHỆ VÀ THUẬT TOÁN SỬDỤNG Môi trường lập trình : Eclipse Phần mềm quản lý mã nguồn : Github Kiến Thức Bài tập lớn gồm lượng lớn kiến thức về phân tích và thiết kế hướng đối tượng. Cụ thể như sau: - Mô hình lập trình: hướng đối tượng - Các nguyên lý trong lập trình hướng đối tượng: đóng gói, kế thừa, đa hình, interface,… - Ngôn ngữ: ngôn ngữ lập trình hướng đối tượng Java - Cơ bản về cơ sở dữ liệu và thiết kế cơ sở dữ liệu cho game 3.3 Thuật Toán
- Xem thêm -

Tài liệu liên quan