Tải bản đầy đủ (.docx) (37 trang)

Xây dựng game lines 98 theo hướng cấu phần

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (654.96 KB, 37 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA: CÔNG NGHỆ THÔNG TIN

PHÁT TRIỂN PHẦN MỀM THEO
CẤU PHẦN
Đề tài:
Xây dựng Game Lines 98 theo hướng cấu phần.
Giáo viên hướng dẫn: thầy Trịnh Bá Quý
NHÓM 5

1


Hà Nội, 12- 2013

2


MỤC LỤC

LỜI CẢM ƠN
Hiện nay, công nghệ thông tin được xem là một trong những ngành công nghệ
mũi nhọn được nhà nước ta ưu tiên phát triển đặc biêt là lĩnh vực công nghệ phần
mềm. Công nghệ phần mềm phát triển qua nhiều giai đoạn và từng giai đoạn luôn có
những công nghệ mới xuất hiện, giúp phát triển phần mềm thuận lợi và bền vững, một
xu thế mới xuất hiện là phát triển phần mềm theo cấu phần đang được khá ưa chuộng
hiện nay vì có nhiều ưu điểm như có khả năng sử dụng lại và thời gian phát triển ngắn.
Tuy nhiên, ngành công nghệ phần mềm ở nước ta còn khá non trẻ so với thế
giới. Nên trong giai đoạn hiện nay, các công ty phần mềm thường gặp nhiều khó khăn
liên quan đến quy trình phát triển phần mềm. Hiện nay đa số các mô hình quản lý vẫn
ở dạng truyền thống. Do đó việc thay đổi theo hướng phát triển phần mềm theo cấu


phần là một điều cần thiết.
Từ nhu cầu nói trên, chúng em đã tiến hành thực hiện đề tài “Xây dựng game
Lines 98 hướng cấu phần”. Nhằm mục đích phát triển ứng dụng game giải trí theo tư
tưởng hướng thành phần hóa.
Đây là đề tài tương đối mới, trong quá trình thực hiện và hoàn thành đề án này
chúng em đã gặp rất nhiều khó khăn, vướng mắc, nhưng với sự giúp đỡ tận tình và rất
nhiều kiến thức của môn “Phát triển phần mềm theo cấu phần” mà thầy giáo Trịnh
Bá Quý đã giảng dạy, chúng em đã hoàn thành đề tài này.
Chúng em xin chân thành cảm ơn thầy Trịnh Bá Quý đã giúp đỡ chúng em hoàn
thành được đề án, qua đây chúng em mong được sự góp ý của thầy giáo và các bạn góp
ý để đồ án có thể hoàn thiện tốt hơn.
Chúng em xin chân thành cảm ơn thầy!
Nhóm 5

3


TÓM TẮT BTL
Nội dung chính của báo cáo gồm 3 chương:
Chương 1. Cơ sở lý thuyết
 Nêu loại ứng dụng trong BTL, ngôn ngữ sử dụng, đặc điểm của kiểu ứng dụng
đó trong ngôn ngữ lập trình.
 Kiến thức tổng quát về cấu phần, cách xây dựng kiểu ứng dụng đó theo cấu
phần.
Chương 2. Phần phân tích thiết kế Game Lines 98
 Chức năng chính của chương trình, phân bố các chức năng theo các modul (cấu
phần), phân rã chức năng dựa theo các cấu phần đó.
 Phân tích thiết kế dựa vào UML.
Chương 3: Thực nghiệm và kết quả
 Nêu ngắn gọn cách xây dựng chương trình từ mã nguồn (sử dụng command line

và công cụ). Cần chỉ rõ những cấu phần đã xây dựng ra.
 Trình bày ngắn gọn kết quả đã đạt được (ảnh chụp chương trình và giải thích).

4


DANH SÁCH CÁC BẢNG – HÌNH – TỪ VIẾT TẮT

Các ký tự viết tắt trong báo cáo
Ký hiệu viết tắt
XML
SOAP
HTTP
COM
DLL
CLR
CBSE
COP
EJB
DCOM
CORBA

Từ được viết tắt
eXtensible Markup Language
Simple Object Access Protocol
Hypertext Transfer Protocol
Common Language Model
Dynamic Link Library
Common Language Runtime
Công nghệ phần mềm được cấu phần

Component Oriented Programing
Java Bean
Distributed Component Object Model
Common Object Request Broker Architecture

5


PHẦN I – MỞ ĐẦU
1. Tên đề tài
Xây dựng Game Lines 98 theo hướng cấu phần.
2. Lý do chọn đề tài
Game Line 98 là một game thuộc dạng kinh điển, thường hay gắn liền nó với giới
văn phòng. Game Lines 98 phù hợp với mọi lứa tuổi. Cách chơi game này cũng khá
đơn giản: Trong Game Line 98 bạn thực hiện di chuột sắp xếp các quả bóng một cách
hợp lý để được 5 quả cùng màu liền nhau. Khi các quả bóng con mới xuất hiện bạn có
thể di chuyển các quả bóng to khác đè lên. Việc hủy các quả bóng con với màu không
ưng ý sẽ giúp bạn thuận tiên hơn trong việc ghép chung 5 bóng cùng màu.
Trên thực tế, Game Lines 98 có rất nhiều, nhưng chức năng, giao diện còn đơn
giản. Game xây dựng theo hướng cấu phần thì hoàn toàn chưa có. Chính vì vậy, nhóm
đã quyết định xây dựng lại Game Lines 98 trên ngôn ngữ C# hướng theo cấu phần.
Điều này làm cho game dễ dàng thay đổi giao diện phù hợp với nhu cầu, sở thích của
nhiều người dùng. Thuật toán game cũng có thể được thay đổi khi người dùng muốn
chơi có thể lựa chọn mức độ chơi phù hợp.

3. Mục đích, mục tiêu
Xây dựng được ứng dụng game Lines 98 theo hướng cầu phần cho phép thay đổi
được giao diện và thuật toán.
4. Nội dung sẽ làm( chỉ rõ các mục tiêu)
+ Hiểu được cơ sở lý thuyết về cấu phần cũng như kiến thức về .NET Framework

+ Nắm rõ được cách xây dựng một chương trình theo hướng cấu phần
+ Phân tích thiết kế Game Lines 98
+ Xây dựng các thành phần cho game Lines 98.
+ Thay đổi được các thành phần đã xây dựng.
+ Chương trình chạy được với thuật toán và giao diện đã xây dựng.
5. Phương pháp thực hiện
- Các phương pháp:
+ Phương pháp trực quan
6


+ Phương pháp thu thập, nghiên cứu tài liệu
+ Phương pháp phỏng vấn trực tiếp
+ Phương pháp mô tả
+ Phương pháp lập kế hoạch
+ Phương pháp phân tích hệ thống
+ Phương pháp thiết kế
- Ngôn ngữ lập trình: C#
- Phần mềm sử dụng: Visual Studio 2012, Word, …

7


PHẦN II – NỘI DUNG
CHƯƠNG I. CƠ SỞ LÝ THUYẾT
1. 1. Cấu phần là gì?
Công nghệ phần mềm đã có những tiến bộ lớn trong 30 năm qua với nhiều công
nghệ tiên tiến phát minh và áp dụng bao gồm lập trình cấu trúc, công nghệ CASE, và
công nghệ hướng đối tượng. Tuy nhiên, phong cách thiết yếu của phát triển phần mềm
duy trì như nhau: lập trình viên viết dòng mã lệnh cho đến khi nó kết thúc. Như một

phong cách tiền công nghiệp sản xuất là yếu tố quan trọng đối với sự cạnh tranh giữa
năng suất phần cứng và năng xuất phần mềm. Cuộc cách mạng trong phát triển phần
mềm, giống như cuộc cách mạng công nghiệp cho các ngành kỹ thuật cổ điển, phải
được giới thiệu:
 Việc phát triển phần mềm một cách thủ công được thay thế bằng các phương
pháp kỹ thuật.
 Kiểu lập trình theo dòng lệnh được thay thế bằng việc phát triển theo cấu phần.
 Lập trình theo cú pháp nên được thay thế bằng lắp ráp các thành phần dựa trên
các giao diện và ngữ nghĩa của chúng.
Rõ ràng, một sự thay đổi mang tính cách mạng như vậy sẽ không xảy ra cho đến
khi chúng ta có thể khám phá có hệ thống, phương pháp tiếp cận chính thức để phát
triển phần mềm theo cấu phần.
Thành phần phần mềm được định nghĩa bằng nhiều cách khác nhau qua cái nhìn
về các điểm giống nhau và khác nhau. [Brown 1998] trình bày bốn định nghĩa về một
thành phần phần mềm, tổng kết Hội thảo quốc tế đầu tiên trên CBSE trong tháng 4 năm
1998:
 Một thành phần là không tầm thường, một phần gần như độc lập và thay thế
một hệ thống đáp ứng một chức năng rõ ràng trong bối cảnh của một kiến trúc
được xác định rõ. Một thành phần phù hợp và cung cấp việc thực hiện vật lý
của một bộ giao diện. ( Philippe Krutchen , Rational Software ).
 Một thành phần phần mềm lúc chạy là một gói phần mềm tự động ràng buộc
của một hoặc nhiều chương trình được quản lý như một đơn vị và truy cập
thông qua giao diện tài liệu có thể được truy cập tại thời gian chạy (Gartner
Group)
8


 Một thành phần phần mềm là một đơn vị kết hợp với các giao diện được quy
ước và chỉ phụ thuộc vào ngữ cảnh rõ ràng. Một thành phần phần mềm có thể
được triển khai một cách độc lập và phụ thuộc vào thành phần của bên thứ ba.

( Clemens Szyperski ).
 Một thành phần công việc đại diện cho phần mềm thực hiện một khái niệm
công việc hoặc quy trình công việc “tự trị”. Nó bao gồm những thứ phần mềm
cần thiết để thể hiện, thực hiện và triển khai các khái niệm như một yếu tố tái
sử dụng của một hệ thống công việc lớn hơn. (Wojtek Kozaczynski , SSA).
Thảo luận về định nghĩa thành phần cũng có thể được tìm thấy trong nhiều hội
nghị và ấn phẩm gần đây [ Koza năm 1999; Parrish năm 1999; Wang 2000; Yacoub
năm 1999; Fischer 2002; Fukazawa 2002] .Trong báo cáo này, chúng em sẽ sử dụng
các định nghĩa sau đây cho một thành phần mềm:
Một thành phần phần mềm là một phần của mã máy khép kín, tự triển khai với
chức năng rõ ràng và có thể được lắp ráp với các thành phần khác thông qua giao diện
của nó.
Từ định nghĩa này, một thành phần là một chương trình hoặc một bộ các chương
trình có thể được biên dịch và làm cho thực thi được. Nó là khép kín, do đó, nó cung
cấp chức năng rõ ràng. Nó tự triển khai để nó có thể được cài đặt và thực hiện trong
môi trường của người dùng cuối . Nó có thể được kết hợp với các thành phần khác để
nó có thể được tái sử dụng như một đơn vị trong các bối cảnh khác nhau . Lắp ráp là
thông qua giao diện của một thành phần, có nghĩa là việc thực hiện nội bộ của một
thành phần thường được ẩn từ người dùng.
Công nghệ thành phần tuân theo định nghĩa ở trên bao gồm JavaBeans và các
doanh nghiệp Java Beans ( EJB ) từ Sun Microsystems , COM (Component Object),
DCOM (Distributed Component Object Model) , và . NET components từ Tập đoàn
Microsoft, và CORBA (Common Object Request Broker Architecture) các thành phần
từ Object Management Group.
1. 2. Công nghệ phần mềm hướng cấu phần
COP và CBSE: công nghệ phần mềm dựa trên thành phần.CBSE là một thuật ngữ
tổng quát hơn, tham gia COP như chỉ là một phần của nó:
CBSE = COA + COD + COP + COM,
Nơi COA, COD, và COM đại diện cho phân tích thành phần theo định hướng,
thiết kế thành phần theo định hướng, quản lý và thành phần theo định hướng tương

9


ứng. CBSE hứa hẹn sẽ thúc đẩy phát triển phần mềm và để giảm chi phí bằng cách lắp
ráp các hệ thống từ các thành phần phần mềm trước khi chế tạo. Thiết kế, phát triển và
duy trì các thành phần để tái sử dụng, tuy nhiên, một quá trình rất phức tạp, đặt yêu cầu
cao không chỉ dành cho các thành phần chức năng và tính linh hoạt mà còn cho sự phát
triển tổ chức của. CBSE bao gồm nhiều phần mềm chuyên ngành kỹ thuật và kỹ thuật
khác nhau, mà vẫn chưa được xác định đầy đủ, giải thích, và khai thác một trong hai
quan điểm lý thuyết hay thực tế của xem.
Trong công nghệ phần mềm truyền thống, quá trình phát triển phần mềm bao gồm
một chuỗi các hoạt động hoặc các giai đoạn, cụ thể là phân tích, thiết kế, lập trình, thử
nghiệm và hoàn thiện. Trong CBSE, các giai đoạn phát triển chính trở thành phân tích,
thiết kế, cung cấp và lắp ráp. Điều đó cho thấy rằng, so với các chương trình truyền
thống thì việc thử nghiệm và hoàn thiện được thay thế trong CBSE bởi các bước cung
cấp thành phần và lắp ráp chúng lại với nhau.
Từ góc nhìn hướng cấu phần, có hai loại hoạt động chính trong CBSE:phát triển
“để” tái sử dụng (DF) và phát triển “với” tái sử dụng (DW). Trong DF, sự phát triển có
thể được tổ chức theo phương pháp tiếp cận công nghệ phần mềm truyền thống, với
việc tập trung vào các tiêu chuẩn thành phần. Ví dụ, mỗi thành phần cung cấp hai loại
giao diện: (1) giao diện cung cấp, trong đó định nghĩa các dịch vụ công cộng thành
phần này sẽ cung cấp và (2) giao diện yêu cầu, trong đó xác định các dịch vụ được yêu
cầu trong thành phần này để thực thi một cách chính xác nhất. Còn trong DW, thì việc
tìm kiếm thành phần phần mềm và phục hồi các thành phần có sẵn lại trở thành hoạt
động quan trọng trong việc ứng dụng xây dựng ..
Nhìn từ khía cạnh xử lý kỹ thuật thì các thành phần có thể được phân thành năm
các loại khác nhau.
-

-


Cấu phần kỹ thuật: Loại này đại diện cho các đặc điểm kỹ thuật của một đơn vị phần
mềm mô tả các hành vi của một tập các đối tượng thành phần và định nghĩa một đơn vị
thực hiện. Hành vi được định nghĩa là một tập hợp các giao diện. Một cấu phần kỹ
thuật có thể hiểu như một cấu phần thực hiện.
Cấu phần giao diện: Các hình thức giao diện trình bày một định nghĩa của một tập hợp
các hành vi có thể được cung cấp bởi một đối tượng thành phần.
Cấu phần thực hiện: Cấu phần thực hiện là một hiện thực của đặc tả thành phần, đó là
độc lập triển khai. Điều này có nghĩa nó có thể được cài đặt và thay thế độc lập cho các
thành phần khác. Nó không có nghĩa là nó độc lập với các thành phần khác - nó có thể
có nhiều phụ thuộc và không nhất thiết có nghĩa là nó là một đối tượng vật lý, chẳng
hạn như một tập tin duy nhất.
10


-

-

Cấu phần cài đặt: Các hình thức cài đặt (hoặc triển khai) là một bản sao của cấu phần
thực hiện. Một cấu phần thực hiện được triển khai và đăng ký với môi trường hoạt
động thực. Điều này cho phép các môi trường hoạt động chạy để xác định các cấu phần
cài đặt để sử dụng khi tạo một đối tượng cụ thể của thành phần hoặc khi chạy một
trong những hoạt động của nó.
Cấu phần đối tượng: Một đối tượng thành phần là một thể hiện của một thành phần
được cài đặt. Đây là một khái niệm trong thời gian chạy. Tương tự như hướng đối
tượng, một đối tượng thành phần trong COP là một đối tượng với dữ liệu riêng của
mình và một định danh, thực hiện một hành vi cụ thể. Một thành phần được cài đặt có
thể có nhiều thành phần đối tượng (trong đó yêu cầu xác định rõ ràng) hoặc một thành
phần đối tượng (có thể là tiềm ẩn).


1. 3. Tổng quan về .NET Framework
.NET framework Là một trong những công nghệ mới nhất được giới thiệu bởi
Tập đoàn Microsoft.
Phiên bản Beta đầu tiên của nó đã được phát hành vào năm 2000. .NET
framework là một nền tảng xây dựng nhanh chóng và dễ dàng hơn , triển khai và bảo
đảm chạy. Thành phần phần mềm .NET được tích hợp trong các ứng dụng cũng như để
phát triển nhanh XML Web Dịch vụ và các ứng dụng. Nó cung cấp một năng suất cao,
dựa trên thành phần, đa ngôn ngữ môi trường cho việc tích hợp các ứng dụng hiện có
với Internet để đáp ứng những thách thức của các ứng dụng mới cho việc triển khai và
hoạt động của các ứng dụng Internet quy mô.
.NET framework bao gồm một máy ảo quản trị thành phần theo định hướng mới
lập trình nền tảng cho phát triển phần mềm. Cốt lõi của khuôn khổ .NET bao gồm
XML và Simple Object Access Protocol ( SOAP ) để cung cấp dịch vụ Web qua
Internet (bởi Andy Ju An Wang và Kai Qian ISBN 0-471-64446-3 bản quyền  2005
John Wiley & Sons, Inc. 194).
Mục đích của .NET framework là để tạo điều kiện cho sự phát triển của máy màn
hình cửa sổ, và web dựa trên các dịch vụ ứng dụng trên nền tảng Windows và làm cho
họ có sẵn và không chỉ trên nền tảng Windows mà còn trên các nền tảng khác thông
qua các giao thức phổ biến như SOAP và HTTP.
Đầu tiên .NET đơn giản hoá cấu thành đặc biệt là cho Component Object Model
(COM), phân phối công nghệ COM (DCOM). Mặc dù các thành phần COM có thể tái
sử dụng như thành phần phần mềm plug- and-play trong phần mềm thành phần và ứng
11


dụng công trình xây dựng, quá trình phát triển là quá phức tạp và COM không hỗ trợ
phiên bản hiện tại (thực hiện side-by-side), mà có thể gây ra xung đột phiên bản (vấn
đề DLL).
Công nghệ .NET hỗ trợ triển khai lắp ráp thành phần cho phép nhiều phiên bản

của các thành phần cùng tên để cùng tồn tại mà không có xung đột. Công nghệ .NET
đơn giản hoá việc tạo ra và triển khai các thành phần bổ sung để đảm bảo đáng tin cậy
và khả năng mở rộng các dịch vụ được cung cấp bởi các thành phần.
Thứ hai, .NET tạo điều kiện cho sự phát triển của các thành phần được phân phối
bởi Remoting. Công nghệ kênh .NET framework hỗ trợ khả năng tương tác giữa COM
và thành phần NET. XML Web Service là một loại thành phần. Một thành phần .NET
có thể làm việc với bất kỳ thành phần COM hiện tại . Nói cách khác,.NET có thể cung
cấp dịch vụ cho các thành phần COM, và các thành phần COM cũng có thể được sử
dụng bởi bất kỳ thành phần .NET . Nó là dễ dàng hơn nhiều để phát triển các thành
phần trong .NET hơn trong COM. Web dịch vụ là một sự thay thế của công nghệ MS
DCOM cho các ứng dụng Internet được hỗ trợ bởi các giao thức XML, SOAP, và
HTTP .NET giải phóng mã hóa phát triển từ chương trình doanh nghiệp như quản lý
giao dịch thông qua doanh nghiệp dịch vụ .NET Dịch vụ Web vượt qua thiếu sự hỗ trợ
cho DCOM tường lửa và làm cho dịch vụ sẵn trên nền tảng thông qua giao thức XML
và SOAP.
.NET framework có sẵn trong .NET Framework SDK và Visual Studio.
.NET IDE SDK, cả hai đều có thể được tải về từ trang web MS .NET.
Khuôn khổ SDK là nền tảng của Visual Studio .NET và là một phần của Visual
Studio .NET khi Visual Studio được cài đặt. Khuôn khổ .NET bao gồm hai phần chính:
Common Language Runtime (CLR) và một bộ trong khuôn khổ thống nhất các thư
viện lớp cơ bản bao gồm các hình thức web ASP.NET để xây dựng các ứng dụng web,
Windows Forms để xây dựng các ứng dụng máy tính để bàn và ADO.NET để truy cập
dữ liệu SDK này bao gồm tất cả các nhu cầu của bạn để viết, xây dựng, thử nghiệm và
triển khai.
Ứng dụng .NET hỗ trợ tất cả các ngôn ngữ .NET như VB .NET , NET VC, C # ,
và những cái khác Visual .NET SDK và Studio. Có thể truy cập các dịch vụ của tất cả
các lớp trong khuôn khổ .NET nền tảng.
1. 4. Lớp thư viện trong . NET Framework

12



Lớp thư viện trong .NET Framework là một tập hợp các lớp cơ bản sử dụng lại
mà cũng bởi không gian tên tổ chức. Lớp thư viện thu thập tất cả các lớp bao gồm cả
lớp cơ sở Windows (WFC) vào một bộ thống nhất của các lớp mà là một thiết lập đơn
các lớp học. Không gian tên là giống như một gói phần mềm trong công nghệ Java và
lớp thư viện cũng giống như cấu trúc Java API. Tên miền không gian bao gồm nhiều
lớp và không gian tên phụ. Nó được triển khai như một thư viện lớp thành phần chính
nó và được tổ chức trong một hệ thống phân cấp dựa trên thành phần Hình 1.3 liệt kê
một tập hợp một phần của các thành phần trong .NET hệ thống phân cấp thư viện lớp.
Tất cả các lớp trong thư viện có thể được sử dụng bởi các lớp khác trong ngôn ngữ
khác nhau.
Không gian tên gốc trong các lớp thư viện là hệ thống tên miền không gian, trong
đó có nhiều các lớp học cơ bản như đối tượng, điều khiển, và có thể chứa không gian
tên phụ như IO, Net, Dữ liệu, Remoting, vv .Ví dụ, XML là một không gian tên phụ
của hệ thống tên miền không gian là triển khai như System.XML.dll, ADO.NET có sẵn
trong System.Data.dll tương ứng để System.Data không gian tên và các lớp giao diện
người dùng dựa trên mẫu có sẵn trong hệ thống. Windows.Forms.dll tương ứng với
không gian tem.Windows.Forms. Các nhà phát triển có thể tạo ra không gian tên tùy
chỉnh và tổ chức các lớp có liên quan trong một tùy chỉnh không gian tên. Một không
gian tên có thể được triển khai như một tập hợp các thành phần nhị phân.
Các lớp học có cùng tên có thể được đặt trong không gian tên khác nhau vì họ là
tham chiếu bởi tiền tố không gian tên khác nhau. Để sử dụng các lớp học trong một
không gian tên, một chỉ thị sử dụng <Không gian tên> trong C # hoặc tên> nhập khẩu trong VB phải được bao gồm ở phần đầu của mã. Các hệ thống được
xây dựng trong thư viện lớp cơ bản được triển khai trong tập tin mscorlib.dll.

13



CHƯƠNG II. XÂY DỰNG GAME LINES 98 HƯỚNG CẤU PHẦN

2. 1. Giới thiệu game Lines 98
2. 1. 1. Lịch sử phát triển
Lines được xếp vào một trong những game kinh điển, là game quen thuộc mà
không dân văn phòng nào không biết. Trò chơi đơn giản nhưng cũng đòi hỏi người
chơi phải có đầu óc tính toán. Được phát triển bởi Microsoft cho hệ điều hành Window
98 NT, Lines đã trở thành con sốt trong thời gian đó. Ngày nay khi nền công nghệ phát
triển mạnh, Lines đã không còn vị thế như cũ nhưng nó vẫn là một game mà người
dùng ấn tượng nhất.

14


Hình 2. 1. Giao diện Game Lines 98

2. 1. 2. Cách chơi, luật chơi
Mục tiêu là ghi càng nhiều điểm càng tốt bằng cách sắp xếp các quả bóng cùng
màu thành một đường thẳng hàng ngang, dọc hoặc hàng chéo.
Sử dụng chuột để di chuyển các quả bóng. Đầu tiên chọn quả bóng để di chuyển,
sau đó một hình vuông đích trống rỗng. Nếu vuông đích bị chiếm đóng bởi bóng khác,
bóng sẽ không thể di chuyển. Lưu ý rằng bạn có thể không luôn luôn đặt bóng mà bạn
muốn. Sau khi bạn di chuyển một quả bóng, ba quả bóng nhỏ xuất hiện thêm vào vị trí
bất kì. Bạn có thể di chuyển những quả bóng to đè lên nó hoặc đợi nó xuất hiện rồi di
chuyển hợp lý tạo nước ăn và ghi điểm cho bạn. Bạn cần phải tạo ra những đường
ngang, dọc, hoặc chéo. Số lượng tối thiểu của quả bóng là năm.
Lưu ý: nếu bóng bị bóng khác chặn đường thì không thể đi được, những ô có
bóng màu nhỏ là ô sẽ hiển thì bóng đó sau khi ta sắp 1 bóng.
2. 1. 3. Cách tính điểm
Khi xếp 5 quả cạnh nhau sẽ ghi được 5 điểm, 6 quả thì sẽ ghi được 7 điểm, số

bóng cùng màu cạnh nhau xếp thành hàng càng nhiều thì mức điểm thưởng sẽ càng
lớn…

15


2. 2. Mô hình Usecase

2. 2. 1. Sơ đồ Use-case

Hình 2. 2. Sơ đồ Use case game Lines 98

2. 2. 2. Danh sách các Actor
Tên Actor

Ý nghĩa / Ghi chú

Người chơi

Người điều khiển toàn bộ trò chơi

2. 2. 3. Danh sách các Use-case
STT
Tên Use-case
1
File
2

Game


3

Help

4
5

Hight Score
Save

6
7

Load
Sound

Ý nghĩa / Ghi chú
Use case giúp người chơi quản lý game như: Save,
Load, Sound, Exit
Use case hệ thống giúp quản lý chế độ chơi như: New,
End Game
Use case giúp người xem thông tin về game như: Rules
of the game, About.
Use case hệ thống giúp quản lý điểm của người chơi.
Use case giúp người chơi có thể lưu lại màn chơi hiện
tại.
Use case giúp người chơi tải lại lần chơi gần nhất.
Use case giúp người chơi cài đặt âm thanh game.
16



8
9
10
11
12

Exit
New
End Game
Rules of the game
About

Use case giúp người chơi thoát trò chơi.
Use case giúp người chơi tạo màn chơi mới.
Use case giúp người chơi kết thúc trò chơi.
Use case hiển thị luật chơi.
Use case hiển thị thông tin về tác giả game.

17


2. 2. 4. Đặc tả Use-case
Use-case “File”

Hình 2. 3. Sơ đồ Use case “File”



+

+
+
+

-

Tóm tắt: Use case giúp người chơi quản lý game như: Save, Load, Sound, Exit game.
Các dòng sự kiện chính:
Người chơi khởi động chương trình chọn File.
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: Save, Load, Sound, Exit.
Người chơi lựa chọn từ danh sách.
Nếu người chơi chọn Save. Dòng sự kiện A1 được thực hiện.
Nếu người chơi chọn Load. Dòng sự kiện A2 được thực hiện.
Nếu người chơi chọn Sound. Dòng sự kiện A3 được thực hiện.
Nếu người chơi chọn Exit. Dòng sự kiện A4 được thực hiện.
Các dòng sự kiện rẽ nhánh:
Luồng sự kiện A1: Hệ thống sẽ thực hiện lưu lại trạng thái hiện tại của người chơi bao
gồm điểm số, thời gian, số bóng,...
- Luồng sự kiện A2: Hệ thống sẽ bật lên cửa sổ cho người dùng chọn file đã lưu
- Luồng sự kiện A3: Hệ thống sẽ bật/tắt âm thanh trong game.
- Luồng sự kiện A4: Thoát khỏi chương trình.
 Tiền điều kiện: Yêu cầu người chơi khởi động chương trình.
18


 Hậu điều kiện: Hiển thị các lựa chọn cho người chơi.
Use-case “Game”

Hình 2. 4. Sơ đồ Use case “Game”




+
+




Tóm tắt: Use case hệ thống giúp quản lý chế độ chơi như: New, End Game
Các dòng sự kiện chính
Người chơi khởi động chương trình và chọn chơi “Game”.
Hệ thống hiển thị giao diện của trò chơi cho người chơi.
Trong quá trình chơi, người dùng có thể chọn 2 chức năng là kết thúc trò chơi “ End
game” hoặc chơi lại “new game”.
Người chơi lựa chọn 1 trong 2 chức năng
Nếu người chơi chọn New game. Dòng sự kiện A1 được thực hiện.
Nếu người chơi chọn End game. Dòng sự kiện A2 được thực hiện.
Các dòng sự kiện rẽ nhánh:
Luồng sự kiện A1: Hệ thống sẽ thực hiện load lại trò chơi trở về trạng thái
ban đầu.
Luồng sự kiện A2: Hệ thống sẽ dừng trò chơi.
Tiền điều kiện: yêu cầu người chơi khởi động chương trình
Hậu điều kiện: hiển thị giao diện trò chơi và 2 chức năng chơi lại và kết thúc trò chơi.

Use-case “Help”

19


Hình 2. 5. Sơ đồ Use case “Help”




-

Tóm tắt: Use case giúp người chơi hiểu luật chơi và thông tin bản quyền game
Các dòng sự kiện chính:
Người chơi khởi động chương trình chọn Help
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: Rules of the game, About
Người chơi lựa chọn từ danh sách.
+ Nếu người chơi chọn Rules of the Game dòng sự kiện A1 được thực hiện
+ Nếu người chơi chọn About dòng sự kiện A2 được thực hiện
 Các dòng sự kiện rẽ nhánh:
- Luồng sự kiện A1: Hệ thống sẽ bật lên cửa sổ hướng dẫn luật chơi Game Line 98 cho
người chơi biết.
- Luồng sự kiện A2: Hệ thống sẽ bật cửa sổ thông tin bản quyền game.
 Tiền điều kiện: Yêu cầu người chơi khởi động chương trình.
 Hậu điều kiện: Hiển thị các lựa chọn cho người chơi.
Use-case “Hight Score”

Hình 2. 6. Sơ đồ Use case “High Score”

 Tóm tắt: Use case hệ thống hiển thị top người chơi có điểm số cao.
 Các dòng sự kiện chính:
20







Người chơi khởi động chương trình chọn High Score.
Hệ thống hiển thị thông tin về danh sách người chơi có điểm số cao.
Các dòng sự kiện rẽ nhánh: Không có
Tiền điều kiện: Lựa chọn menu High Score
Hậu điều kiện: Hiển thị danh sách người chơi có điểm số cao.
Use-case “Save”







Tóm tắt: Use case giúp người chơi lưu lại trạng thái hiện tại của game.
Các dòng sự kiện chính:
Người chơi chọn menu File
Hệ thống hiển thị các menu con cho người chơi lựa chọn.
Người chơi chọn Save.
Hệ thống sẽ lưu lại trạng thái bàn chơi.
Các dòng sự kiện rẽ nhánh: Không có.
Tiền điều kiện: Yêu cầu người chơi nhấn vào nút “File”.
Hậu điều kiện: Màn chơi hiện tại sẽ được lưu lại.
Use-case “Load”








Tóm tắt: Use case giúp người chơi tải lại trạng thái đã lưu của game.
Các dòng sự kiện chính:
Người chơi chọn menu File
Hệ thống hiển thị các menu con cho người chơi lựa chọn.
Người chơi chọn Load.
Hệ thống sẽ load lại trạng thái bàn chơi.
Các dòng sự kiện rẽ nhánh: Không có.
Tiền điều kiện: Yêu cầu người chơi nhấn vào nút “File”.
Hậu điều kiện: Màn chơi cũ được load lại.

Use-case “Sound”


-

Tóm tắt: Use case giúp người chơi cài đặt âm thanh cho trò chơi
Các dòng sự kiện chính
Người chơi khởi động chương trình chọn File.
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: Save, Load, Sound, Exit.
Người chơi lựa chọn từ danh sách là Sound. Chương trình hiển thị lên chức năng
Tắt/bật âm thanh.
Chương trình được mở ra được mặc định là có âm thanh. Người chơi chọn tắt âm thanh
thì dòng sự kiện A1 được thực hiện.
21


-

Nếu người chơi đang chơi ở chế độ không có âm thanh mà chọn bật âm thanh thì dòng

sự kiện A2 được thực hiện.





Các dòng sự kiện rẽ nhánh:

Luồng sự kiện A1: Âm thanh của trò chơi được tắt đi.
Luồng sự kiện A2: Âm thanh của trò chơi được bật lên.
Tiền điều kiện: Yêu cầu người chơi khởi động chương trình, chọn Sound.
Hậu điều kiện: Người chơi thay đổi được âm thanh của trò chơi.
Use-case “Exit”



-

Tóm tắt: Use case giúp người chơi thoát trò chơi
Các dòng sự kiện chính
Người chơi khởi động chương trình chọn File.
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: Save, Load, Sound, Exit.
Người chơi lựa chọn từ danh sách là Exit.
Chương trình được tắt và người chơi thoát khỏi chương trình.


Các dòng sự kiện rẽ nhánh: Không có.

 Tiền điều kiện: Yêu cầu người chơi khởi động chương trình
 Hậu điều kiện: Người chơi được thoát khỏi chương trình.

Use-case “New”


-

Tóm tắt: Use case giúp người chơi tạo màn chơi mới.
Các dòng sự kiện chính
Người chơi khởi động chương trình chọn chơi Game.
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: New và End Game
Người chơi lựa chọn từ danh sách là New.
Chương trình được khởi động lại như trạng thái đã lưu trước đó.


Các dòng sự kiện rẽ nhánh: Không có.

 Tiền điều kiện: Yêu cầu người chơi khởi động chương trình
 Hậu điều kiện: Người chơi được tạo được màn chơi mới
Use-case “End game”


-

Tóm tắt: Use case giúp người chơi kết thúc trò chơi
Các dòng sự kiện chính
Người chơi khởi động chương trình chọn chơi Game.
Hệ thống sẽ hiển thị các lựa chọn cho người chơi: New và End Game
22


-


Người chơi lựa chọn từ danh sách là End Game.
Chương trình được tắt, người chơi thoát khỏi trò chơi


Các dòng sự kiện rẽ nhánh: Không có.

 Tiền điều kiện: Yêu cầu người chơi khởi động chương trình
 Hậu điều kiện: Người chơi thoát được ra khỏi trò chơi
Use-case “Rules of the game”






Tóm tắt: Use case giúp người chơi hiểu được luật chơi game.
Các dòng sự kiện chính:
Người chơi chọn menu Help
Hệ thống hiển thị các menu con cho người chơi lựa chọn.
Người chơi chọn Rules of the game.
Hệ thống sẽ bật cửa sổ hướng dẫn luật chơi.
Các dòng sự kiện rẽ nhánh: Không có.
Tiền điều kiện: Yêu cầu người chơi nhấn vào nút “Help”.
Hậu điều kiện: Cửa sổ hướng dẫn luật chơi bật ra.
Use-case “About”








Tóm tắt: Use case giúp người chơi biết được thông tin bản quyền của game của game.
Các dòng sự kiện chính:
Người chơi chọn menu Help.
Hệ thống hiển thị các menu con cho người chơi lựa chọn.
Người chơi chọn About.
Hệ thống sẽ cửa sổ thông tin bản quyền game lên.
Các dòng sự kiện rẽ nhánh: Không có.
Tiền điều kiện: Yêu cầu người chơi nhấn vào nút “Help”.
Hậu điều kiện: Cửa sổ thông tin bản quyền game hiện ra.

23


2. 3. Sơ đồ lớp

Hình 2. 7. Sơ đồ lớp

Các lớp đối tượng và quan hệ
Tên lớp/quan hệ
MainForm – SkinConstants

Loại
1 – 1..n

MainForm – Algorithm

1 - 1..n


MainForm – LineMediaPlayer

1 – 1..n

MainForm – HighScore
MainForm - SaveAndLoad
MainForm – AppearenceThread
MainForm – DestructionThread
MainForm – JumpThread
MainForm – TimeThread
MainForm – MoveThread
SaveAndLoad – GameShape
PlayList – Player

1-1
1–1
1–1
Kế thừa
Kế thừa

24

Ý nghĩa/ghi chú
Game có một hoặc nhiều giao diện.
Game chứa một hoặc nhiều quy định
luật chơi.
Game chứa một hoặc nhiều âm
thanh.
Game chứa một danh sách điểm cao.

Game chứa một file lưu game.
Game được xây dựng từ một cách
hiển thị thời gian, di chuyển bóng,
phá hủy bóng và Animation của
bóng.


2. 4. Mô hình trạng thái
Lớp Ball:
- Sơ đồ trạng thái:

Hình 2. 8. Sơ đồ hoạt động của “Bi”

- Danh sách trạng thái và sự kiện:
STT
1
2

Trạng Thái
Kiểm tra tồn tại.
Kiểm tra thẳng hàng

Ý Nghĩa
Kiểm tra ô trống hay không.
Kiểm tra các viên bi cùng màu có sắp xếp
thẳng hàng.

25

Xử Lý

Phá hủy nếu
đúng.

Ghi Chú


×