TỔNG QUAN VỀ ĐỀ TÀI
Mô tả về game
Người chơi bấm nút bắt đầu game để chơi và được đưa vào chế độ 3d, trong phần 3d này người chơi có thể di chuyển, xoay camera, góc nhìn thứ nhất Người chơi đọc thư, tìm chìa khóa để mở cửa, sau khi mở cửa sẽ chuyển sang khu vực chính Trong khu vực này, người chơi đọc lá thư để biết điểm tiếp theo, mở cánh cửa sau đó chọn chế độ offline hoặc online rồi vào phần chơi chính dưới góc nhìn 2d Ở chế độ online người chơi phải cần kết nối mạng sau đó được tự động vào phòng bất kì do người chơi khác tạo và đang được mở hoặc nếu không tìm thấy phòng sẽ tự động tạo phòng mới, ở chế độ offline người chơi được tự động tạo phòng như chế độ online nhưng không cho bất kỳ người chơi nào khác tham gia và không cần mạng
Khi vào chế độ 2d, cơ chế game thay đổi, người chơi điều khiển nhân vật di chuyển
2 hướng trái và phải, camera sẽ tự động đi xuống, hệ thống sẽ tự động phát sinh ngẫu nhiên các bậc để đứng hoặc gai, nếu để nhân vật đi quá màn hình camera hoặc chạm gai thì sẽ chết, vì vậy người chơi cần phải điều khiển và giữ cho nhân vật không bị rơi quá màn hình, có khoảng thời gian quy định ở góc trên màn hình, nếu thời gian chưa về 0 mà người chơi để chết thì sẽ bị tính là gameover, ngược lại nếu sinh tồn được hết thời gian trên ( bộ đếm về 0) thì được tính là win và có thể chết an toàn Trong chế độ online chỉ gameover khi toàn bộ người chơi đều chết, nếu người chơi này chết mà người kia còn sống và sinh tồn xong hết khoảng thời gian quy định thì được tính là win
Sau khi chết sẽ được đưa quay khu vực nhà tù, đổi lại góc nhìn 2d, người chơi đọc thư để quyết định có tiếp tục được hay không Nếu phần chơi 2d bị gameover sẽ có thông báo và chuyển sang màn hình gameover rồi chuyển về giao diện menu, nếu phần chơi 2d là win thì được tiếp tục chơi Ở giao diện menu, người chơi bấm nút tiếp tục sẽ được chuyển vào khu vực nhà tù ở phần trước khi bị gameover, đọc lá thư và đến cửa để bắt đầu phần chơi 2d như trên.
Yêu cầu đối với sản phẩm
Game phải có dung lượng không quá lớn, tốc độ xử lý nhanh
Giao diện game dễ nhìn, thân thiện với người sử dụng
Công việc tính toán (vai chạm, mạng, điểm số, …) phải thực hiện chính xác, không chấp nhận sai sót
Đảm bảo an toàn dữ liệu khi kết nối Internet
Tạo cảm giác chân thật, sống động cho người chơi
Phân tích game theo hướng đối tượng cụ thể, rõ ràng
CƠ SỞ LÝ THUYẾT
Phân tích thiết kế là gì?
Phân tích thiết kế là quái trình tìm hiểu và mô phỏng lại hiện tượng, quy trình nghiệp vụ trong thiết giới thực từ đó xây dựng hệ thống để giải quyết bài toán đặt ra trên máy tính.
Tại sao phải phân tích thiết kế?
Chất lượng thiết kế là nhân tố chính quyết định chất lượng phần mềm
Không thiết kế hoặc thiết kế không tốt dẫn đến phần mềm chất lượng thấp:
Không quản lý được những thay đổi yêu cầu
Không có tính tiến hóa
Không tái sử dụng được
Thiết kế tốt mang lại phần mềm chất lượng tốt:
Dễ dàng thay đổi yêu cầu
Có tính tiến hóa cao
Có khả năng sử dụng cao.
Cách tiếp cận phân tích thiết kế hệ thống
2.3.1 Hướng chức năng: Đặc trưng của cấu trúc này là phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm thực hiện một công việc xác định
Các thức thực hiện của phương pháp hướng chức năng là phương pháp thiết kế từ trên xuống (top-down) Phương pháp này tiến hành phân rã bài toán thành các bài toán nhỏ hơn, rồi tiếp tục phân rã các bài toán con cho đến khi nhận được các bài toán có thể cài đặt được ngay sử dụng các hàm của ngôn ngữ lập trình hướng chức năng
11 Đây là lối tiếp cận truyền thống của ngành công nghệ phần mềm, quan tâm chủ yếu tới những thông tin mà hệ thống sẽ giữ gìn
Căn cứ vào thông tin người dùng cần, sau đó thiết kế dữ liệu để chứa những thông tin đó Phương pháp này tập trung vào thông tin
Lấy đối tượng làm trung tâm Đối tượng = chức năng + dữ liệu
Hệ thống = tập trung các đối tượng + quan hệ giữa các đối tượng
Cách tiếp cận hướng đối tượng là một lối tư duy theo cách ánh xạ các thành phần trong bài toán vào các đối tượng vào đời thực Với cách tiếp cận này, một hệ thống được chia tương ứng thành các thành phần nhỏ gọi là các đối tượng, mỗi đối tượng bao gồm đầy đủ cả dữ liệu và hành động liên quan đến đối tượng đó Ưu điểm:
Gần gũi với thế giới thực
Tái sử dụng dễ dàng
Đóng gói, che dấu thông tin làm cho hệ thống tin cậy hơn
Thừa kế giảm chi phí, hệ thống có tính mở cao
Phù hợp với hệ thống lớn và phức tạp.
Khái niệm về UML (Unified Modeling Language)
UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống Nói một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư (Giống như trong xây dựng người ta dùng các bản vẽ thiết kế để hướng dẫn và kiểm soát thi công, bán hàng căn hộ ).
Phân tích thiết kế hướng đối tượng và UML
Phân tích thiết kế hướng đối tượng cần các bản vẽ để mô tả hệ thống được thiết kế, còn UML là ngôn ngữ mô tả các bản vẽ nên cần nội dung thể hiện Do vậy, chúng ta phân tích và thiết kế theo hướng đối tượng và sử dụng UML để biểu diễn các thiết kế đó nên chúng thường đi đôi với nhau
UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí, xây dựng … trong phạm vi các bài báo cáo này chúng ta chỉ nghiên cứu cách sử dụng UML
12 cho phân tích và thiết kế hướng đối tượng trong ngành phần mềm Phân tích thiết kế hướng đối tượng sử dụng UML bao gồm các thành phần sau:
Mechanisms (qui tắc, cơ chế)
Mỗi góc nhìn như thầy bói xem voi, nó không thể hiện hết hệ thống nhưng thể hiện rõ hệ thống ở một khía cạnh Chính vì thế trong xây dựng có bản vẽ kiến trúc (nhìn về mặt kiến trúc), bản vẽ kết cấu (nhìn về mặt kết cấu), bản vẽ thi công (nhìn về mặt thi công) Trong phần mềm cũng như vậy, Phân tích thiết kế hướng đối tượng sử dụng UML có các góc nhìn sau:
Hình 2.1 Sơ đồ cấu trúc góc nhìn View
Use Case View: cung cấp góc nhìn về các case sử dụng giúp chúng ta hiểu hệ thống có gì? ai dùng và dùng nó như thế nào
Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ chức như thế nào Bên trong nó có gì
Process View: cung cấp góc nhìn động về hệ thống, xem các thành phần trong hệ thống tương tác với nhau như thế nào
Component View: Cũng là một góc nhìn về cấu trúc giúp chúng ta hiểu cách phân bổ và sử dụng lại các thành phần trong hệ thống ra sao
Deployment View: cung cấp góc nhìn về triển khai hệ thống, nó cũng ảnh hưởng lớn đến kiến trúc hệ thống
Tập hợp các góc nhìn này sẽ giúp chúng ta hiểu rõ hệ thống cần phân tích, thiết kế Trong Hình 2.1 chúng ta thấy góc nhìn Use Case View nằm ở giữa và chi phối tất cả các góc nhìn còn lại Chính vì thế chúng ta thường thấy các tài liệu nói về 4 view + 1 chứ không phải 5 view nhằm nhấn mạnh vai trò của Use Case View
Diagram có thể dịch là sơ đồ Tuy nhiên ở đây chúng ta sử dụng từ bản vẽ cho dễ hình dung Các bản vẽ được dùng để thể hiện các góc nhìn của hệ thống
Hình 2.2 Sơ đồ bản vẽ diagram
Use Case Diagram: bản vẽ mô tả về case sử dụng của hệ thống Bản vẽ này sẽ giúp chúng ta biết được ai sử dụng hệ thống, hệ thống có những chức năng gì Lập được bản vẽ này bạn sẽ hiểu được yêu cầu của hệ thống cần xây dựng
Class Diagram: bản vẽ này mô tả cấu trúc của hệ thống, tức hệ thống được cấu tạo từ những thành phần nào Nó mô tả khía cạnh tĩnh của hệ thống
Object Diagram: Tương tự như Class Diagram nhưng nó mô tả đến đối tượng thay vì lớp (Class)
Sequence Diagarm: là bản vẽ mô tả sự tương tác của các đối tượng trong hệ thống với nhau được mô tả tuần tự các bước tương tác theo thời gian
Collaboration Diagram: tương tự như sequence Diagram nhưng nhấn mạnh về sự tương tác thay vì tuần tự theo thời gian
State Diagram: bản vẽ mô tả sự thay đổi trạng thái của một đối tượng Nó được dùng để theo dõi các đối tượng có trạng thái thay đổi nhiều trong hệ thống
Activity Diagram: bản vẽ mô tả các hoạt động của đối tượng, thường được sử dụng để hiểu về nghiệp vụ của hệ thống
Component Diagram: bản vẽ mô tả về việc bố trí các thành phần của hệ thống cũng như việc sử dụng các thành phần đó
Deployment Diagram: bản vẽ mô tả việc triển khai của hệ thống như việc kết nối, cài đặt, hiệu năng của hệ thống v.v…
Lưu ý: Ở đây chúng ta sử dụng từ hệ thống tương đương với sản phẩm phần mềm
Notations là các ký hiệu để vẽ, nó như từ vựng trong ngôn ngữ tự nhiên Bạn phải biết từ vựng thì mới ghép thành câu, thành bài được Xem ví dụ từ bảng các ký hiệu
2.5.4 Mechanisms (qui tắc, cơ chế):
Mechanisms là các qui tắc để lập nên bản vẽ, mỗi bản vẽ có qui tắc riêng và bạn phải nắm được để tạo nên các bản vẽ thiết kế đúng
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Các tác nhân của hệ thống
Bảng 3.1 Các tác nhân trong hệ thống
STT Tác nhân Ý nghĩa, nhiệm vụ của Actor
1 Tác nhân admin giữ vai trò điều hành, quản lý và theo dõi mọi hoạt động của hệ thống
2 Người dùng truy cập vào game, thực hiện các thao tác trong game như: tạo phòng, tham gia phòng, di chuyển, …
Người dùng được hỗ trợ chơi game offline và online
Các chức năng của hệ thống
Bảng 3.2 Các chức năng chính của game
STT Tên chức năng Mô tà
1 Bắt đầu và tiếp tục game Bắt đầu và tiếp tục với chế độ 3d
2 Điều khiển nhân vật 3d Bao gồm di chuyển nhân vật và xoay camera trong môi trường 3d
3 Tương tác các đối tượng Có thể tương tác các đối tượng như: cửa, chìa khóa, thư trong môi trường 3d
4 Điều khiển nhân vật 2d Di chuyển nhân vật qua trái hoặc phải
5 Chọn chế độ chơi Từ chế độ 3d, chọn chế độ chơi online hoặc offline để chuyển sang 2d
6 Tạo phòng và tham gia phòng chơi online
Sau khi chọn chế độ online, hệ thống sẽ tự động tìm phòng, nếu không tìm thấy phòng thì sẽ tự động tạo phòng mới
Biểu đồ Use – case
3.3.1 Biểu đồ use – case tồng quát:
Hình 3.1 Sơ đồ Use case
3.3.2 Biểu đồ lớp (Class Diagram):
3.3.3 Biểu đồ hoạt động (Activiti diagram):
Hình 3.3 Activity diagram - Bắt đầu game
Hình 3.4 Activity diagram - Điều khiển nhân vật
Hình 3.5 Activity diagram - Tương tác đối tượng
Hình 3.6 Activity diagram - Chọn chế độ chơi
Hình 3.7 Activity diagram - Tạo phòng
Hình 3.8 Activity diagram - Tham gia phòng chơi
Hình 3.9 Activity diagram - Điều khiển nhân vật 2D
3.3.4 Biểu đồ tuần tự (Sequence diagram):
Hình 3.10 Sequence diagram - Bắt đầu game
Hình 3.11 Sequence diagram - Điều khiển nhân vật 3D
Hình 3 12 Sequence diagram - Chọn chề độ chơi
3.3.5 Biểu đồ trạng thái (State diagram):
Hình 3.13 State diagram - Nhân vật
Hình 3.14 State diagram - Phong chơi
3.3.6 Biểu đồ thành phần (Component diagram):
3.3.7 Biểu đồ triển khai (Deployment diagram):
GIAO DIỆN GAME
Giao diện bắt đầu game
Hình 4.1 Giao diện bắt đầu game
Chọn chế độ chơi
Hình 4.2 Chọn chế độ chơi
Hình 4 6 Vượt chướng ngại vật (2D)