Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệ thống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễ đến được tay người chơi hơn.. Do ngày nay gần
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Mục lục
LỜI CẢM ƠN 4
ĐỀ CƯƠNG CHI TIẾT 5
NỘI DUNG 9
Chương I: GIỚI THIỆU CHUNG 9
1 Tổng quan đề tài 9
2 Lý do chọn đề tài 9
3 Đối tượng sử dụng 9
4 Phạm vi nghiên cứu 9
Chương II: CƠ SỞ LÝ THUYẾT 10
1 Unity Engine 10
2 C# 11
3 Microsoft Visual Studio 12
4 GitHub 13
Chương III: TỔNG QUAN ỨNG DỤNG 14
1 Giới thiệu tính năng 14
2 Giới thiệu về các GameObject 14
2.1 Trong các GameScene 14
2.1.1 MainCamera: 14
2.1.2 Grid: 14
2.1.3 Player: 15
2.1.4 Moss_Giant_Enemy: 15
2.1.5 Spider_Enemy: 15
2.1.6 Skeleton_Enemy: 15
2.1.7 Spike: 15
2.1.8 Gate: 15
2.1.9 EventSystem: 15
2.2 Main Menu 16
2.2.1 Main Camera: 16
2.2.2 Canvas: 16
2.2.3 EventSystem: 16
3 Giới thiệu các màn chơi 16
Trang 3Chương IV: ĐẶC TẢ USE CASE 20
1 Sơ đồ Use Case 20
1.1 Player 20
1.2 Moss Giant 21
1.3 Spider 22
1.4 Skeleton 23
2 Danh sách tác nhân 24
3 Danh sách Use Case 24
4 Mô tả chi tiết Use Case 26
4.1 Start Game 26
4.2 Quit Game 27
4.3 Người chơi di chuyển 28
4.4 Vung kiếm 29
4.5 Người chơi nhận sát thương 30
4.6 Chạm Spike 31
4.7 Trở lại menu 32
4.8 Moss Giant – Idle 33
4.9 Moss Giant – Tấn công 34
4.10 Skeleton – Idle 35
4.11 Skeleton – Tấn công 36
4.12 Spider – Tấn công liên tục 37
4.13 Enemy nhận sát thương 38
4.14 Enemy chết 39
4.15 Chạm cổng 40
Chương V: PHÂN TÍCH THIẾT KẾ 41
1 Phân tích class 41
1.1 Class diagram 41
1.2 Danh sách class 42
1.3 Quan hệ 43
1.4 Chi tiết class 44
2 State Diagram 55
1.1 Player State Diagram 55
Trang 41.3 Skeleton State Diagram 57
1.4 Spider State Diagram 58
3 Danh sách các audio clip 59
Chương VI: CÀI ĐẶT VÀ KIỂM THỬ 60
1 Môi trường cài đặt và kiểm thử 60
2 Kết quả kiểm thử 60
Chương VII: KẾT LUẬN 61
1 Tổng kết 61
2 Kết quả đạt được 61
3 Khó khăn và hạn chế 61
4 Hướng phát triển 61
Trang 5LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 1 của mình
Để hoàn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến: Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp
đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện luận văn này mà còn là hành trang tiếp bước cho chúng em trong quá trình học tập và lập nghiệp sau này
Trong quá trình làm Đồ án này chúng em không tránh khỏi được những sai sót, chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để hoàn thiện và phát triển đồ án hơn trong môn học Đồ án 2
Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người
Trang 6
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Game 2D Dungeon EscapeCán bộ hướng dẫn: ThS Trần Anh Dũng
Thời gian thực hiện: Từ ngày 05/03/2022 đến ngày 11/06/2022
Sinh viên thực hiện:
Lê Trần Thanh Duy – 19520062
Trần Lộc Tài – 19522157
1 Lý do chọn đề tài:
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của giới trẻ trong thời gian rảnh Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệ thống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễ đến được tay người chơi hơn Dựa theo nhu cầu giải trí của mọi người, nhóm
em quyết định chọn đề tài phát triển một game 2D nhỏ
2 Nội dung sơ lược:
Người chơi sẽ điều khiển nhân vật chính vượt qua những màn chơi kết hợp giữa giải đố và tiêu diệt quái, người chơi sẽ chiến thắng khi thoát ra khỏi hầm ngục (dungeon)
3 Đối tượng sử dụng:
Tất cả người chơi có độ tuổi từ 7 tuổi trở lên
Trang 74 Phương pháp thực hiện:
Phương pháp làm việc:
− Làm việc online và offline nhóm 2 thành viên dưới sự hướng dẫn của giảng viên hướng dẫn
Phương pháp nghiên cứu:
− Nghiên cứu tài liệu về công nghệ liên quan
Phương pháp công nghệ:
− Tìm hiểu xây dựng game 2D bằng Unity Engine, sử dụng ngôn ngữ C# để lập trình
− Tìm hiểu xây dựng môi trường game 2D bằng Tilemap
− Quản lý source code bằng Github
5 Nền tảng công nghệ:
− Unity Game Engine
− Tilemap 2D
− Visual Studio IDE
6 Kết quả mong đợi:
− Các tính năng mới hoạt động ổn định
− Game có giao diện hài hoà, đẹp mắt
− Thiết kế nội dung các màn chơi sau logic, hấp dẫn
7 Kế hoạch làm việc:
Thời gian thực hiện từ ngày 22/09/2022 đến ngày kết thúc môn học Đồ án 2 – 31/12/2022
Chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Xây dựng các cơ chế chính được dự định hoàn thiện
Thời gian: 22/09/2022 - 23/11/2022 Bao gồm các công việc dự kiến:
− Thiết kế, xây dựng giao diện + Health bars
+ Coin/loot counter
Trang 8− Xây dựng hệ thống loot: lưu trữ đơn vị tiền do monster drop, cập nhật loot cho từng loại monster
− Xây dựng hệ thống cửa hàng sử dụng loot: sword upgrade, hit points upgrade
− Xây dựng thêm màn chơi (và kẻ địch), thêm tutorial
Giai đoạn 2: Hoàn thiện các cơ chế trong giai đoạn 1 và viết báo cáo
Thời gian: 24/11/2022 – 31/12/2022
Bao gồm các công việc dự kiến:
− Xây dựng hệ thống âm thanh
+ Ambience music + Sound effects: monster attacks, sword swing, sword hit…
− Kiểm thử ứng dụng
− Viết báo cáo
Thời gian thực hiện cụ thể cho từng công việc được phân chia như sau: Giai đoạn Thời gian Nội dung thực hiện
Giai đoạn 1
22/09 – 24/09 Project review 25/09 – 09/10 Thiết kế, xây dựng giao diện 10/10 – 24/10 Xây dựng hệ thống loot, thiết kế vẽ màn chơi mới
25/10 – 8/11 Xây dựng hệ thống cửa hàng, thiết kế background
cho màn chơi mới
Giai đoạn 2
9/11 – 23/11 Hoàn thành màn chơi mới và tutorial 24/11 – 7/12 Xây dựng hệ thống âm thanh
8/12 – 17/12 Xây dựng hệ thống save/load 18/12 – 31/12 Kiểm thử ứng dụng và viết báo cáo
8 Phân công công việc:
Công việc chung:
− Kiểm thử ứng dụng game
− Triển khai ứng dụng
Trang 9− Xây dựng thêm màn chơi (và kẻ địch)
Công việc riêng:
Thành viên Công việc Trần Lộc Tài
Xây dựng giao diện Xây dựng hệ thống âm thanh
Lê Trần Thanh Duy
Xây dựng hệ thống loot Xây dựng hệ thống cửa hàng sử dụng loot
Trang 10NỘI DUNG
Chương I: GIỚI THIỆU CHUNG
1 Tổng quan đề tài
Tên đề tài: Dungeon Escape Game
Nền tảng công nghệ: Unity Engine
Môi trường phát triển: Desktop - Windows 10
2 Lý do chọn đề tài
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của giới trẻ trong thời gian rảnh Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệ thống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễ đến được tay người chơi hơn Dựa theo nhu cầu giải trí của mọi người, nhóm quyết định chọn
đề tài phát triển một game 2D nhỏ
+ Game 2D đa màn chơi
+ Một nhân vật do người chơi điều khiển với hệ thống di chuyển cơ bản - đi trái phải và nhảy – và khả năng chiến đấu cơ bản – nhấn chuột để vung kiếm
+ Nhiều enemy NPC (quái vật) tự di chuyển và hành động theo AI được cài đặt sẵn, phản ứng theo hành vi của người chơi
+ Màn chơi được thiết kế thủ công, sử dụng asset có sẵn, với độ rộng thấp
+ Một menu chính khi mở ứng dụng game lên và kết thúc game với các nút cơ bản + Hệ thống loot diamond và shop bán trang bị mua bằng diamonds
Trang 11Chương II: CƠ SỞ LÝ THUYẾT
1 Unity Engine
Hình II.1: Unity Logo
Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies, lần đầu tiên được công bố và phát hành vào tháng 6 năm 2005 tại Apple Worldwide Developers Conference dưới dạng game engine cho Mac OSX Unity Engine đã dần dần được mở rộng để hỗ trợ các loại nền tảng desktop, mobile, console và Virtual Reality Nó đặc biệt phổ biến trên IOS, Android và được coi là dễ sử dụng cho người mới bắt đầu phát triển game và các nhà phát triển indie Công cụ có thể được sử dụng để tạo ra game 3D và 2D, cũng như mô phỏng tương tác và các trải nghiệm khác Engine đã được được chấp nhận bởi các ngành bên ngoài trò chơi điện tử, chẳng hạn như phim, ô tô, kiến trúc,
kỹ thuật và xây dựng Unity cung cấp cho người dùng khả năng tạo ra game và trải nghiệm ở cả 2D và 3D, đồng thời engine cung cấp một scripting API chính trong C# bằng cách sử dụng Mono, cho cả trình soạn thảo Unity editor ở dạng plugin và bản thân các game, cũng như chức năng kéo và thả Trước khi C# trở thành ngôn ngữ lập trình chính được sử dụng trong engine, trước đây engine hỗ trợ Boo, nhưng đã bị xóa khi phát hành Unity 5 và triển khai dựa trên Boo của JavaScript được gọi là UnityScript, và không được dùng nữa vào tháng 8 năm 2017, sau khi phát hành Unity 2017.1, để sử dụng C# Trong các game 2D, Unity cho phép import các sprite và 2D world renderer tiên tiến Đối với game 3D, Unity cho phép đặc tả kỹ thuật texture compression, mipmap và cài đặt độ phân giải cho mỗi nền tảng mà engine hỗ trợ và cung cấp hỗ trợ cho bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture và full-screen post-processing effects
Trang 122 C#
Hình II.2: C# Logo
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ
sư của Microsoft vào năm 2000 C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên dịch trực tiếp thành mã thực thi của hệ điều hành
Trong các ứng dụng sử dụng NET Framework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft intermediate language) Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở thành mã thực thi của hệ điều hành
C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), phát triển game, ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng
Trang 133 Microsoft Visual Studio
Hình II.3: Visual Studio Logo
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã
số quản lý
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C,[4] C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio 2010[5]) Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS
Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013 trở về trước) và "Community" (đối với bản Visual Studio 2015 trở về sau) là phiên bản miễn phí của Visual Studio.[6]
Trang 144 GitHub
Hình II.4: GitHub Logo
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng xã hội cho lập trình viên Các lập trình viên có thể clone lại mã nguồn từ một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc
Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng
về social để các developer tương tác với nhau Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit
Trang 15Chương III: TỔNG QUAN ỨNG DỤNG
1 Giới thiệu tính năng
− Sau khi nhấn Start, người chơi sẽ được điều khiển một nhân vật có các khả năng chạy, nhảy và vung kiếm bằng các nút điểu khiển sau:
+ A: di chuyển trái
+ D: di chuyển phải
+ Space: nhảy
+ Left Click: vung kiếm
− Mục tiêu chính của người chơi là thoát ra khỏi màn chơi bằng cách đi đến cổng nằm bên trái bức tường ban đầu, vượt qua hiểm nguy của vô số kẻ địch và các hố chông trên màn chơi
− Người chơi có thể sử dụng khả năng chiến đấu cơ bản của mình để tiêu diệt địch và tiếp tục di chuyển về đích
− Game kết thúc khi người chơi bị kẻ địch đánh trúng 3 lần, hoặc rơi vào hố chông
2 Giới thiệu về các GameObject
2.1 Trong các GameScene
2.1.1 MainCamera:
Camera object do Unity Engine cung cấp với tác dụng kiểm soát màn hình người chơi (những gì người chơi thực sự thấy khi chơi game) MainCamera object trong game có nhiệm vụ theo dõi Player object, nhờ đó màn hình game luôn luôn quan sát hành động của nhân vật chính và môi trường xung quanh
2.1.2 Grid:
Là hệ thống vẽ bao gồm các lớp (layer) để thiết kế và vẽ map
Grid bao gồm 4 layer: Ground, MidGround, FarGround, Foreground
- Ground: vẽ các bề mặt (có collision) để nhân vật và các kẻ địch có thể đứng
và di chuyển được trên bề mặt
- MidGround: dùng để vẽ nền (background) cho game, có độ ưu tiên cao hơn FarGround nên khi render sẽ nằm đè lên FarGround
Trang 16- FarGround: dùng để vẽ nền (background) cho game, có độ ưu tiên thấp hơn MidGround nên khi render sẽ nằm dưới MidGround
- ForeGround: dùng để vẽ những chi tiết nhỏ trên bề mặt (như cỏ cây, đá, đèn, …)
2.1.3 Player:
Nhân vật chính của game Hệ thống logic game xoay quanh object Player và cập nhật trạng thái game dựa trên object này Player object tương tác với thế giới game thông qua những script file Player.cs – quản lý logic – và PlayerAnimation.cs – quản lý animation
2.1.4 Moss_Giant_Enemy:
Một loại quái trong game có hình dạng là người khổng lồ Di chuyển qua lại giữa
2 điểm được lập trình sẵn Chuyển sang trạng thái “combat” khi bị người chơi đánh trúng và gây sát thường cho người chơi bằng cách đấm trả
2.1.5 Spider_Enemy:
Một loại quái trong game có hình dạng là nhện Không có khả năng di chuyển Gây sát thương cho người chơi bằng cách phun ra axid (axid được tạo ra bằng acid prefab)
Acid prefab: tạo ra acid objects (tạm thời) khi Spider trong trạng thái phun acid
2.1.6 Skeleton_Enemy:
Một loại quái trong game có hình dạng là bộ xương Di chuyển qua lại giữa 2 điểm được lập trình sẵn Chuyển sang trạng thái “combat” khi bị người chơi đánh trúng và gây sát thường cho người chơi bằng cách đánh trả
Trang 17- BackGround: vẽ hình nền cho màn hình Menu chính
- Title: vẽ tựa đề Dungeon Escape cho màn hình Menu chính
- Symbol: vẽ hình ảnh tượng trưng cho màn hình Menu chính
- Start_Button: bắt đầu trò chơi khi người chơi nhấp vào (chuyển sang màn hình GameScene để bắt đầu trò chơi)
- Quit_Button: thoát khỏi trò chơi (đóng cửa sổ trò chơi lại)
2.2.3 EventSystem:
Hệ thống xử lí các sự kiện của MenuScene
3 Giới thiệu các màn chơi
3.1 Tutorial
Một màn chơi ngắn với tác dụng hướng dẫn người chơi các phím di chuyển, tấn công và nhặt diamond Bước qua cổng cuối đường sẽ đưa người chơi đến scene
1
Trang 183.2 Scene 1
Bao gồm shop ở đầu level, kế cổng qua scene 2 Người chơi cần đi hết màn chơi
và vòng lại chỗ ban đầu để mua (ít nhất) gate key để có thể qua màn chơi tiếp theo Ngoài ra, người chơi hoàn toàn có thể kiếm đủ diamond trong màn chơi thứ nhất để mua toàn bộ mọi trang bị trong shop trước khi qua màn chơi thứ 2
3.3 Scene 2
Là một màn chơi tuyến tính với cửa kết thúc nằm cuối màn chơi, đây cũng là mục tiêu của trò chơi Người chơi không thể mua trang bị ở màn chơi này
Trang 194 Hệ thống loot và shop
4.1 Loot
Rải rác khắp màn chơi thứ nhất và xuất hiện ở xác của các quái vật là diamond dành chơi người chơi thu thập Có tác dụng như đơn vị tiền tệ chính của game, dùng để mua trang bị và chìa khoá mở cổng ở shop
4.2 Shop
Nằm ở đầu màn chơi thứ nhất Cung cấp trang bị người chơi, bao gồm: chìa khoá mở cổng, nâng cấp kiếm, nâng cấp máu
Trang 21Chương IV: ĐẶC TẢ USE CASE
1 Sơ đồ Use Case
1.1 Player
Hình IV.1: Player Use Case Diagram
Trang 221.2 Moss Giant
Hình IV.2: Moss Giant Use Case Diagram
Trang 231.3 Spider
Hình IV.3: Spider Use Case Diagram
Trang 241.4 Skeleton
Hình IV.4: Skeleton Use Case Diagram
Trang 253 Danh sách Use Case
STT Use case Mô tả/Ghi chú
1 Start Game Người chơi nhấn nút “Start” ở MenuScene
2 Quit Game Người chơi nhấn nút “Quit” ở Menu Scene
3 Player Move Người chơi nhấn một hoặc nhiều nút di chuyển –
A,W,D,Space – trong game
4 Vung kiếm Người chơi click chuột trái trong game
5 Cập nhật HP
Cập nhật giảm chỉ số Hitpoint cho người chơi hoặc enemy
khi một trong hai nhận sát thương
6 Nhận sát thương Xảy ra khi người chơi hoặc enemy tấn công trúng nhau
Trang 267 Chết
Xảy ra khi chỉ số Hitpoint của người chơi hoặc enemy bị
giảm xuống 0
8 Trở lại menu Người chơi nhấn nút Esc trong game
9 Moss Giant – Idle Trạng thái mặc định của Moss Giant
10 Moss Giant – Tấn công Xảy ra khi Moss Giant bị người chơi tấn công trúng hoặc va chạm với người chơi
11 Skeleton – Idle Trạng thái mặc định của Skeleton
12 Skeleton – Tấn công Xảy ra khi Skeleton bị người chơi tấn công trúng hoặc va chạm với người chơi
13 Spider – Idle Diễn ra trong vòng 4 giây sau use case Spider – Bắn Acid
14 Spider – Bắn Acid Diễn ra theo chu kì 4 giây một lần
15 Chạm cổng Người chơi di chuyển đến cổng kết thúc game
16 Chạm Spike Người chơi chạm trúng chông dưới hố chông
Trang 274 Mô tả chi tiết Use Case
4.1 Start Game
Mô tả Bắt đầu game khi người chơi nhấn Start
Luồng sự kiện
Luồng chính
1 Người chơi nhấn nút “Start” trong MenuScene
2 Game chuyển qua GameScene, người chơi bắt
đầu chơi game Luồng phụ Không Yêu cầu đặc biệt Không
Điều kiện trước - Ứng dụng đang mở
- Ứng dụng đang trong MenuScene Điều kiện sau - Ứng dụng chuyển sang GameScene
Mở rộng Không
Trang 28Điều kiện trước
- Ứng dụng đang mở
- Ứng dụng đang trong MenuScene Điều kiện sau - Ứng dụng bị tắt
Mở rộng Không
Trang 294.3 Người chơi di chuyển
Mô tả Người chơi di chuyển nhân vật
Luồng sự kiện
Luồng chính
1 Người chơi nhấn các nút di chuyển: A, W, D,
Space
2 Nhân vật bắt đầu di chuyển theo đúng hướng
người chơi mong muốn Luồng phụ Không
Yêu cầu đặc biệt Hướng di chuyển mà người chơi chỉ định phải
không tồn tại địa hình cản trở Điều kiện trước - Ứng dụng đang trong GameScene Điều kiện sau - Vận tốc của Player Object thay đổi
Mở rộng Không
Trang 304.4 Vung kiếm
Mô tả Người chơi cho nhân vật tấn công
Luồng sự kiện
Luồng chính
1 Người chơi nhấn chuột trái
2 Nhân vật chuyển sang trạng thái tấn công Luồng phụ Không
Yêu cầu đặc biệt - Nhân vật không ở trạng thái tấn công Điều kiện trước - Ứng dụng đang trong GameScene Điều kiện sau - Nhân vật chuyển sang trạng thái tấn công
Mở rộng Nếu tấn công trúng enemy: Use Case ‘Nhận sát
thương’
Trang 314.5 Người chơi nhận sát thương
Mô tả Nhận vật bị enemy tấn công trúng
Điều kiện trước
- Ứng dụng đang trong GameScene
- Nhân vật còn sống
- Nhân vật bị tấn công trúng Điều kiện sau - HP nhân vật trúng giảm đi 1
Mở rộng Nếu HP = 0 : Use Case ‘Trở lại Menu’